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
Bloomberg: PlayStation 6 komt mogelijk pas in 2028 of 2029 uit
© Sony
Huis

Bloomberg: PlayStation 6 komt mogelijk pas in 2028 of 2029 uit

In navolging van eerdere berichtgeving heeft ook toonaangevende nieuwswebsite Bloomberg geopperd dat Sony overweegt om de PlayStation 6 intern uit te stellen.

In het artikel wordt gemeld dat Sony zou overwegen om de PlayStation 6 pas in 2028 of 2029 uit te brengen. Dit terwijl Sony zelf in eerste intentie zou hebben gemikt op 2027. "Sony Group Corp overweegt nu om de release van zijn volgende PlayStation-console uit te stellen naar 2028 of zelfs 2029."

Vorige maand claimde MST Financial-analist David Gibson ook al dat Sony de PlayStation 5-levenscyclus wil verlengen en de console pas ergens na 2028 uit te willen brengen. Sony zelf heeft echter nog niet op de geruchten gereageerd - het bedrijf heeft de PlayStation 6 nog niet eens officieel aangekondigd, laat staan een publiekelijke releasedatum genoemd.

View post on Instagram
 

Reden voor vertraging

Zoals gemeld zou de voornaamste reden voor een eventuele vertraging alsmaar stijgende prijzen voor en tekorten van geheugen zijn. Prijzen van RAM (Random Access Memory) stijgen alsmaar doordat er massaal RAM nodig is om het alsmaar populairder wordende AI werkende te houden. RAM is echter nodig in spelcomputers.

De theorie is dat bedrijven zoals Sony hun plannen voor nieuwe consoles uitstellen, omdat de prijzen voor RAM zo hoog liggen. Dat zou immers betekenen dat men ook hogere prijzen voor nieuwe consoles moet vragen, en dat zou eventueel een negatief effect op het succes van deze consoles kunnen hebben. Ook zouden tekorten aan RAM roet in het eten kunnen gooien.

Vooralsnog is echter nog niets bevestigd. Volgens eerdere geruchten wil Sony niet alleen de PlayStation 6 uitbrengen, maar ook een handheldversie om PS6- en PS5-games op te spelen. Zoals gezegd is de PS6 nog niet officieel aangekondigd, dus bevestigd is dit nog niet.

Onlangs schreven we een column over waarom het helemaal geen ramp hoeft te zijn dat de PlayStation 6 nog een aantal jaar op zich laat wachten.

Effecten op andere consoles

Overigens kan de situatie rondom RAM ook effect hebben op consoles van andere bedrijven. De prijzen van bestaande consoles gaan zo nu en dan ook omhoog - in plaats van dat ze omlaag gaan, zoals traditioneel gezien gebeurt - en volgens het Bloomberg-artikel overweegt Nintendo de prijs van de Switch 2 ook omhoog te gooien. Nintendo liet onlangs bij het bekendmaken van diens kwartaalcijfers al weten de RAM-situatie nauwlettend in de gaten te houden.

▼ Volgende artikel
Bloober Team kondigt horrorspel Layers of Fear 3 aan
Huis

Bloober Team kondigt horrorspel Layers of Fear 3 aan

De Poolse ontwikkelaar heeft Layers of Fear 3 aangekondigd, een nieuw deel in diens horrorgamefranchise.

Bloober Team hintte al een tijdje naar een nieuwe aankondiging - er was geruime tijd een timer te zien die afliep naar Valentijnsdag afgelopen weekend. Die timer bleek dus voor Layers of Fear 3 te zijn.

Er is nog geen gameplay van het spel getoond, maar er werd wel een live-action teaserfilmpje online geplaatst waarin een man het gericht 'The Sick Rose' van William Blake voorleest. Meer info over de game werd niet gegeven.

Watch on YouTube

In de eerste Layers of Fear-game uit 2016 besturen spelers een schilder die in een Victoriaans landhuis probeert zijn meesterwerk af te maken, terwijl het landhuis geheimen over zijn verleden onthult. Er kwam een vervolg uit, alsmede een remake uit 2023 die simpelweg 'Layers of Fear' heet en de verhalen van de eerste twee games combineert en nieuw materiaal toevoegt.

Bloober Team heeft de laatste jaren flink aan de weg getimmerd als leverancier van horrorspellen. Naast de Layers of Fear-games heeft het bedrijf ook de remake van Silent Hill 2 gemaakt, alsmede Cronos: The New Dawn, Blair Witch en The Medium. Het bedrijf werkt samen met Konami ook aan een remake van de eerste Silent Hill.