Bring-up
Blink status LED
The first proof a board is alive. On a product this is the power or status lamp.
Bring-up
GPIOStatus LED
ESP32 family
Official path: examples/get-started/blink
01 Overview
The official Blink example toggles one LED to prove GPIO output. It is the minimum heartbeat of any ESP32 board.
- Use when: first bring-up, fixture test, product status lamp.
- Skip when: I/O is already proven and you are working on radios or sleep.
- Official proves: the configured GPIO can toggle on a fixed period.
- Official does not: size the resistor, place the lamp in an enclosure, or turn it off in sleep.
02 Hardware
- Chip: any ESP32-class module or DevKit.
- Minimum parts: LED + series resistor (often 220Ω–1kΩ). Some modules already have a lamp.
- Pin: BLINK_GPIO in menuconfig. GPIO2 is common on ESP32-DevKit, GPIO8 on many C3 boards.
- Power: 3.3V. Do not drive the LED from a 5V pin.
- Production: the lamp must be visible through the housing; silkscreen polarity matters for SMT.
03 Software flow
1. Select the GPIO in menuconfig.
2. Reset the pin and set it as output.
3. Loop: high → delay → low → delay.
4. Newer trees may drive a WS2812 via RMT/led_strip — that is not a plain GPIO lamp.
5. Product firmware should encode states (boot, connected, error), not blink 1Hz forever.
04 Core points
- Pin numbers change by chip. Copying GPIO2 from ESP32 to C3 will miss the lamp.
- The DevKit LED is not your product LED. Custom boards need a new footprint.
- Do not blink through deep sleep. Status policy is a power decision.
- Custom work: status logic, GPIO map, schematic and PCB.