Otevře se na nové kartě

Můžeme nahradit ESP12F (ESP8266) výkonnějším modulem ESP32-C3F (ESP32-C3) ve stávajícím zařízení?

Ruka drží modul ESP32-C3F před otevřený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ů.

Čím je modul s ESP32-C3 lepším oproti modulu s ESP8266?

Získáte k Wi-Fi i Bluetooth (BLE 5.0), nižší spotřebu, výkonnější čip. Tedy za stejné peníze, rozměrově stejný modul s lepšími parametry.

Poděkování patří e-shopu laskarduino.cz, který mi exkluzivně poskytl modul ESP32-C3F s čipem ESP32-C3 a také jejich vývojovou desku microESP.

Během mého bádání jsem čerpal z těchto zdrojů a informace z nich jsem sepsal do tohoto článku.

Modul ESP32-C3F – https://docs.ai-thinker.com/

Modul ESP12F – https://docs.ai-thinker.com/

ESP32-C3 dev kit od Espressif System – https://dl.espressif.com/

ESP8266 datasheet – https://www.espressif.com/

ESP32-C3 datasheet – https://www.espressif.com/

Schéma microESP – https://github.com/LaskaKit/microESP

Porovnání rozmístění pinů modulů ESP12F a ESP32-C3F

Rozložení modulu

ESP32-C3F a ESP12F jsou sice rozměrově stejné, bohužel pinově až tak stejné nejsou – a to je kámen úrazu jednoduchého prohození modulů a získání vylepšení (nejen) vašeho zařízení.

Jak můžete vidět na obrázku výše, kromě jiných označení GPIO pinů, které jsou ale významově stejné, se liší ve čtyřech důležitých pinech.

Přepnutí do bootloader režimu – GPIO0 (ESP12F) vs. GPIO9 (ESP32-C3F)

Začneme pinem GPIO0 (ESP12F) a GPIO9 (ESP32-C3F).

Tímto pinem, jak u ESP8266 tak i ESP32-C3, se rozhoduje, zda čip přepne do boot režimu či nikoliv.

Klasické zapojení automatického přepnutí čipu do boot režimu je následující

ESP8266
Schéma automatického bootování ESP8266 s tranzistory, signály DTR a RTS a pinem GPIO0

ESP32-C3
Schéma automatického přepnutí ESP32-C3 do bootloaderu, signál GPIO9 je zakroužkován

Jak můžete vidět, u ESP8266 se tahá za GPIO0, u ESP32-C3 zase za GPIO9.

Významově jsou piny stejné.

ESP8266
Tabulka režimů bootování ESP8266 podle stavů pinů GPIO15, GPIO0 a GPIO2

ESP32-C3
Tabulka bootovacích režimů ESP32-C3 a funkce pinu GPIO8 při startu

Automatický reset pro nahrání programu

Bohužel to ale neplatí u RESET pinu, který je přítomný u ESP8266, ale už ne u ESP32-C3. A to je jeden z problémů, který je těžko řešitelný a je potřeba větší změny do návrhu desky.

ESP8266
Schéma automatického resetu ESP8266 s tranzistory, tlačítkem RST a signály DTR a RTS

ESP32-C3
Schéma automatického programování ESP32-C3 s signály DTR a RTS a tranzistory

GPIO15 (ESP8266) vs. GPIO8 (ESP32-C3F)

GPIO15 u ESP8266 je běžně připojen přes pull-down rezistor na GND (programování přes UART nebo běh z SPI).

Schéma pull-down rezistoru R5 mezi GPIO15 a GND u ESP12F

GPIO8 (ESP32-C3F) má ale logiku opačnou, zde musí být připojen přes pull-up rezistor k 3.3V. U modulu ESP32-C3F je tento rezistor už přítomen a není třeba jej osazovat na vaši desku.

Schéma pull-up rezistoru 10 kΩ mezi 3,3 V a pinem GPIO8

Pokud chcete ESP12F za ESP32-C3F vyměnit, musíte pull-down rezistor odstranit, pokud to neuděláte, napětí na pinu stále definuje pin jako logická 0 – tedy opačné než potřebujeme.

ESP8266
Tabulka režimů spouštění ESP8266 podle stavů pinů GPIO15, GPIO0 a GPIO2

ESP32-C3F
Tabulka režimů startu ESP32-C3F ukazuje výchozí stav GPIO8 a GPIO9

GPIO2 (ESP12F) vs. GPIO10 (ESP32-C3F)

A posledním pinem je GPIO2 u ESP12F, kde je pin připojen na 3.3V.

Schéma pull-up rezistorů ESP12F připojených k napájení 3,3 V

Stejná situace je i u ESP32-C3F. V tomto případě musí pull-up rezistor zůstat.

Závěr

Jaký je závěr tohoto článku? Prostá výměna modulu ESP12F (ESP8266) modulem ESP32-C3F (ESP32-C3) není možná bez dodatečných úprav.

Na GPIO15 (ESP8266) nesmí být pull-down rezistor.

Na ESP12F není reset pin, pro ESP32-C3F je nutné stáhnout k zemi ENABLE pin (CHIP_PU) – tohle je asi největší překážka ve výměně modulů.

To je vlastně návod i pro nový design desek s ESP32-C3F.

K automatickému přepnutí do boot režimu je nutné přizemnit Enable pin (CHIP_PU).

GPIO8 musí zůstat BEZ pull-down rezistoru. Pull-up rezistor je už v modulu ESP32-C3F.

Interní pull-up má i Enable pin (CHIP_PU) u ESP32-C3F.

GPIO10 také potřebuje pull-up rezistor.

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

Modul ESP32-C3F zobrazený zepředu i zezadu ve dvou variantách

Mikrokontrolér ESP8266 s podporou Wi-Fi v modulu ESP12F je jeden z nejprodávanějších modulů – díky podpoře, slušnému výkonu i velmi nízké ceně.

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.

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.

Vývojový kit ESP32-C3-DevKitM-1 stojící na tmavém podkladu

Přišel mi engineering sample vývojového kitu ESP32-C3-DevKitM-1.

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.

Vývojová deska DFRobot FireBeetle s ESP32 držená v ruce

Článek mi zaslal Richard Štefún, za zaslání článku mu tímto děkuji.

Trendy