First Light: Blinking an LED on the ESP32-S3
📅 June 17, 2026 · 🔌 ESP32-S3
Bill of materials
| Part | Qty |
|---|---|
| ESP32-S3 DevKitC | 1 |
| 5mm LED | 1 |
| 220Ω resistor | 1 |
| Breadboard + jumper wires | 1 |
This is the start of the Electronics section — build-logs from my journey into ESP32 and electrical engineering. Expect hands-on write-ups: firmware, schematics in KiCad, sensors, power, PCB fabrication, and the inevitable debugging.
Why this section exists
I build web things for a living, but lately I’ve been pulled toward hardware — microcontrollers, sensors, and the satisfying moment when code makes something in the physical world move. These posts are my notebook: what I built, the bill of materials, the wiring, the code, and the gotchas.
The classic “hello world”: blink
Every embedded journey starts with blinking an LED. Here it is on an ESP32-S3 using the Arduino core:
#define LED_PIN 2
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}
Wire the LED to GPIO2 through a 220Ω resistor to ground, flash, and you’ve got first light.
What’s coming
- A custom sensor board (designed in KiCad, fabbed at JLCPCB)
- Battery + deep-sleep power profiling
- Wi-Fi/BLE telemetry back to a self-hosted dashboard
- The mistakes, so you don’t repeat them
More build-logs are on the way — follow along.