Programowanie ESP32-ETH01

Temat niejako znowu wraca, bo niedawno było o wgrywaniu NAMF na ESP8266 i choć tytuł mówi o zdalnym, to jest też tam akapit o wgrywaniu na Bidamosa, który nie mając złącza USB wymaga użycia konwertera USB/Serial.

W przypadku ESP32-ETH01(czyli wygodnej płytki z ESP32 i interfejsem Ethernet) jest podobnie – ta płytka nie ma złącza USB, a w porównaniu z Bidamosem nie ma nawet przycisku RESET czy PRG. Ale nie stoi to na przeszkodzie by użyć podobnej metody.

Potrzebujesz do tego konwertera USB/Serial i kilku kabelków. Ogólnie podłączenie pokazuje poniższy obrazek.

Podłączenie:

KonwerterESP32-ETH01
GNDGND
TXRXO
RXTXO
Vcc (zworka ustawiona na 3.3V)3V3

Jak wspomniałem wcześniej moduł ESP32-ETH01 nie ma przycisków RST i PRG, więc by programowanie było możliwe podłącz przewód między GND a IO0 na ESP32. Mając wszystko gotowe podłącz kabel USB do konwertera – zasilony ESP32 z IO0 zwartym do masy uruchomi się w trybie programowania. Po zakończeniu ładowania kodu, rozepnij zworkę GND/IO0 i podłącz ponownie zasilanie (zamiast użycia RST, którego po prostu nie ma :) ). Bez zworki ESP32 uruchomi już wgrany kod.

Poziomy logiczne i zasilanie

W tym przykładzie łączymy zasilanie do pinu 3V3 a konwerter USB/Serial musi mieć możliwość pracy z napięciem 3.3V (nasz konwerter USB/Serial ma taką opcję). Nie chodzi tylko o to, że przy konwerterze 5V zasilanie jest 5V. W takim przypadku wstarczyłoby podłączyć zasilanie z konwertera do pinu 5V i procesor ESP32 zostałby zasilone przez układ zasilania na pokładzie ESP32-ETH01. Karta katalogowa ESP32 mówi wyraźnie, że napięcie wejściowe na pinach IO nie powinno przekroczyć Vdd + 0.3V. W uproszczeniu – przy zasilaniu 3.3V nie powinno przekraczać 3.6V. Konwertery 5V zazwyczaj nie tylko podają zasilanie 5V ale też sygnały na wyjściu mają poziomy TTL 5V. W sieci znajdziesz mnóstwo przykładów jak podłącza się ESP32 do konwertera 5V i ESP32 wytrzymuje TTL 5V. Ale, nie masz gwarancji że tak zawsze będzie, staraj się unikać takiego podłączenia.