Otevře se na nové kartě

ESP32-C3: jak začít s vývojovým kitem a ESP-IDF

Vývojová deska ESP32-C3-DevKitM-1 připojená přes USB

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).

Ukázka kódu ESP-IDF a výpisu terminálu při běhu programu na ESP32-C3

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.

Schéma vývojové desky ESP32-C3-DevKitM-1 s popsanými konektory a tlačítky

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.

Vývojová deska ESP32-C3-DevKitM-1 s označenými GPIO piny a microUSB konektorem

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.

Schéma vývoje a nahrání aplikace ESP-IDF do vývojové desky

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

Instalátor ESP-IDF Tools 2.4 zobrazuje licenční smlouvu

Instalátor ESP-IDF Tools 2.4 kontroluje certifikáty a Windows Defender

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

Instalátor ESP-IDF Tools nabízí výběr verze Gitu k instalaci

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

Instalátor ESP-IDF Tools nabízí stažení ESP-IDF nebo výběr existující instalace

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.

Instalátor ESP-IDF Tools s vybranou vývojovou větví master a cestou instalace

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

Dokončení instalace ESP-IDF Tools s vybraným spuštěním příkazového prostředí

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

Příkazový řádek ESP-IDF nastavuje cíl kompilace na ESP32-C3

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

Terminál ESP-IDF potvrzuje dokončení konfigurace a vytvoření souborů sestavení ukázky blink

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

ESP-IDF v příkazovém řádku kompiluje ukázkový projekt blink pro ESP32-C3

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

Terminál ESP-IDF potvrzuje dokončení kompilace projektu pro ESP32-C3

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

Terminál ESP-IDF zobrazuje nahrávání programu do vývojové desky ESP32-C3

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

Terminál ESP-IDF zobrazuje monitor sériového výstupu ESP32-C3 při spuštění programu
Terminál ESP-IDF zobrazuje výpis monitoru ESP32-C3 a opakované zprávy o LED

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)

Terminál Windows zobrazuje nastavení ESP-IDF a úspěšnou kontrolu instalace

git checkout master

Terminál Windows zobrazuje výstup příkazu git checkout master při aktualizaci ESP-IDF

git pull

Terminál Windows zobrazuje průběh aktualizace ESP-IDF příkazem git pull

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

Terminál Windows zobrazuje výstup příkazu git pull při aktualizaci ESP-IDF

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

Terminál Windows při aktualizaci ESP-IDF stahuje podmodul komponenty mock

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

Terminál ve Windows spouští instalační skript ESP-IDF a aktualizuje závislosti

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

Terminál Windows hlásí chybějící závislosti při nastavování cíle ESP32-C3 v ESP-IDF

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

Terminál Windows s výstupem instalace závislosti kconfiglib pro ESP-IDF

a

Terminál Windows hlásí chybějící závislosti při nastavování ESP32-C3 v ESP-IDF

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

Terminál Windows zobrazuje nastavení cíle ESP32-C3 a kontrolu nástrojů ESP-IDF

Hurá! Zkompilujeme kód.

Terminál Windows kompiluje ukázkový projekt Blink pro ESP32-C3 pomocí ESP-IDF

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.

Terminál Windows zobrazuje nahrávání firmwaru do ESP32-C3 příkazem idf.py flash

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

Editor s kódem ESP-IDF vedle výpisu sériového monitoru ESP32-C3

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:
Tričko Chiptron s potiskem Trust me, I'm a maker
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku
Buy Me a Coffee

Související články

Ruka drží modul ESP32-C3F před obrazovkou s prostředím Arduino IDE

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ů.

Různé vývojové desky s čipy ESP32 – srovnání variant

ESP32, S2, S3, C3, C6, H2, C5, P4 i chystaný S31 – který čip vybrat pro váš projekt? Srovnávací tabulka periferií, rozhodovací strom podle use-case, přehled softwarových platforem a tipy, kde koupit vývojové desky v Česku.

Arduino IDE se sériovým monitorem a deskou ESP32-C3

ESP32-C3 je velmi očekávaným mikrokontrolérem s Wi-Fi a Bluetooth konektivitou – samozřejmě i díky velmi nízké ceně, která se pohybuje okolo 1 USD u oficiálních distributorů jako mouser.

Modul ESP32 s mikrokontrolérem na zelené vývojové desce

Konečně jsem se dostal k sepsání krátkého návodu, jak rozchodit ESP32 (mnohem, mnohem výkonnější ESP8266).

Snímek čínské stránky představující čip ESP32-C3 a uvádějící jeho parametry

Oblíbili jste si ESP8266, ale ocenili byste větší paměť, vyšší výkon a nížší spotřebu v režimu spánku? A ESP32 je zase moc velký s úplně jiným pinoutem? Řešení je zde a to s čipem ESP32-C3, kterým je pinově kompatibilní s…

Vývojová deska ESP32-C3-01M s kovovým krytem a řadou pinů

O ESP32-C3 jsem napsal už několik článků a novinek.

Trendy