# LED Chessboard

Programmable 8x8 LED chessboard hardware with an onboard ESP32-S3-WROOM-1,
64 WS2812B LEDs, 64 digital Hall sensors, and USB-C power/programming.

## Hardware summary

- Controller: ESP32-S3-WROOM-1 module on the PCB.
- LEDs: 64x WS2812B, data daisy-chained through a 74AHCT125 level shifter and a
  330 ohm series resistor.
- Sensors: 64x AH1806-W-style omnipolar Hall switches with 10 k pull-ups.
- Readout: 8x SN74HC165DR shift registers.
- Power: dedicated USB-C 5 V LED/system input plus separate USB-C data/programming
  connector with current-limited logic-power path.
- PCB: 4 layers, routed KiCad layout under `pcb/boards/led_chessboard/layout/`.

## Current PCB status

- Zener board source builds successfully.
- Native KiCad DRC latest review: 0 unconnected items, 0 errors.
- Remaining DRC items are warnings only: silkscreen/text and footprint-library
  mismatch warnings.
- Inner-layer GND copper zones have been added with an ESP32 antenna/module
  keepout notch.
- Backup before copper-zone changes:
  `pcb/boards/led_chessboard/layout/layout.pre-copper-zone-backup.kicad_pcb`.

## Validate PCB

```sh
embedr pcb build
embedr pcb layout --check
```

For final fab review with KiCad installed, run native KiCad DRC and confirm
`Found 0 unconnected items`.

## Fabrication checklist

1. Visually inspect Gerbers, especially USB-C connectors, board outline, mounting
   holes, ESP32 antenna keepout, and LED/Hall grid alignment.
2. Confirm 5 V supply and firmware brightness/current limit for WS2812B load.
3. Confirm Hall sensor package orientation and magnet distance/strength.
4. Decide whether to clean silkscreen/text warnings before ordering.
5. Export Gerbers, drill files, BOM, and pick-and-place files.