Twee goedkope microcontrollerboards met een kleine vormfactor gaan de strijd aan.
In de opwindende wereld van microcontrollers is het vinden van de juiste balans tussen grootte en verwerkingskracht voor uw embedded elektronica-project een topprioriteit. Bij het zoeken naar deze match zijn Arduino Nano en Raspberry Pi Pico twee populaire keuzes die vaak in je opkomen.
Helaas zijn de specifieke behoeften van uw project misschien pas duidelijk voor u als u kniediep in het implementatieproces zit. Laten we eens kijken naar enkele van de belangrijkste verschillen en kenmerken tussen deze twee rivaliserende boards om u te helpen bij het kiezen van de juiste microcontroller voor uw project.
Hardware-vergelijking
Ten eerste is het vermeldenswaard dat er verschillende opties zijn om uit te kiezen in zowel Arduino Nano- als Pico-reeksen, niet alleen hun basismodellen. Sommige zijn upgrades van het basismodel, terwijl andere speciale functies hebben voor bepaalde toepassingen. Maar dit zou moeten blijven: er is geen "beste" bord voor uw project op zich, alleen compromissen.
Arduino nano
De Arduino Nano, aangedreven door de ATmega328, is een compact en breadboard-vriendelijk bord dat dezelfde functionaliteit biedt als de Arduino Duemilanove, maar in een andere vormfactor. Het heeft geen gelijkstroomaansluiting en gebruikt een Mini-B USB-kabel in plaats van een standaardkabel.
Functie |
Specificatie |
---|---|
Microcontroller |
ATmega328 |
Kloksnelheid |
16 MHz |
SRAM |
2kB |
Flash-geheugen |
32kB |
EEPROM |
1kB |
GPIO-pinnen |
22 |
Analoog in pinnen |
8 |
PWM-pinnen |
6 |
Spanning I/O-pennen |
5V |
I/O pin stroom |
40mA |
3,3V penstroom |
50mA |
Voedingsspanning |
7-12V |
Dimensies |
18 x 45 mm |
Framboos Pi Pico
Hoewel de Raspberry Pi Pico pas in 2021 werd gelanceerd, is hij nu al een populaire keuze in de wereld van MCU's. De kern van de Pico is een RP2040-microcontrollerchip op basis van een dual-core Arm Cortex-M0+ verwerker.
Functie |
Specificatie |
---|---|
Microcontroller |
RP2040 SoC met Arm Cortex-M0+ dual-core |
Kloksnelheid |
133 MHz |
RAM op de chip |
264 kB |
On-chip flash-geheugen |
2 MB |
Flash-geheugen buiten de chip |
Tot 16 MB via speciale QSPI-bus |
GPIO-pinnen |
26 |
Analoog in kanalen |
3 |
PWM-kanalen |
16 |
Spanning I/O-pennen |
3.3V |
Temperatuursensor |
Inbegrepen |
Voedingsspanning |
5V |
Dimensies |
51,3 x 21 mm |
Qua hardwaremogelijkheden heeft de Raspberry Pi Pico duidelijk een voorsprong op de standaard Arduino Nano, met een snellere processor, meer flashgeheugen, meer GPIO-pinnen en uitgebreide controle over PWM signalen. Ook is de dual-coreprocessor die aanwezig is op de Pico goed voor multithreaded programma's.
De Raspberry Pi Pico mist echter EEPROM, vaak essentieel voor microcontroller-gebaseerde projecten. Bovendien kunt u uw project niet uitvoeren op een 9V-batterij zonder een spanningsregelaar.
IoT-toepassingen
Terwijl de basismodellen geen draadloze connectiviteit hebben, bieden de Raspberry Pi Pico- en Arduino Nano-reeksen een selectie van speciale boards met draadloze connectiviteit voor IoT-toepassingen. Enkele populaire IoT-borden in de Nano-serie zijn de Arduino Nano 33 IoT en de Arduino Nano RP2040 Connect (die dezelfde SoC gebruikt als de Raspberry Pi Pico).
In het geval van de Raspberry Pi Pico IoT-kaarten heb je de optie van de Pico W en Pico WH. Beide hebben Wi-Fi- en Bluetooth-connectiviteit, maar de Pico WH wordt geleverd met al bevestigde pin-headers, dus u hoeft ze niet op het bord te solderen.
Communicatie kanalen
Zowel de Raspberry Pi Pico als de Arduino Nano bieden meerdere communicatiekanalen voor communicatie met andere apparaten. De Raspberry Pi Pico heeft 2 UART (Universal Asynchronous Receiver/Transmitter), twee I2C (Inter-Integrated Circuit) en twee SPI-interfaces (Serial Peripheral Interface), die mogelijkheden bieden voor communicatie met anderen apparaten.
Als je nog niet weet wat dit zijn, kijk dan eens hoe UART-, SPI- en I2C-seriële communicatie werkt en waarom we ze nog steeds gebruiken.
Het standaard Arduino Nano-model heeft slechts één van elk van de communicatiekanalen: UART, I2C en SPI. Tenzij het echter een groot project is, hebt u niet alle beschikbare communicatiekanalen op de Pi Pico tegelijkertijd nodig - waarschijnlijk zelfs helemaal niet wanneer u de PIO-mogelijkheid gebruikt (zie hieronder). En het hebben van meer interfaces geeft ook niet aan dat het automatisch beter is, omdat we weten dat andere factoren ook een rol spelen.
Rekenkracht
De microcontroller-chips die in de Raspberry Pi Pico- en Arduino Nano-kaarten worden gebruikt, hebben hun eigen sterke en zwakke punten. En hier moet u de ultieme afweging maken.
CPU
In de meeste Arduino-projecten brengt de CPU waarschijnlijk 99,9% van zijn tijd slapend door. Dit geeft aan dat de CPU-snelheid niet zo belangrijk is als je zou denken, behalve voor speciale scenario's zoals real-time gegevensverwerking. De RP2040-chip die in de Raspberry Pi Pico wordt gebruikt, is een 32-bits dual-coreprocessor die een hogere verwerkingscapaciteit biedt kracht en prestaties in vergelijking met de ATmega328P-chip die wordt gebruikt in het Arduino Nano-basismodel, een 8-bits verwerker.
De RP2040-chip wordt ook geleverd met een unieke functie: PIO-statusmachines (Programmable Input/Output), die snelle parallelle gegevensoverdracht en aangepaste perifere interfaces mogelijk maken. Dit maakt het geschikt voor toepassingen die realtime gegevensverwerking vereisen, zoals robotica en automatisering.
RAM
Net als bij de CPU gebruiken de meeste microcontroller-applicaties slechts een kleine hoeveelheid RAM. Als u echter taken uitvoert waarvoor meer RAM nodig is, zoals IoT-projecten, moet u kiezen voor het bord met meer RAM aan boord: de Raspberry Pi Pico.
Programmeren van ecosystemen
De programmeerecosystemen van de Raspberry Pi Pico en Arduino zijn ook belangrijke factoren waarmee rekening moet worden gehouden bij het kiezen tussen de twee boards. De Raspberry Pi Pico gebruikt MicroPython en C/C++ als primaire programmeertalen.
Arduino gebruikt de Arduino IDE als primaire programmeeromgeving, die is gebaseerd op C/C++. De Arduino IDE staat bekend om zijn eenvoud en gebruiksgemak, met een gebruiksvriendelijke interface en een grote verzameling bibliotheken en voorbeelden. Het heeft ook een grote en actieve gemeenschap van gebruikers, die voldoende ondersteuning en middelen biedt voor beginners en ervaren ontwikkelaars.
C/C++ is een krachtige en veelzijdige taal die toegang op laag niveau tot de hardware biedt, waardoor complexere en prestatiekritische toepassingen mogelijk zijn.
MicroPython is een op Python gebaseerde programmeertaal die een eenvoudige en intuïtieve manier van programmeren biedt het bord, waardoor het ideaal is als je al bekend bent met Python of de voorkeur geeft aan een taal van een hoger niveau. Als je nog steeds de voorkeur geeft aan de Arduino-omgeving, maar met MicroPython wilt werken, hebben we het over wat de Arduino MicroPython IDE is in detail.
Kosten
Door alle kloonborden van externe fabrikanten te negeren, is de Raspberry Pi Pico veel goedkoper dan alle authentieke Arduino Nano-modellen, inclusief degene met dezelfde RP2040-processor van Raspberry Pi. De standaard Pico kost bijvoorbeeld slechts $ 4, vergeleken met $ 25 voor het basismodel Arduino Nano.
Voor extra functionaliteit moet u bereid zijn dieper in uw zak te graven, voor welk platform u ook kiest.
Compatibiliteit met andere hardware en bestaande bibliotheken
Zowel Pico als Arduino hebben een breed scala aan compatibele hardwaremodules en schilden die kunnen worden uitgebreid hun functionaliteit en zorgen voor eenvoudige integratie met sensoren, actuatoren, displays en andere apparaten.
Arduino bestaat al heel lang en heeft een enorme verzameling schilden die veel worden gebruikt en goed gedocumenteerd zijn. De Arduino-gemeenschap heeft talloze codebibliotheken ontwikkeld voor verschillende functionaliteiten, waardoor het gemakkelijk is om vooraf geschreven code te vinden voor een breed scala aan toepassingen. Bovendien zijn zelfs boards van derden compatibel met Arduino, waardoor het eenvoudig is om uw project te schalen.
Is de Raspberry Pi Pico beter?
Het concept van een "beter" bord is subjectief en hangt af van individuele projectvereisten en compromissen. Hoewel de Raspberry Pi Pico uitblinkt in verwerkingskracht en geavanceerde functies zoals PIO, maken Arduino's grotere gemeenschap en softwarebibliotheek het een uitstekende keuze voor veel projecten.