ID.nl logo
Arduino Nano RP2040 Connect review - Ontwikkelbordje voor IoT
© PXimport
Huis

Arduino Nano RP2040 Connect review - Ontwikkelbordje voor IoT

De Arduino Nano RP2040 Connect is een krachtig microcontrollerbordje met wifi en bluetooth low energy, gebaseerd op de RP2040-microcontroller van de Raspberry Pi Foundation. Het bordje programmeren doe je in het Arduino-ecosysteem of met CircuitPython of MicroPython. Voor deze Arduino Nano RP2040 Connect review gingen we ermee aan de slag.

De Arduino Nano RP2040 Connect kost 29 euro en is het eerste microcontrollerbordje met de door de Raspberry Pi zelf ontwikkelde microchip RP2040. Deze vormt het hart van de eerder dit jaar geïntroduceerde Raspberry Pi Pico. Maar de chip bevat geen wifi of bluetooth, en de Raspberry Pi Pico is dan ook een ontwikkelbordje dat je kunt vergelijken met een klassieke Arduino van voor de tijd dat IoT doorbrak.

De makers van de Arduino hebben nu een eigen bordje rond de RP2040 gebouwd en daar een u-blox NINA-W102 wifi- en bluetooth-radiomodule aan toegevoegd: de Arduino Nano RP2040 Connect. Er zit ook een bewegingssensor in, een microfoon en een RGB-led.

En natuurlijk heb je nog altijd toegang tot vele gpio-pinnen, waardoor je er allerlei externe componenten op kunt aansluiten. Het bordje heeft het Arduino Nano-formaat en is dus relatief smal, waardoor er op een standaard breadboard aan de ene kant nog twee en aan de andere kant zelfs drie rijen plaats is.

Compatible met Arduino IDE

Uiteraard ondersteunt de Arduino IDE het nieuwe bordje. We probeerden dit uit in versie 2.0 bèta 7. Je dient eerst de Arduino Mbed OS Nano Boards-core te installeren. Het is wel te zien dat het bordje nog nieuw is, want niet alle documentatie is compleet. Aanvankelijk slaagden we er niet in om een sketch naar de Arduino Nano RP2040 Connect te uploaden, omdat de IDE het bordje niet detecteerde.

Na wat zoekwerk ontdekten we op het Arduino-forum dat je eenmalig een script moet uitvoeren. 

Onder Windows is dat:

%APPDATA%\Arduino15\packages\arduino\hardware\mbed_nano\2.1.0\post_install.bat

Onder Linux:

~/.arduino15/packages/arduino/hardware/mbed_nano/2.1.0/post_install.sh

En onder macOS:

~/Library/Arduino15/packages/arduino/hardware/mbed_nano/2.1.0/post_install.sh

Nadat we dat uitgevoerd hadden, lukte het uploaden wel.

Uf2-bootloader

Net zoals de Raspberry Pi Pico heeft de Arduino Nano RP2040 Connect een bootloader in het ROM van de RP2040 die uf2-images (USB Flashing Format) voor firmware ondersteunt. Dat is ook de reden waarom je tijdens het uploaden van je code in de Arduino IDE enkele seconden het apparaatje zich als een opslagapparaat ziet aankoppelen. Na het uploaden ontkoppelt het opslagapparaat zich weer.

Uf2 is een handige en veilige manier om firmware naar de Arduino Nano RP2040 Connect te schrijven zonder dat je daarvoor ontwikkeltools zoals de Arduino IDE nodig hebt. Koppel daarvoor de usb-aansluiting van het bordje af, verbind de GND- en REC-pinnen (onder het Arduino-logo aan de onderkant van het bordje) met een jumperdraad en verbind je bordje weer via usb met je computer.

De interne opslag wordt nu aangekoppeld. Dat werkt zowel onder Windows als Linux en macOS. Verwijder de jumperdraad. Je kunt nu eenvoudigweg een uf2-bestand naar de aangekoppelde opslag slepen, waarna de firmware wordt geïnstalleerd. Op deze manier kun je de uf2-versie van een Arduino-sketch uploaden, maar ook images van bijvoorbeeld MicroPython of CircuitPython.

©PXimport

Arduino IoT Cloud

Arduino focust zich met dit nieuwe bordje op IoT, en uiteraard is de integratie met de Arduino IoT Cloud dan ook belangrijk. We creëerden daarom in deze clouddienst van de Arduino-makers een Thing, en daar werd het bordje onmiddellijk gedetecteerd. Na het te selecteren als apparaat, schreef Arduino IoT Cloud de juiste firmware naar het bordje om veilig met de clouddienst te kunnen communiceren.

Daarna definieerden we in de Arduino IoT Cloud variabelen en voegden aan de aangemaakte sketch code toe om de bewegingssensor uit te lezen en de led aan te sturen. Nadat we deze sketch succesvol hadden geüpload, konden we ook boodschappen op de seriële monitor bekijken. Dit allemaal werkte heel eenvoudig in de webbrowser.

Arduino Nano RP2040 Connect specificaties

  • Processor: dual-core ARM Cortex-M0+ 133 MHz
  • Werkgeheugen: 264 KB SRAM
  • Flashgeheugen: 16 MB
  • Wifi: 802.11b/g/n
  • Bluetooth: BLE 4.2
  • GPIO’s: 22 (20 met PWM en 8 analoge)
  • Usb: micro-usb
  • Secure element: ATECC608A-MAHDA-T Crypto IC
  • Bewegingssensor: LSM6DSOXTR (6-assige IMU)
  • Microfoon: MP34DT05
  • Afmetingen: 18 x 45 mm
  • Gewicht: 6 g

Arduino-bibliotheken

De hardware van het bordje wordt goed ondersteund door allerlei Arduino-bibliotheken. Met de bibliotheek SM6DSOX kun je de bewegingssensor uitlezen, zowel de accelerometer voor de positie of beweging van het bordje als de gyroscoop waarmee je rotaties detecteert. De mems-microfoon lees je uit met de bibliotheek PDM, die automatisch wordt geïnstalleerd met de Arduino Mbed OS Nano Boards-core.

Voor wifi maak je gebruik van de bibliotheek WiFiNINA en voor bluetooth low energy van ArduinoBLE. Dit zijn allemaal bibliotheken die ook andere Arduino-bordjes met de juiste hardware ondersteunen, dus veel van je programmeerkennis van andere Arduino-bordjes kun je hergebruiken voor de Arduino Nano RP2040 Connect. Uiteraard zijn ook standaardbibliotheken zoals SPI, Wire (voor I²C) en Serial (voor UART) ondersteund, zodat je allerlei externe componenten op je bordje kunt aansluiten.

©PXimport

MicroPython en CircuitPython

Je kunt de Arduino Nano RP2040 Connect ook beschouwen als een Raspberry Pi Pico met extra hardware, en dan is MicroPython een populaire optie. Op het moment van schrijven is er helaas nog geen officieel MicroPython-image voor het bordje, maar wel een van het daarvan afgeleide CircuitPython.

We installeerden CircuitPython 6.3.0 op het bordje, en daarna koppelde zich een opslagapparaat met de naam CIRCUITPY aan, waarin het bestand code.py te vinden is met een programma dat “Hello world” toont. We startten daarna de Python-editor Mu in de CircuitPython-modus. Een eenvoudig CircuitPython-script dat de ingebouwde led doet knipperen konden we gewoon in code.py op het opslagapparaat opslaan, waarna de led van de Arduino Nano RP2040 Connect begon te knipperen.

CircuitPython ondersteunt ook de Programmable IO’s (PIO) van de RP2040, een subsysteem waarmee je kleine programma’s kunt schrijven voor snelle dataoverdracht. Na het kopiëren van de bibliotheek adafruit_pioasm.mpy van de Adafruit CircuitPython-bundel met bibliotheken naar de directory lib in het opslagapparaat, konden we Adafruits tutorial over RP2040 PIO met CircuitPython op het bordje uitvoeren om de ingebouwde led aan te sturen. Iets gelijkaardigs kun je ook voor NeoPixels doen.

Al met al is de Arduino Nano RP2040 Connect dus een veelzijdig ontwikkelbordje voor IoT-toepassingen. Met dank aan Elektronicavoorjou.nl voor het beschikbaar stellen van een review-exemplaar!

Fantastisch
Conclusie

Plus- en minpunten
  • Arduino-ecosysteem
  • Uitgebreide tutorials
  • CircuitPython met PIO
  • Onvolledige documentatie
  • Geen officiële MicroPython
  • Prijs
▼ Volgende artikel
Hoe betrouwbaar zijn weer- en regenapps eigenlijk?
© Kaspars Grinvalds
Huis

Hoe betrouwbaar zijn weer- en regenapps eigenlijk?

Wel of niet een terrasje pakken? Jas mee of hoeft dat niet? Vanavond de BBQ aan of toch maar binnen de airfryer? Even snel de weerapp checken is inmiddels een automatisme geworden. Vooral in de zomer bekijken we massaal de regenradar. Maar hoe betrouwbaar zijn die voorspellingen eigenlijk? Waarom kloppen ze soms tot op de minuut, en lijken ze op andere momenten nergens op? En kun je erop vertrouwen als je je planning erop afstemt?

☀️⛅☔ In dit artikel lees je:

• Hoe weerapps aan hun data komen • Waarom voorspellingen soms wel, en soms niet kloppen • Hoe je een weerapp zo goed mogelijk interpreteert • Waarom het weer (vooral lokaal!) toch altijd blijft verrassen

Lees ook: De handigste apps voor een onvergetelijke zomer

Van meting tot melding: hoe een app aan zijn data komt

Weerapps maken geen eigen voorspellingen, maar gebruiken data van meteorologische instituten zoals het KNMI, ECMWF (European Centre for Medium-Range Weather Forecasts) of het Amerikaanse NOAA (National Oceanic and Atmospheric Administration). Die instellingen verwerken gigantische hoeveelheden informatie uit weerstations, satellieten, vliegtuigen, weerballonnen en radars. Op basis daarvan draaien ze computermodellen die het weer proberen te voorspellen. Zo'n model analyseert bijvoorbeeld hoe luchtdruksystemen zich bewegen, hoe windrichtingen veranderen en wat de temperatuurverschillen zijn in verschillende lagen van de atmosfeer.

Een weerapp kiest één of meer van die modellen als basis en combineert dat met eigen algoritmes en visualisaties. De bekende buienradars gaan nog een stap verder en laten regen zien die al is gevallen of onderweg is. Daarvoor gebruiken ze gegevens van neerslagradars, die elk kwartier of zelfs elke vijf minuten een nieuwe 'foto' maken van waar regenbuien zich bevinden en hoe die zich verplaatsen.

Waarom voorspellingen wél en soms juist níet kloppen

In grote lijnen zijn de verwachtingen van weerapps vaak behoorlijk accuraat, zeker als het om de eerstkomende uren gaat. Hoe dichter je bij het moment zit, hoe betrouwbaarder de voorspelling. Dat komt omdat het weer zich op korte termijn minder grillig gedraagt dan op langere termijn. Je kunt een bui redelijk goed volgen over een tijdsbestek van een uur of twee, maar het is veel lastiger om drie dagen vooruit exact te zeggen wanneer en waar die bui valt.

Vooral bij regenval in de zomer zit daar vaak de grootste afwijking. Zomerse buien ontstaan door opwarming van de lucht en ontwikkelen zich snel en lokaal. Op het ene moment lijkt er nog niets aan de hand, en tien minuten later valt er een wolkbreuk in één wijk, terwijl een paar straten verderop de stoep droog blijft. Dat maakt het haast onmogelijk om op straatniveau precies te voorspellen waar het gaat regenen.

Daarnaast hangt veel af van welk weermodel de app gebruikt. Het Europese ECMWF-model wordt wereldwijd gezien als zeer nauwkeurig, maar is ook duur om te gebruiken. Sommige apps kiezen daarom voor Amerikaanse modellen of zelfs simpelere versies om kosten te besparen. Dat maakt de ene app betrouwbaarder dan de andere, ook al lijken ze qua uiterlijk op elkaar.

©ID.nl

De weerapp goed interpreteren

Wie slim omgaat met weerapps, kan er veel profijt van hebben. Kijk niet alleen naar het icoontje van een zon of wolk, maar naar de verwachte neerslag in millimeters en het tijdstip daarvan. Bekijk ook de regenradar in beweging en niet als stilstaand beeld: je ziet dan hoe snel een bui zich verplaatst en of je die kunt ontwijken.

Veel apps geven tegenwoordig ook aan hoe 'zeker' een voorspelling is. Staat er bijvoorbeeld 40% kans op regen? Dan betekent dat: op 4 van de 10 vergelijkbare dagen in het verleden viel er daadwerkelijk neerslag. Het is geen gokje, maar een inschatting op basis van modelberekeningen. En hoe hoger dat percentage, hoe groter de kans dat het ook echt nat wordt.

Waarom het weer (vooral lokaal!) blijft verrassen

Ondanks alle technologie blijft het weer een natuurverschijnsel met een eigen wil. Geen enkel model is feilloos. Kleine veranderingen in luchtdruk of windrichting kunnen grote gevolgen hebben, zeker in een land als Nederland waar zee, rivieren en open vlaktes allemaal invloed uitoefenen. Dat verklaart waarom het soms ineens hard begint te regenen terwijl je app nog droog weer beloofde – of andersom.

Toch is de betrouwbaarheid van de meeste apps de afgelopen jaren sterk toegenomen. Snellere computers, betere satellietbeelden en geavanceerdere modellen zorgen ervoor dat de inschattingen steeds dichter bij de werkelijkheid komen. Maar honderd procent garantie biedt geen enkele app, en dat is misschien maar goed ook: want we moeten natuurlijk wel íéts hebben om over te klagen, toch?

Regen én harde wind?

Kijk voor stormparaplu's

▼ Volgende artikel
10 tips om meer uit je robotstofzuiger te halen
© Mustafa_Art
Huis

10 tips om meer uit je robotstofzuiger te halen

Een robotstofzuiger scheelt flink wat werk, maar alleen als je hem goed gebruikt. Wie er net een in huis heeft, merkt al snel dat hij niet alles vanzelf doet. En ook als je al langer een robotstofzuiger gebruikt, valt er vaak nog winst te halen. Met deze tien praktische tips werkt je robotstofzuiger beter – en hoef jij minder te doen!

In het kort

Een robotstofzuiger kan je flink wat werk uit handen nemen, maar alleen als je hem goed gebruikt. Met deze 10 slimme tips werkt hij beter, blijft hij langer mee gaan en past hij zich aan jouw huishouden aan. Van zones instellen tot onderhoud: zo maak je er écht een huishoudhulp van.

Lees ook: Hier moet je op letten wanneer je een robotstofzuiger wilt kopen

1. Laat hem eerst je huis leren kennen

Veel robotstofzuigers kunnen een plattegrond van je woning maken. Dat kost eenmalig wat tijd, maar levert daarna veel gemak op. Tijdens zo'n verkenningsronde reinigt hij meestal nog niet, maar scant hij alleen. Geef hem de ruimte en zorg dat er geen spullen over de vloer slingeren. Als de kaart eenmaal is aangemaakt, kun je zones instellen, schoonmaakschema's maken en no-go-gebieden markeren.

2. Zorg voor voldoende licht

Robotstofzuigers met optische sensoren hebben licht nodig om goed te navigeren. Als je hem 's avonds laat rijden terwijl de lampen uit zijn, herkent hij obstakels minder goed. Plan het schoonmaken liever overdag of laat een lamp aan in de ruimte waar hij aan het werk is. Als het apparaat regelmatig moeite heeft om meubels of muren goed te herkennen, komt dat mogelijk door te weinig licht.

Licht, laser & optische sensoren

De lichtbehoefte van robotstofzuigers verschilt sterk per navigatiesysteem. Modellen met LiDAR-technologie (lasernavigatie) werken uitstekend in het donker omdat ze zelf licht uitstralen om obstakels te detecteren. Camera-gebaseerde robots daarentegen zijn afhankelijk van omgevingslicht om hun omgeving te kunnen 'zien' en hebben problemen in donkere ruimtes. Goedkopere modellen met alleen infrarood- of aanrakingssensoren navigeren weliswaar zonder licht, maar werken veel minder nauwkeurig en rijden vaker tegen obstakels aan.

3. Stel schoonmaakzones en kamers in

In de app van de meeste modellen kun je na de kaartopbouw aangeven welke kamers of delen van het huis wanneer moeten worden schoongemaakt. Dat is handig als je bijvoorbeeld elke ochtend de gang en keuken wilt laten doen, maar de slaapkamers alleen op zaterdag. Door het schoonmaken slim te verdelen, werkt de robotstofzuiger efficiënter en hoeft hij tussendoor minder vaak op te laden.

©Wesley Akkerman | ID.nl

4. Gebruik virtuele afbakeningen waar nodig

Veel modellen bieden de mogelijkheid om virtuele grenzen aan te maken: gebieden waar de robotstofzuiger niet mag komen. Denk aan een speelkleed met speelgoed, een losse kabel achter de bank of een plek waar de vloer nat kan zijn. In plaats van zo'n verboden plek elke keer handmatig af te schermen, door er bijvoorbeeld iets voor te zetten, stel je die zones gewoon één keer digitaal in. Het apparaat houdt daar vanaf dan automatisch rekening mee en weet dat hij daar niet meer mag komen.

5. Dweilen? Wees voorzichtig met schoonmaakmiddelen

Kan jouw robotstofzuiger ook dweilen? Gebruik dan alleen het aanbevolen reinigingsmiddel of gewoon water. Veel gewone schoonmaakmiddelen zijn te sterk of laten resten achter, waardoor leidingen of sproeiers kunnen verstoppen. Sommige robotstofzuigers hebben een speciaal reservoir voor schoonmaakmiddel, maar dat geldt niet voor elk model. Iets om naar te kijken voordat je een robotstofzuiger gaat kopen.

6. Maak borstels, wieltjes en sensoren regelmatig schoon

Haren, stof en vuil hopen zich snel op rond de draaiende onderdelen van de robotzuiger. Vooral huisdierharen kunnen oor problemen zorgen. Maak elke week de hoofdborstel los, controleer de zijborstels en veeg vuil weg met een droge doek of meegeleverd hulpstuk. Vergeet ook de val- en navigatiesensoren niet: die kunnen door stof minder goed functioneren, wat de navigatie beïnvloedt.

©Vershinin Evgenii

7. Leeg het stofreservoir af en toe ook zelf

Veel robotstofzuigers hebben een zelflegende functie. Handig, maar ook dan is het slim om af en toe zelf te controleren of alles goed blijft werken. Het stofreservoir is meestal klein en raakt sneller verstopt dan je denkt. Leeg het na een paar schoonmaakbeurten, zeker als je merkt dat hij minder vuil opzuigt of als hij zelf aangeeft dat het reservoir leeg is, maar je toch nog stof en kruimels op de vloer ziet liggen.

8. Zet het laadstation op een vaste plek

Een robotstofzuiger onthoudt zijn omgeving en zoekt na elke beurt zijn laadstation op. Verplaats je dat station naar een andere plek, dan moet hij opnieuw leren waar hij zich bevindt. Zet het station dus op een centrale, bereikbare plek waar voldoende ruimte is en laat het daar staan. Zo voorkom je dat hij de weg kwijt raakt of fouten maakt bij het navigeren.

9. Pas op bij huisdieren

Een ongelukje van een huisdier kan vervelende gevolgen hebben als de stofzuiger erdoorheen rijdt. Laat hem daarom liever schoonmaken op momenten dat je huisdieren buiten zijn of je zeker weet dat de vloer schoon is. Zo voorkom je niet alleen vieze sporen, maar ook schade aan het apparaat en extra schoonmaakwerk achteraf.

©Надія Коваль - stock.adobe.com

10. Automatiseer waar het kan, maar houd controle

Robotstofzuigers zijn bedoeld om werk uit handen te nemen. Toch blijft het verstandig om regelmatig de app te openen, meldingen te controleren en updates uit te voeren. Soms kun je met een kleine aanpassing – zoals het verplaatsen van een kabel, het instellen van een extra schoonmaakbeurt op vrijdag – het resultaat flink verbeteren.

Robotstofzuiger klaar? Zuigen maar!

Het is simpel: hoe beter je robotstofzuiger weet wat hij moet doen, hoe beter hij zijn werk doet. Met deze tips zorg je ervoor dat dat het geval is. En ja, je moet zelf ook af en toe nog wat doen, zoals het stofreservoir controleren of dierenhaar uit de wieltjes te peuteren, maar dat kost hooguit een paar minuutjes van je tijd. Want je weet nu hoe je ervoor zorgt dat de omstandigheden zo goed mogelijk zijn én hoe je hem 'traint'. En daarmee komt hij dicht in de buurt van je ideale huishoudhulp!


🤖 🧹 Accessoires voor je robotstofzuiger?

Je vindt ze