Ik speel al een tijdje met een Raspberry Pi Pico board. Sommige mensen zeggen dat het een Arduino Nano board is met MicroPython. Dit is natuurlijk een understatement, want de Pico is veel meer dan dat. Hij kan ook geprogrammeerd worden met de Arduino IDE.

Terwijl ik met de Pico speelde, landde de SB Components Pico LoRa Expansion met al zijn pracht en praal op mijn bureau. De glanzende SMA-connector met het LoRa-module, het level shifter IC samen met een USB-to-UART chip en een klein 1,14" kleuren TFT-display geven het board een zeer elegant uitzien.

Krachtiger met lager verbruik

De LoRa-module is een E22-900T22S van EByte. Dit is een draadloos serieel interface (UART) gebaseerd op de nieuwe generatie Semtech SX1262 chip. De module kan een zendvermogen leveren van maximaal 22 dBm (158 mW) in de 850,125 MHz tot 930,125 MHz ISM-band (). Dit zou goed moeten zijn voor een bereik tot 5 km (line-of-sight, LoS). De module maakt gebruik van LoRa spread spectrum technologie en heeft een groter bereik dan de populaire SX1278 terwijl hij minder stroom verbruikt.

De twee bedrijfsmodi van de SB Components Pico LoRa-Expansion

De LoRa-module op het Pico LoRa Expansion Board kan worden aangesloten op een USB-poort of op het Pico-board door twee jumpers (Device Selection) te zetten. Een andere set jumpers (Mode Selection) bepaalt de werkmodus van de LoRa-module.

Het activeren van het board is eenvoudig. Sluit de USB-kabel aan en start dan een seriële terminal, zelfs de Serial Monitor van de Arduino IDE werkt. Stel de snelheid in op 9600 baud (8N1), schrijf iets en verstuur het. Het knipperen van de onboard Tx en Rx LEDs geeft aan dat de data worden verzonden.

 
pico lora expansion board with antenna
Aan de slag gaan met de SB Components Raspberry Pi Pico LoRa Expansion is eenvoudig.

Een klein programma is vooraf in de Pico geladen om de data van het afgelegen LoRa-station op het TFT-scherm weer te geven. Om dit te laten werken moeten de Device Selection jumpers worden omgezet naar Pico en moeten zowel M0 als M1 worden kortgesloten naar GND.

Online hulpmiddelen

Hoe het TFT-scherm en de LoRa-module op de Pico aangesloten moet worden, wordt beschreven op de Wiki pagina van het board’s . Daar vind je ook informatie over hoe je aan de slag kunt gaan, samen met een link naar de database op GitHub. De database bevat twee Python demoscripts en een Windows-hulpprogramma om de LoRa-module te configureren. Dit programma kan ook worden gebruikt voor het verzenden en ontvangen van informatie in USB-modus.

USB LoRa heeft drie programmeerpinnen: Aux, M0 en M1. Terwijl Aux normaal wordt aangesloten op 3,3 V, maken de M0- en M1-pinnen verschillende opties mogelijk om de LoRa-module te bedienen. Tenzij je een redelijk idee hebt van deze pinnen, is het gebruik van de module in deze modus op de effectiefste manier een beetje moeilijk. Enkele gebruikelijke instellingen voor bijvoorbeeld een-op-een LoRa-communicatie zijn dezelfde kanaalfrequentie, communicatiesnelheden en een 4-byte ID voor de verschillende LoRa-modules. Om dit te bereiken moet men de LoRa-module eerst in programmeermodus zetten (M0 kortgesloten, M1 open). Standaard staat de module in broadcast-modus.
 
pico lora expansion board jumpers
Twee sets jumpers maken configuratie van het LoRa-uitbreidingsboard mogelijk.

Samenvatting

De Raspberry Pi Pico LoRa Expansion biedt een leuke mogelijkheid om aan de slag te gaan met LoRa, MicroPython en de Raspberry Pi Pico. Met zijn afmetingen van 90 mm bij 60 mm is hij echter nogal groot voor zo weinig functionaliteit. Het TTGO LoRa32-board met OLED-scherm is bijvoorbeeld veel kleiner, biedt meer functionaliteit en kost minder.

Toch zal het feit dat de Raspberry Pi Pico in MicroPython kan worden geprogrammeerd veel potentiële gebruikers aanspreken. Het TFT-kleurenscherm aan boord is een grote aanwinst, omdat het de weergave van ontvangen gegevens en andere informatie vergemakkelijkt. De GPIO-pinnen van de Pico zijn gemakkelijk toegankelijk op het bord.

N.B. Er bestaat ook een 433-MHz versie van de SB Components Raspberry Pi Pico LoRa Expansion.