ESP32-C3: vývojový kit a vývojový nástroj ESP-IDF. Jak začít?

Přišel mi engineering sample vývojového kitu ESP32-C3-DevKitM-1. Samozřejmě jsem to hned zapojil do USB a zkusil naprogramovat.

Pokud máte či budete mít také ESP32-C3 doma, tady najdete jak popis vývojové desky, tak i postup při instalaci vývojového nástroje ESP-IDF (Windows 10).

Obsah:

O ESP32-C3

Vývojová deska ESP32-C3-DevKitM-1

Programování ESP32-C3 v ESP-IDF

– – Nová instalace ESP-IDF

– – Aktualizace ESP-IDF

ESP32-C3

O ESP32-C3 jsem psal v této novince, kde najdete i datasheet.

Čip ESP32-C3 je pinově kompatibilní s „první“ verzí Wi-Fi dostupných a otevřených čipů ESP8266 pro bastlíře. Vaše vývojová deska s ESP8266 tak může být vylepšena o Bluetooth 5.0 či větší pamět a samozřejmě i nižší spotřebu v hlubokém spánku (jen 5uA).

Vývojová deska ESP32-C3-DevKitM-1

Vývojová deska ESP32-C3-DevKitM-1 nabízí vše potřebné pro první seznámení a vyzkoušení ESP32-C3.

Vývojový kit obsahuje modul ESP32-C3-MINI-1, který je ve svém nitru osazen čipem ESP32-C3FN4. Tento modul obsahuje 4 MB FLASH a integrovanou PCB anténu pro Wi-Fi a Bluetooth.

O napájení a komunikaci s počítačem se stará microUSB konektor a USB-UART převodník CP2102. Na desce najdete ještě WS2812B adresovatelnou RGB LED (Data jsou připojena na GPIO8), regulátor napětí z 5V na 3.3V, tlačítka (boot a reset) a IO konektor.

Programování ESP32-C3 v ESP-IDF

ESP-IDF je soubor nástrojů, které vám stačí k tomu, abyste naprogramovali vývojovou desku s ESP32-C3 v jazyce C.

ESP-IDF obsahuje toolchain, build tools (CMake a Ninja build tool), API a nechybí ani vzorové příklady.

ESP32-C3 je podporován i v Arduino IDE – návod najdete na https://chiptron.cz/news.php?readmore=1228

Jak ESP-IDF rozjet na vašem počítači má Espressif velmi dobře zdokumentované na svých Getting Started stránkách.

V tomto článku to probereme pěkně krok za krokem.

Nejprve stáhneme a nainstalujeme ESP-IDF z tohoto odkazu: https://dl.espressif.com/dl/esp-idf-tools-setup-2.4.exe

Při instalaci se vám může nainstalovat i verzovací systém GIT

A stáhnout ESP-IDF (pokud už nemáte stažený pro jiné verze čipů – ESP32, ESP32-S2 aj.)

A teď záleží, co jste vybrali: novou instalaci nebo budete aktualizovat tu stávající?
Odkaz na novou instalaci
Odkaz na aktualizaci esp-idf

Nová instalace ESP-IDF

Pokud ESP-IDF v počítači nemáte a vyberete tuto možnost – master, stáhne se vám poslední verze z gitu.

Na konci instalace zaškrtnete políško Command Prompt Enviroment

Po spuštění ESP-IDF přejdeme do vzorových kódů a zkompilujeme například kód blink
cd examples/get-started/blink

a nastavíte cíl jako ESP32-C3 příkazem
idf.py –preview set-target esp32c3

Na konci výstupu pak najdete tuto zprávu, pokud to proběhne v pořádku

Teď zkompilujeme vzorový kód blink
idf.py build

A pokud proběhne kompilace v pořádku, uvidíte tento výstup

A samozřejmě uposlechneme pokynů ve výstupu a pro nahrání napíšeme
idf.py -p PORT flash

v mém případě PORT je COM8 (Najdete v ovládacích panelech -> zobrazit zařízení a tiskárny. Vyhledáte USB-UART převodník CP2102).

Nahrajeme kód

A v ESP-IDF máme možnost spustit i monitor ve kterém se nám budou zobrazovat zprávy.

Ten otevřeme pomocí příkazu
idf.py -p PORT monitor


Aktualizujeme stávající ESP-IDF

Tady je cesta trochu delší, ale žádné velké překvapení nás taky nečeká.

V pokynech Espressif, který zaslal spolu s vývojovým kitem najdete tyto příkazy (po zapnutí ESP-IDF)
export IDF_PATH=$(pwd)

git checkout master

git pull

Tady jsem dostal error. Zavolal jsem tedy znova git pull znova a prošlo to bez chyby.

pokračujeme v instrukcích od Espressif
git submodule update –init –recursive

install.sh nebo install.bat (install.sh je funkční i na windows)

a export.sh nebo export.bat

Teď přejdeme do složky vzorového kódu Blink
cd examples/get-started/blink

A nastavíme cíl ESP32-C3
idf.py –preview set-target esp32c3

Ha! Nejsou splněny závislosti. Není problém, doinstalujeme. Jen je třeba dodržet konkrétní verzi.
pip install -Iv kconfiglib==13.7.1 a obdobně s dalšími

a

Opět vyzkoušíme nastavit cíl
idf.py –preview set-target esp32c3

Hurá! Zkompilujeme kód.

A nahrajeme (na základě doporučení z výstupu kompilace)
idf.py -p PORT flash, kde port je COM port USB-UART převodníku CP2102.

A můžeme spustit monitor pomocí příkazu
idf.py -p PORT monitor

A to je vše, při úpravě kódu opět jen spustíte kompilaci pomocí
idf.py build a nahrajete idf.py -p PORT flash

Nezapomeňte, že pro každou složku s kódem musíte ke složce přistoupit pomocí příkazu cd a nastavit cíl pomocí idf.py –preview set-target esp32c3

Sdílejte článek:

Související články

Vypadalo to jako neověřitelná zpráva, která vzbudila rozruch v bastlířské komunitě.

Nedávno zveřejněné zprávy poukazují na potenciální bezpečnostní rizika spojená s široce používanými čipy ESP32, které vyrábí čínská společnost Espressif.

laskakit.cz LILYGO® T-HMI ESP32-S3 2.8 ST7789V IPS WiFi Modul LILYGO® T-HMI je multifunkční modul navržený pro různé HMI (Human-Machine Interface) aplikace.

Plánujete vylepšit zařízení novějším Wi-Fi modulem s ESP32-C3 namísto staršího a slabšího modulu s ESP8266? Ač je ESP32-C3F (s ESP32-C3) rozměrově kompatibilní s ESP12F (s ESP8266), záměna není tak jednoduchá – prostá výměna modulů.

Daniel Skopalík sdílel návod, jak použít populární jednodeskový počítač RaspberryPi jako JTAG programátor například ESP32.