Małe ESP32-C3 – wygodne, miniaturowe, wydajne

Ostatnio pojawiło się kilka płytek z ESP32-C3. Wydaje mi się, że ten układ (ESP32-C3) jest dość popularny wśród projektujących urządzenia, bo ma zintegrowany w jednej kości z ESP32 układ pamięci flash. Upraszcza to projekt, a 4MB wystarczają w większości zastosowań.

Te moduły o których myślę, to XIAO ESP32-C3 od SeedStudio, oraz ESP32-C3 mini v1 od, jak to nazywamy Yā nǔ shén. Obydwa są niewielkie (rozmiar poniżej 2,5 cm x 2 cm), sporo wyjść jak na taki format, wydajny procesor ESP32 i port USB C do zasilania/programowania.

Różnice? XIAO oprócz samego ESP32 na pokładzie ma układ do zarządzania ładowaniem baterii LiPo, więc jest świetnie się sprawdzi w układach zasilanych z baterii. Natomiast ESP32-C3 mini ma wbudowaną antenę ceramiczną, co prawda odłączoną, ale potencjalnie daje bardziej zwarty układ jeśli zewnętrzna antena nie jest konieczna. Trzeba albo przelutować zworkę:

Albo można (wydaje się to prostsze w warunkach domowych) dolutować zworkę (ale jak to wpłynie na emisje EM – nie wiem) z drutu do połączeń owijanych (aka typu Kynar).

Antena mi zaczerwieniła się obserwując moje wysiłki w lutowaniu :) a na poważnie – zaznaczyłem sobie tak przerobiony moduł, bo gołym okiem słabo widać tą zworkę.

W przypadku XAIO nie masz tego ’problemu’, bo XIAO ESP32-C3 ma tylko złącze IPX a nie ma anteny ceramicznej.

Dokumentacja ESP32 mówi by nie uruchamiać radia bez

Arduino IDE

W przypadku ESP32-C3 MINI po zainstalowaniu Arduino ESP32 Core, wybierasz płytkę ESP32C3 Dev Module by zaprogramować układ. Wszystko będzie działać, poza Serialem :) Tzn działa, ale musisz włączyć w opcjach (menu Tools) USB CDC on boot (ustawić na Enable). XIAO ESP32 C3 ma swój własny board, więc wybierasz ten i jesteś gotowy do pracy.

ESP32 C3 MINI ma na pokładzie dwie diody LED. Czerwona jest sprzężona z linią zasilania i sygnalizuje jego obecność, niebieska jest podpięta pod GPIO 8 – możesz z niej korzystać do własnych potrzeb.

Przycisk BOOT jest podpięty pod GPIO 9. Możesz z niego korzystać normalnie, jego specjalne znaczenie jest tylko podczas procesu startu – po reset lub włączeniu zasilania. Wciśnięty przycisk (lub podanie wartości zera logicznego na pin GPIO 9) oznacza przejście w tryb bootowania z UART zamiast start programu z pamięci flash. Przycisk BOOT nie jest używany podczas programowania przez USB – ESP32-C3 ma wirtualny port USB/JTAG i on jest używany do przesyłania kodu programu, normalnie nie musisz z tego przycisku korzystać.