Ang board natin Our board, part by part — ESP32-WROOM-32 DevKit V1, 30 pin

Malalim na aralinDeep dive 13 · after Lesson 6

Tagalog: draft — for Kate / Janet to check.  Hawakan ang totoong board habang nasa scene na ito — USB sa kaliwa.  Hold your real board as you go, USB pointing left, so the picture matches what is in your hand.

Ang board natin — bench card ESP32-WROOM-32, 30-pin DOIT DevKit V1, USB-C, CH340C

Isang board lang ang gamit natin sa LAHAT — bot, controller, desk pet, lampara. One board for everything in the club. Learn it once. Lay it down with USB to the LEFT, chips facing up and this card matches your board.

Ang 4 na dapat tandaan · The four that bite

1. GPIO 34 35 36 39 = input lang. Walang output. Input ONLY. digitalWrite() on these does nothing at all — no error message, nothing moves. Sensors and sticks yes; LEDs and motors never.

2. Analog? ADC1 lang: 32 33 34 35 36 39. Any analog reading goes on ADC1. The ADC2 pins stop working the moment the radio turns on, and every bot uses the radio.

3. Huwag gamitin ang 2, 12, 15 kung hindi kailangan. Strapping pins: the chip reads them as it powers up. Pull one the wrong way and the board will not boot or will not accept code. GPIO 12 especially: never add a pull-up to it.

4. TX0 / RX0 (GPIO 1 at 3) = huwag galawin. That is the USB serial link. Use them for anything else and you lose both code uploads and the Serial Monitor.

Mga parte The parts, USB on the left

ParteAno itoWhat it does
USB-CKuryente + codePowers the board at 5 V and carries code and the Serial Monitor. Doing two jobs at once.
AMS1117-3.3Voltage regulator5 V in, 3.3 V out. The ESP32 dies on 5 V, so this part is what keeps it alive. Linear: the extra volts leave as HEAT (deep dive 10).
CH340CUSB → serialTranslator between your laptop's USB and the chip's UART0. Every upload and every Serial.print passes through it.
ESP32-WROOM-32Ang chip, sa loob ng metalTwo cores at 240 MHz, Wi-Fi, Bluetooth, 4 MB flash. The metal can is an RF shield and a heatsink. Never pry it off — the module is destroyed.
AntennaAng zigzag sa duloPrinted copper zigzag. Keep metal, batteries and your hand away from this end or the range collapses.
ENReset buttonRestarts your code from the beginning. Use it when the board freezes.
BOOTFlash buttonHeld while plugging in or resetting, it forces flash mode. Needed only when an upload refuses.
LED (GPIO 2)Builtin na ilawThe blink in Lesson 6. It sits on GPIO 2 — which is also a strapping pin.

Pin map Every pin on the 30-pin board. "Safe" = use it freely.

PinGPIOVerdictNotes
3V3—POWER OUT3.3 V out for sensors and modules. Never feed power IN here.
VIN—POWER IN5 V in from a battery or pack. Not 7.4 V — the regulator cooks.
GND × 2—GROUNDEvery circuit needs a shared ground. Two are provided.
EN—RESETPull low to reset. Same as the EN button.
D22⚠ STRAPPING + LEDOnboard LED. Fine for the Lesson 6 blink; avoid for anything that holds it low at boot.
D44SAFE (ADC2, touch)Good general pin. Its analog side is ADC2 — useless with the radio on.
D55SAFEDefault SPI chip-select. Mild strapping pin; in practice fine.
RX2 / TX216 / 17SAFEFree UART2. Spare serial port for a GPS or another board.
D18, D19, D2318, 19, 23SAFEDefault SPI (SCK, MISO, MOSI). Safe as plain pins too.
D21 / D2221 / 22SAFE — I²CDefault SDA / SCL. Keep them for I²C and every module just works.
RX0 / TX03 / 1⚠ LEAVE ALONEUSB serial. Taking these costs you uploads and the Serial Monitor.
D1212⚠ STRAPPINGNever add a pull-up. High at boot sets 1.8 V flash and the board will not start.
D13, D14, D2713, 14, 27SAFE (ADC2, touch)Good motor and button pins. Analog side is ADC2.
D1515⚠ STRAPPINGWorks, but do not let anything pull it down at boot.
D25 / D2625 / 26SAFE — the only DACsThe board's two real analog OUTPUTS. For a tone or a smooth voltage.
D32 / D3332 / 33✔ BEST — ADC1 + touchAnalog in that survives the radio, and full output. The most useful pins on the board.
D34 / D3534 / 35👁 INPUT ONLY — ADC1Read only. No output, ever, silently.
VP / VN36 / 39👁 INPUT ONLY — ADC1Read only. Perfect for a joystick axis or a battery divider.
GPIO 6–116–11WALA · NOT PRESENTThe flash pins. Not brought out to any header — so the worst mistake is one this board will not let you make. Good news.
GPIO 00WALA · NOT PRESENTStrapping pin on the chip, but on our 30-pin board it is wired to the BOOT button only.

Bakit kulang ang pin Why 30 pins is not 30 usable pins

30 − 4 na power (3V3, VIN, 2 GND) − EN − 2 serial (TX0, RX0) = 23. Tanggalin ang 4 na input-lang kung kailangan mo ng output = 19. Iwasan ang 3 strapping = 16 na talagang malayang pin. That arithmetic is exactly why the Bat controller needs a PCF8574 I²C expander: an Xbox layout wants about 21 inputs and the board simply does not have them. Count your pins BEFORE you design, not after.

Saan ito sa atin: bawat lesson, bawat bot, ang Bat controller, ang desk pet, ang brownout lamp. Decided 30 Oct 2026: one board type in the club, so every printed part, every pin habit and every piece of code carries over from one project to the next.