ID.nl logo
Arduino Nano RP2040 Connect review - Ontwikkelbordje voor IoT
© Reshift Digital
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
Plus- en minpunten
  • Arduino-ecosysteem
  • Uitgebreide tutorials
  • CircuitPython met PIO
  • Onvolledige documentatie
  • Geen officiële MicroPython
  • Prijs
▼ Volgende artikel
Accupaniek: met deze aanpassingen haal je wél het einde van de dag
© Yuliia
Huis

Accupaniek: met deze aanpassingen haal je wél het einde van de dag

Je laptopaccu lijkt altijd leeg te zijn op het moment dat er nergens een stopcontact te bekennen is. Met de juiste software-instellingen pers je echter makkelijk een uur extra uit je apparaat, zonder dat je daarvoor technisch onderlegd hoeft te zijn. Wij leggen uit aan welke knoppen je precies moet draaien voor maximaal resultaat.

Er is weinig irritanter dan een laptop die in de spaarstand schiet of uitvalt terwijl je in de trein net de laatste hand legt aan een belangrijk document. Veel gebruikers denken bij een snel leeglopende batterij direct dat de hardware versleten is en kijken alweer naar een nieuwe laptop. Vaak is de accu zelf echter nog prima in orde, maar gaat het besturingssysteem slordig om met de beschikbare energie. Fabrieksinstellingen zijn namelijk vaak gericht op maximale prestaties en helderheid, niet op uithoudingsvermogen. In dit artikel leer je hoe je de regie terugpakt en de energievreters in toom houdt, zodat je met een gerust hart de dag doorkomt.

Waar die energie eigenlijk naartoe lekt

Om te begrijpen hoe je accucapaciteit bespaart, moet je eerst weten waar de energie aan opgaat. De twee grootste verbruikers in een laptop zijn vrijwel altijd het beeldscherm en de processor. Het scherm vreet stroom om pixels te verlichten; hoe feller het scherm, hoe sneller de teller tikt. Daarnaast speelt de verversingssnelheid een rol. Veel moderne schermen verversen het beeld 120 keer per seconde (120 Hz). Dat kijkt heel rustig, maar kost aanzienlijk meer rekenkracht dan de standaard 60 Hz.

Onder de motorkap is de processor continu bezig met het verwerken van taken. Een veelvoorkomende misvatting is dat je handmatig alle programma's moet afsluiten om stroom te besparen. Dat is maar ten dele waar, want moderne systemen zijn heel goed in het bevriezen van apps die je niet gebruikt. Wat wél energie kost, zijn achtergrondprocessen die actief blijven synchroniseren, zoals cloudopslagdiensten of mailprogramma's die elke minuut checken op nieuwe berichten. Ook randapparatuur die stroom trekt via de usb-poort, zelfs als je deze niet actief gebruikt, snoept procenten van je lading af.

Besparen tijdens eenvoudige taken

De energiebesparende modus is je beste vriend wanneer je taken uitvoert die weinig rekenkracht vereisen. Denk hierbij aan tekstverwerken, e-mailen, webbrowsen of het invullen van spreadsheets. In deze scenario's heb je de volledige kracht van je processor en videokaart simpelweg niet nodig. Door in Windows of macOS te kiezen voor de energiebesparende modus, klokt de processor zichzelf terug. Hij werkt dan letterlijk iets langzamer, maar voor administratieve taken merk je daar in de praktijk niets van. De letters verschijnen nog steeds direct op je scherm zodra je ze typt.

Daarnaast is dit het moment om eens kritisch naar je schermhelderheid te kijken. Binnenshuis is een helderheid van 50 tot 60 procent vaak meer dan voldoende om comfortabel te kunnen werken. Werk je vooral 's avonds? Dan kan het zelfs nog lager. Ook het uitschakelen van toetsenbordverlichting levert in deze context pure winst op. Het zijn kleine percentages per uur, maar op een hele werkdag maakt dit het verschil tussen wel of niet de oplader moeten pakken.

©PXimport

Prestaties boven accuduur

Er zijn momenten waarop je de batterijbesparingsinstellingen beter uit kunt laten, of zelfs agressief moet vermijden. Zodra je aan de slag gaat met zware grafische taken, zoals videobewerking, 3D-rendering of serieuze gaming, werkt een besparingsmodus averechts. De software knijpt de toevoer van stroom naar de componenten af, wat resulteert in een haperend beeld, trage exporttijden en een frustrerende gebruikservaring.

In deze gevallen heeft de hardware ademruimte nodig om te kunnen presteren. Als je probeert te gamen op een besparingsstand, zal het systeem de prestaties van de grafische chip zo ver terugschroeven dat het spel onspeelbaar wordt. Bovendien duurt het renderen van een video in spaarstand veel langer, waardoor het scherm en de schijf langer actief moeten blijven, wat onderaan de streep soms zelfs méér energie kost dan een korte piekbelasting op vol vermogen. Hier geldt: efficiëntie door snelheid is soms zuiniger dan traagheid.

Situaties waarin instellingen het niet meer redden

Hoewel je met software veel kunt optimaliseren, zijn er harde grenzen waarbij geen enkele instelling je meer gaat redden. Je moet realistisch zijn over de fysieke staat van je apparaat.

Ten eerste is er de chemische degradatie. Als de maximale capaciteit van je accu (ook wel battery health geheten) onder de 70 procent is gezakt, kun je instellen wat je wilt, maar de rek is er fysiek uit. De batterijcellen kunnen de lading simpelweg niet meer vasthouden. Ten tweede is oververhitting een doodsteek voor je accuduur. Als de ventilatoren van je laptop continu staan te loeien omdat de koelkanalen vol stof zitten, kost dat enorm veel energie. Warmte is in feite verspilde energie. Tot slot helpt software niet als je zware externe apparaten zonder eigen voeding aansluit. Een externe harde schijf die zijn stroom via de laptop krijgt, trekt de accu leeg alsof het een rietje in een pakje sap is, ongeacht je schermhelderheid.

Creëer je eigen energieprofiel

Om echt grip te krijgen op je verbruik, moet je de instellingen afstemmen op jouw specifieke gedrag. Begin met de slaapstand-instellingen. Veel mensen laten hun laptop openstaan als ze even koffie gaan halen, waarbij het scherm zomaar tien minuten op volle sterkte blijft branden. Stel in dat het scherm al na twee of drie minuten inactiviteit uitgaat. Dat is de makkelijkste winst die je kunt boeken.

Kijk ook naar je randapparatuur. Gebruik je een externe monitor? Zorg dan dat je laptop zo is ingesteld dat het interne scherm volledig uitschakelt, en niet 'zwart maar aan' blijft staan. Gebruik je veel bluetooth-apparaten? Schakel bluetooth uit als je ze niet gebruikt; het constant scannen naar verbindingen kost stroom. Voor gebruikers met een oledscherm is er nog een extra truc: gebruik een donkere modus. Bij oledschermen verbruiken zwarte pixels namelijk helemaal geen energie, in tegenstelling tot traditionele lcd-schermen waar de achtergrondverlichting altijd aan staat.

Balans tussen snelheid en stopcontact

Het verlengen van je accuduur is uiteindelijk een balansspel tussen comfort en noodzaak. De grootste winst behaal je door de schermhelderheid te temperen en de slaapstand agressiever in te stellen, zodat je geen energie verspilt in de pauzes. Wees niet bang om de energiebesparingsmodus standaard aan te zetten voor alledaags werk; de moderne processors zijn krachtig genoeg om dat zonder haperingen op te vangen. Pas als je merkt dat je laptop traag reageert bij zwaardere taken, is het tijd om de teugels weer iets te laten vieren. Zo bepaal jij hoelang de werkdag duurt, en niet je batterij.

▼ Volgende artikel
Super Mario-medley wint een Grammy
Huis

Super Mario-medley wint een Grammy

Een medley gebaseerd op soundtracks uit Super Mario-games van het Jazzorkest 8-Bit Big Band heeft afgelopen zondagnacht een Grammy gewonnen.

De medley ‘Super Mario Praise Break’ won een Grammy Award voor beste arrangement (instrumentaal of a capella). In de medley zijn nummers als Gusty Garden Galaxy uit Super Mario Galaxy en Bomb-Omb Battlefield uit Super Mario 64 te horen.

De 9-Bit Big Band is afkomstig uit New York en heeft al eens eerder een Grammy gewonnen voor gamemuziek. In 2022 won het orkest een Grammy voor het nummer Meta’s Knight’s Revenge uit de SNES-game Kirby Superstar.

View post on X

De Grammy Awards

De Grammy Awards worden al sinds 1959 georganiseerd en worden gezien als een van de belangrijkste prijzen voor muziek ter wereld. Ze worden vaak vergeleken met de Oscars, die worden uitgereikt aan films. Dit jaar won Bad Bunny de prijs van album van het jaar, en ging Billie Eilish er vandoor met een Grammy voor nummer van het jaar. Overigens won Austin Wintory een Grammy in de categorie beste gamesoundtrack voor de soundtrack van Sword of the Sea.

De Super Mario-reeks van Nintendo valt op diverse spelcomputers van het bedrijf te spelen, waaronder de Nintendo Switch 2 en Nintendo Switch. Onder de meest recente grote hoofddelen vallen Super Mario Wonder en Super Mario Odyssey.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.