Skip to content

LED

A binary LED on GPIO6 — on or off only, no brightness. Power and I2C for the VEML7700 stay as they were.

Before you start

Checkpoint 3 passed. USB unplugged while you seat jumpers.

Wire

LED — GPIO6

From To
ESP32-C3 GPIO6 LED anode (long leg), through a series resistor if the LED is discrete
− rail (GND) LED cathode (short leg)

A typical discrete LED needs something like 220 Ω–1 kΩ in series with the anode so GPIO6 is not shorted to GND through the diode.

On-board LED instead?

Some DevKits already have a usable GPIO LED. If you prefer that, change the pin in firmware/lux.yaml and keep this page and Validate in sync. Leave GPIO6 free if you do.

Do not tie the LED to 3V3 or 5V — the firmware drives it from GPIO6 only.

Check

Plug in USB briefly. The LED stays off until you flash and turn it on from Home Assistant (or Schedule / Night). Nothing should get warm. Unplug before the display step.

If it fails

Symptom Fix
LED or board warm Unplug. Check the cathode is on GND, not 3V3, and that a series resistor is in place for a discrete LED
LED never lights after flash Confirm anode → GPIO6 and cathode → GND; try swapping polarity once
GPIO6 shorted to 3V3 Rewire — that path can damage the pin

Checkpoint 4

  • Discrete LED: GPIO6 → resistor → anode, cathode → GND (or your chosen on-board GPIO LED is documented in the YAML)
  • No wire from the LED to 3V3 or 5V
  • VEML7700 power and I2C still seated
  • No display wires yet

Stop here until every box is ticked.

Next: Display