Câți amperi cere fiecare piesă — și cum să nu arzi nimic
ESP32 e o plăcuță, nu o baterie de mașină. Are un buget de amperi limitat — fiecare piesă cumpără din el. Treci de buget? Ceva moare. Calculezi corect? Totul merge până la concurs.
Ce înveți
- De ce un pin GPIO scoate 12mA, nu 1000mA — și ce se întâmplă dacă-i ceri mai mult
- Cum împarți „bugetul" de curent al ESP32 între piese
- Diferența între curent prin pin și curent prin rail-ul 5V
- Când ai nevoie de sursă externă (motor, bandă LED, releu)
- Cele 3 semne că ESP32 nu mai face față și se resetează singur
Imaginează-ți că ESP32-ul tău e ca un copil cu 5 lei în buzunar la magazin. Fiecare piesă pe care o aprinzi „cumpără” din acei 5 lei. Dacă cumperi un suc (piesa mică) — ok, rămân bani. Dacă încerci să cumperi o pizza (motor) — fail.
Doar că aici „lei” sunt miliamperi (mA), iar fail-ul e „placa se resetează singură” sau, în cazul rău, piese arse care nu mai merg niciodată.
Bugetul tău (când placa e pe USB)
USB-ul de pe PC-ul tău dă ~500mA la 5V. Ăsta-i bugetul tău total. Din ăsta:
- ESP32 chip cu WiFi pornit: ~80mA (mai puțin când dormi, mai mult la transmisie)
- 5× WS2812 albe la maxim: 300mA (60mA per LED)
- OLED 0.96” cu tot ecranul plin: 20mA
- INMP441 microfon: 1.5mA (aproape gratis)
- Buton: 0mA când nu-i apăsat
Total VIA: ~402mA — încape în 500mA cu ~98mA rezervă. Asta-i de ce VIA merge pe USB simplu, fără sursă separată.
Știai că?
Un USB-C modern poate da până la 3000mA (3A), dar Arduino IDE limitează ESP32 la „USB-clasic" 500mA pentru siguranță. Dacă plăcii i s-ar permite să tragă 3A, ar putea topi cablul USB sau prăji portul de pe PC.
Limita unui pin GPIO
Aici-i partea care prinde pe toți începătorii: un pin GPIO scoate mult mai puțin curent decât USB-ul total. Pinul nu e o conductă mare — e un firișor subțire de siliciu în interiorul cipului.
Cifrele:
- Sub 12mA — zonă sigură. Aici stai.
- 12-25mA — recomandat maxim. Funcționează, dar pinul se încălzește.
- 25-40mA — danger zone. Funcționează pe scurt, dar dacă ții așa minute la rând, pinul slăbește în timp.
- Peste 40mA — pin ars. Materialul de siliciu se topește. Pin mort definitiv. Restul plăcii poate fi ok, dar pinul ăla nu mai răspunde NICIODATĂ.
Regula de aur
Dacă piesa cere peste 12mA, alimenteaz-o de pe 3.3V sau 5V rail, nu direct dintr-un pin GPIO. Pinul îi spune piesei „pornește/oprește", dar curentul vine de la rail-ul larg.
Cum calculezi bugetul tău
Pasul 1: Listează TOATE piesele active simultan.
Pasul 2: Adună-le. Folosește valoarea maxim (worst case), nu cea medie. Datasheet-urile (Google: „WS2812B datasheet current”) spun cifrele.
Pasul 3: Compară totalul cu sursa:
- Pe USB: 500mA total
- Pe USB-C nou cu cablu bun: 1500mA-3000mA (dar ESP32 limitează)
- Pe pin: 12mA recomandat, 40mA absolut max
Pasul 4: Lasă rezervă. Dacă-ți iese exact 500mA, mai ai zero margine. Vrei să rămână minim 50-100mA liberi pentru WiFi spike-uri.
Exemplu — VIA Test 1:
| Piesă | Maxim | De pe |
|---|---|---|
| ESP32 chip + WiFi | 80mA | USB |
| 5× WS2812 alb | 300mA | rail 5V (NU pin GPIO) |
| OLED | 20mA | rail 3.3V |
| INMP441 | 1.5mA | rail 3.3V |
| Buton | 0mA | — |
| Total | ~402mA | USB 500mA — OK |
Când ai nevoie de sursă externă
Trei semne că ESP32 nu mai face față:
- Placa se resetează singură când aprinzi multe LED-uri sau pornești un servomotor → tensiunea cade sub 2.7V, brownout protection se activează
- OLED-ul flicker-ează sau apar caractere aleatorii → tensiunea pe rail-ul 3.3V e instabilă
- WiFi-ul se deconectează mereu → cipul WiFi cere spike-uri de 200mA și nu le primește
Soluții:
- Condensator 470µF-1000µF pe rail-ul 5V — rezervor mic care absoarbe spike-urile
- Cablu USB mai gros (nu „CHARGE ONLY”) — cele subțiri pierd 0.5V pe drum
- Sursă externă 5V/2A alimentată direct pe rail-ul 5V — GND-urile TREBUIE legate împreună cu ESP32-ul, altfel nu se înțeleg
Știai că?
Un releu (modulele alea albastre cu „REL" pe ele) controlează o tensiune mare (220V de la priză!) folosind doar 50mA de la ESP32. E exact pentru asta — pinul tău nu poate aprinde un bec de tavan, dar poate cere unui releu „pornește becul" și releul scoate puterea din priză.
5 reguli să nu arzi nimic
- Citește datasheet-ul (sau Google „piesa-x current draw”) înainte să conectezi. Niciodată „o să fie ok”.
- Pe pin = maxim 12mA. Peste — folosești rail-ul 5V/3.3V.
- Motoare, servomotoare, benzi LED >5 LED-uri = sursă externă mereu. ESP32 nu va putea niciodată.
- GND comun. Dacă ai 2 surse de alimentare (USB + baterie), conectează GND-urile împreună, altfel piesele „nu se aud” între ele.
- Verifică cu multimetrul dacă ai unul. Setezi pe mA, treci în serie cu piesa, vezi cât trage real. Adesea diferit de datasheet.
Cu astea, n-o să arzi nimic. Și mai important: o să știi DE CE merge ce merge, și ce să verifici primul când nu merge.
După lecția asta, poți
- Calculezi bugetul de mA pentru orice proiect ESP32 alimentat pe USB înainte să-l cablezi
- Știi când ai nevoie de sursă externă (motor, bandă LED) vs când USB-ul de 500mA ajunge
- Recunoști semnele de brownout (placa se resetează singură) și înțelegi de ce se întâmplă
- Eviți să arzi un pin GPIO cerând mai mult curent decât poate da — orice motor merge prin driver