Close

Srovnání Arduino Nano RP2040 Connect s ESP32

Srovnání Arduino Nano RP2040 Connect s ESP32

Arduino NANO RP2040 Connect s čipem RP2040 od Raspberry Pi Foundation v kombinaci s WiFi připojením a Bluetooth už dobře známe. Co ale nabízí oproti zařízením se zavedeným čipem ESP32 dostupným z čínských e-shopů?

Stručný popis

DOIT ESP32 DEVKITV1 (30 pin)

Pro srovnání v testu jsme si vybrali nejběžnější desku s ESP32 navazující na úspěch předchůdce s procesorem ESP8266 (Node MCU V3), která kombinuje základní modul ESP-WROOM-32 s USB-UART převodníkem SILABS CP2102. Existují i varianty desek, jako například ESP32-CAM, které nemají USB převodník vestavěný a je nutné jej připojit externě.

Podobně jako u desek s ESP8266, i u ESP32 použitý modul určuje, jak velkou pamětí celá deska disponuje. To ovlivňuje, jak velký program lze do desky nahrát. Toto je důležitý faktor například při OTA updatu přes Wi-Fi.

Tuto desku vyrábí mnoho různých malých výrobců v Číně a kvalita může kolísat prodejce od prodejce.

Existuje mnoho alternativních variant. Například ESP32-CAM s vestavěnou kamerou, WT32-ETH01 s ethernetem, případně různé verze s displejem (LilyGO TTGO) nebo vývojové kity M5Stack kombinující displej, senzory a vestavěnou lithiovou baterii s nabíjecím obvodem.

Arduino NANO RP2040 Connect

Nedávný přírůstek do rodiny oficiálních Arduino desek řeší jeden z nedostatků desky Raspberry Pi Pico s procesorem RP2040 vyvinutým v Raspberry Pi Foundation, a to je absence internetové konektivity. RP2040 Connect obsahuje na své desce Wi-Fi modul u-blox NINA-W102 založený na čipu ESP32. V tomto případě se čip ESP32 stará čistě jen o WiFi a Bluetooth, hlavní program vykonává procesor RP2040. Dále na desce nalezneme ještě mikrofon a akcelerometr/gyroskop.

NANO RP2040 je vyrobené v Itálii a lze se tedy spolehnout na jistou úroveň kvality.

Prodejní balení

Zatímco DOIT ESP32 DEVKITV1 (dále jen ESP32) vám dorazí z čínského internetového tržiště v antistatickém sáčku bez jakéhokoliv popisu, Arduino NANO RP2040 Connect (dále jen NANO RP2040) dorazí v kvalitně zpracované krabičce s čárovým kódem a veškerými náležitostmi pro legální prodej zařízení v EU. Příjemným bonusem jsou nálepky.

Obsah prodejního balení Arduino Nano RP2040 Connect
Obsah prodejního balení Arduino Nano RP2040 Connect

Desky s ESP32 jsou zpravidla dodávány s předinstalovanými headery, k NANO RP2040 jsou headery přibalené a uživatel si sám rozhodne, zda je připájí.

Balení ESP32
Balení ESP32

Rozměry

Při srovnání rozměrů je evidentní, že ESP32 je mnohem širší. Toto je dáno rozměry modulu ESP-WROOM-32. Také popisky pinů modulu ESP32 se nacházejí na horní straně desky. Bohužel tato zvětšená šířka způsobuje, že po zapojení do běžného nepájivého pole zůstává prostor pro propojky jen na jedné straně desky. Větší rozměry alespoň umožnily použití větších děr pro upevnění desky (lze použít šrouby se závitem M3).

Porovnání rozměrů Arduino NANO RP2040 a ESP32
Porovnání rozměrů Arduino NANO RP2040 a ESP32

Nano RP2040 zachovává form-factor všech desek rodiny NANO (Nano, Nano Every, Nano 33 IoT) a to včetně miniaturních děr na šrouby (závit M1). Vzhledem k malé šířce kolem něj na obou stranách zbývá na nepájivém poli dostatek místa pro propojky.

Ani jedna z desek neobsahuje komponenty na spodní straně. NANO RP2040 navíc obsahuje po stranách zářezy a lze jej tedy použít pro povrchovou instalaci přímo na desku plošného spoje (podobně jako je na DOIT ESP32 DEVKITV1 uchycen modul ESP32-WROOM-32).

Spodní strana Arduino NANO RP2040 Connect
Spodní strana Arduino NANO RP2040 Connect
Spodní strana ESP32
Spodní strana ESP32

HW Parametry

Nevýhodou ESP32 je, že se procesor stará o běh hlavního kódu a zároveň o síťová připojení. Toto může vést k různým problémům s časováním hlavního kódu při současných operacích s WiFi, jako například aktualizace stránky webového serveru.

 
 
 
ARDUINO NANO RP2040 CONNECT 
 
DOIT ESP32 DEVKITV1
(30 pin) 
 
Procesor 
 
Raspberry Pi RP2040 
 
ESP32-S1 (ESP32-D0WDQ6)
 
V modulu ESP32-WROOM-32 
 
Typ procesorových jader 
 
ARM Cortex-M0+ @ 133MHz 
 
Xtensa® 32-bit LX6 
 
Počet jader 
 
 
 
Frekvence procesoru 
 
133 MHz 
 
80 MHz až 240 MHz
 
(lze zvolit před kompilováním programu) 
 
Vestavěná paměť v procesoru 
 
264 kB SRAM 
 
520 KB SRAM 
 
SPI flash 
 
16 MB 
 
4 MB 

Poznámka: paměť v procesoru v tomto případě není parametr, který by bylo možné porovnávat 1 : 1, vzhledem k odlišným způsobům, jakým jednotlivé procesory pracují s pamětí (Von Neumann vs Harvard uspořádání paměti).

https://docs.arduino.cc/learn/programming/memory-guide

Napájení

Výhodou Nano RP2040 je velký rozsah vstupního napětí při zachování rozumných teplot. Obsahuje totiž DC-DC měnič (buck converter).

Oproti tomu deska s ESP32 obsahuje lineární regulátor AMS1117, který se zahřívá přímo úměrně velikosti vstupního napětí. AMS1117 bohužel není nejspolehlivější, protože v něm není ochrana proti ESD a vstupní napětí má max 15 V.

Obě desky lze napájet jak z USB (5 V, konektor microUSB), tak ze vstupního VIN pinu. Bohužel ani jedna z desek nedisponuje obvodem pro nabíjení lithiových akumulátorů, nicméně existují varianty desek s ESP32, které nabíjecími obvody disponují (Wemos Lolin ESP32, Adafruit HUZZAH32).



ARDUINO NANORP2040 CONNECT

DOIT ESP32DEVKITV1
(30 pin)

Napájecí rozsah externího zdroje (VIN)

StepDown převodník MP2322

5-21V

AMS1117, 12 V (max. 15 V)

Max. proud na jeden I/O pin

4 mA

28 mA

Nabíjecí obvod pro Li-Pol

Ne

Ne

Piny



ARDUINO NANORP2040 CONNECT

DOIT ESP32DEVKITV1
(30 pin)

Počet 5V tolerantních pinů

0

dle datasheetu 0
(neoficiálně všechny vstupní piny)
https://hackaday.com/2022/05/12/is-esp8266-5-v-tolerant-this-curve-tracer-says-yes/

Počet PWM pinů

20

25

Digitální vstupy/výstupy

20

25

Analogové vstupy

8

15

Interrupts

20

25

Vestavěná LED

Pin 13

RGB LED na WiFi modulu

GPIO2

Capacitive touch

ne

9 pinů

Přehrávání zvuku

emulace I2S sběrnice pomocí PIO

I2S sběrnice

Počet úrovní ADC převodníku



4kanálový ADC s vnitřním senzorem teploty, 0,5 MS/s, rozlišení 12 bitů



rozlišení až 12 bitů, tj. 4096 odlišných hodnot


možnost nastavit více rozsahů:

0–1 V

0–1.34 V

0–2 V

0–3,6 V

Specialitou na ESP32 desce jsou piny, které fungují jako kapacitní senzory dotyku (na plánku označené jako TouchX).

Obě desky používají na svých pinech logické úrovně 0–3,3 V. Jejich piny nejsou 5 V tolerantní. U NANO RP2040 Connect je dokonce odpojen 5 V pin jako ochrana před nechtěným vypálením desky. Při potřebě využití tohoto pinu je nutné propájet jumper na spodní straně desky.

U všech periferií, jako jsou senzory, je tedy nutné zkontrolovat, jestli dokáží fungovat na těch napěťových úrovních a pokud ne, je třeba použít převodník úrovní (level shifter) z 5V logiky, kterou používá např. Arduino Uno, Mega, atd.

Nepoužitelné piny ESP32

Přesto, že na označení pinů není nic poznat, některé GPIO piny vyžadují zvláštní zacházení a jsou to piny, které slouží k nastavení bootovacího režimu/nahrávání desky.  To znamená, že při startování musí mít konkrétní napěťové úrovně, aby nedocházelo k opakovanému resetu/přepnutí do nahrávacího režimu.

Tyto piny jsou GPIO0, GPIO2 a GPIO5.

Sběrnice



ARDUINO NANORP2040 CONNECT

DOIT ESP32DEVKITV1
(30 pin)

Počet I2C sběrnic

Čip umí 2

2

Počet I2S sběrnic

až 6 lze emulovat přes PIO

Ano

Počet SPI sběrnic

Čip umí 2
1

Počet sériových portů (UART)

Čip 2

Serial(programování, debugging);
Serial2

PIO (statemachine)

8

ne

CAN bus(TWAI)

ne

ano

Bezdrátové technologie



ARDUINO NANORP2040 CONNECT

DOIT ESP32DEVKITV1
(30 pin)

WiFi frekvence/standardy

2,4 GHz

WiFi802.11b/g/n

2,4 GHz

802.11 b/g/n

(802.11n až 150 Mbps)

WiFi čip

Modul u-blox NINA-W102 (založený na ESP32)

Nativní v procesoru

Bluetooth

Bluetooth 4.2

Bluetooth v. 4.2 BR/EDR and BLE specification

Secure element

Podporované šifrování:

ATECC608A-MAHDA-TCrypto IC

SHA-256

AES-128

Podpora hardwarového AES šifrování




Externí anténa

Ne

Existují varianty s konektorem

USB připojení



ARDUINO NANORP2040 CONNECT

DOIT ESP32DEVKITV1

(30 pin)

USB konektor

Micro USB

Micro USB

USB drag&drop bootloader

Ano

Ne

Čip pro komunikaci s PC

Nativní v procesoru, USB 1.1

CP2102

Podpora USB HID (klávesnice, joystick)

Ano

Nelze přes vestavěný microUSB konektor
Nahoře ESP32, dole Arduino NANO RP2040 Connect
Nahoře ESP32, dole Arduino NANO RP2040 Connect

Integrované sensory



ARDUINO NANORP2040 CONNECT

Node MCU 32
ESP32DEVKITV1
(30 pin)

Integrované senzory

Mikrofon MP34DT05

Gyroskop/akcelerometr LSM6DSOXTR(6 os)


Hallův senzor
Teploměr v procesoru

Programování

Obě desky mají podporu pro programování v ArduinoIDE v jazyce Wiring (C++). Bohužel to automaticky neznamená, že budou fungovat veškeré knihovny pro klasická Arduina na platformě AVR, jako je UNO, MEGA atd., a je třeba hledat knihovny specifické pro konkrétní procesor.

Druhou možností programování je Python ve variantách CircuitPython a MicroPython. Je celkem logické, že Arduino neposkytuje podporu pro instalaci Pythonu a je třeba návody hledat přímo na stránkách jednotlivých projektů, např. https://circuitpython.org/board/arduino_nano_rp2040_connect/

Pro instalaci Pythonu na RP2040 je třeba malý trik, vzhledem k absenci jednoho tlačítka oproti Raspberry Pi Pico. To je vybavené BOOT tlačítkem, které je nutné držet při připojení PC, a pak se Pico navenek prezentuje jako USB disk a je možné na něj nahrát UF2 soubor s interpretem Pythonu. Arduino RP2040 Connect má jen RESET tlačítko a pro připojení jako disk je třeba držet tlačítko při připojování a ještě jednou jej zmáčknout, což vyžaduje cvik.

Obě desky jsou podporované v CircuitPython od Adafruit.



ARDUINO NANO RP2040 CONNECT

DOIT ESP32DEVKITV1
(30 pin)

Operační systém mikrokontroléru

MbedOS

freeRTOS with LwIP; TLS 1.2

Podporovaná prostředí

Arduino IDE, MicroPython

Arduino IDE, MicroPython, CircuitPython, LUA

Podpora v PlatformIO

Ano

Ano

OTA update po WiFi

Ano (přes Arduino Cloud, odkudkoliv)

Ano (v lokální síti)

Podpora Arduino Cloud

Ano

Ano

Možnosti programování

Arduino IDE

Rychlá instalace knihoven, nových desek

PlatformIO

  • Zmínka o Visual Studio Code
  • Atom

Arduino Cloud

Cena a dostupnost

Přes prvotní problémy s nedostatkem součástek pro RP2040 je nyní dostupnost dobrá a stabilní. To platí pro obě srovnávané desky.



ARDUINO NANORP2040 CONNECT

DOIT ESP32DEVKITV1
(30 pin)

Cena

25,2 € oficiální obchod
610 Kč HWKITCHEN

4.4 $ (cena na AliExpress)

Závěr

Vzhledem k nízké ceně lze varianty ESP32 doporučit tam, kde je potřeba experimentovat a existuje riziko zničení desky. Pro low cost aplikace je ESP32 těžko překonatelné. Naopak Arduino NANO RP2040 Connect lze využít tam, kde je požadována vysoká spolehlivost a funkčnost, oficiální podpora Arduino a případně menší velikost. K desce jsou také k dispozici různé certifikáty CE, WEE, FCC, RoHS atd. Výhodou je také plná konektivita přes Arduino Cloud.

Věřím, že obě desky mají své cílové skupiny a doufám, že vám článek pomůže s výběrem.

Napsat komentář