From Initial Infrared Prototype to a 64-Square Magnetic Board.

5 hardware iterations — prototype, failure mode, engineering fix.

The Goal: Playing chess is one of my hobbies, but I like playing on a real physical board better than online. Therefore I built a board that connects to Lichess (a popular chess website) and allows me to play games on my board against online opponents. The piece detection happens magnetically with sensors underneath the board, and an LED array allows to showcase legal moves and—most importantly—what the opponent played.

01

01. Infrared Prototype

4×4 plywood test bench, 3D-printed grid, addressable LEDs, centered IR sensors.

Idea

IR emitter + receiver per square — bottom reflection, unmodified pieces.

Issue

100% daylight IR saturation — constant false positives on empty squares.

Fix

2000 Hz pulsed IR + Fourier transform — 0 Hz sunlight rejection.

Initial 4x4 infrared prototype showing 3D printed black grid, LED strips, and infrared sensors in each square

4×4 IR test bench: 3D-printed grid, LED strips, upright IR pair per square.

02

2000 Hz Pulse + FFT vs. Sunlight

2000 Hz Isolated
SENSOR WAVEFORM (TIME) 3.3V CEILING
Sunlight DC Offset (0 Hz) 52% — Indoor Light

Indoor light: Elevated 0 Hz baseline — clean 2000 Hz FFT peak.

02. 2000 Hz Pulse & Fourier

Pulsed IR emission + real-time FFT spectrum filtering.

Idea

0 Hz steady sunlight vs. 2000 Hz pulsed IR — isolated 2000 Hz FFT bin.

Issue

3.3V phototransistor clipping in direct sun — flat 2000 Hz waveform.

Fix

Pivot to magnetic Hall-effect sensors + neodymium piece magnets.

03

03. V1: 4×4 Miniature & First PCB

Modular 1×4 EasyEDA PCB strips (JLCPCB) + 3D-printed magnetic piece bases.

Build

4×4 miniature board with four 1×4 digital Hall PCBs — total light immunity.

Issue

Suboptimal PCB header layout + binary 0/1 output — no threshold tuning or polarity.

Fix

Revised PCB layout, analog Hall sensors, and SolidWorks 3D-printed grid.

V1 4x4 miniature chess board prototype with custom green PCB strips and glowing LEDs

V1 4×4 miniature: First functional magnetic prototype with custom 1×4 PCBs.

EasyEDA 3D render of the custom 4-square Hall sensor PCB strip

EasyEDA 1×4 PCB: 16 modular strips per 8×8 board.

Red 3D-printed base on a chess piece holding a centered magnet

3D-printed base: Press-fit adapter + centered magnet.

04
Full 8x8 Smart Chess Board V2 lit up with green, cyan, and red LEDs under the 3D-printed grid
Analog Hall Sensor 12-Bit ADC (0–4095)
ADC: 3180 (+1132 Δ) — White (+N Pole)
← 0 (S / Black) 2048 (Rest) 4095 (N / White) →

04. V2: 8×8 Analog Matrix & 3D Grid

64 analog Hall sensors, custom SolidWorks LED diffuser grid, dual 16-channel multiplexers on ESP32.

Analog Hall Sensors

Continuous field strength + polarity — piece color (N/S pole) and type (magnet strength).

SolidWorks 3D Grid

Center circular hole for direct magnetic flux + 4 corner LED cutouts.

ESP32 + Dual 16-Ch MUX

64 analog sensors via two 16-channel multiplexers + 152 LEDs (< 50 ms scan).

05

05. Finished Board, Webapp & Gestures

Wood veneer chessboard + Raspberry Pi (Lichess API, Stockfish engine, local web UI).

Raspberry Pi Webapp

Live Lichess online play on physical board, Stockfish review, puzzles, 8×8 ADC heatmap.

Screen-Free Piece Gestures

100% standalone mode — piece-lift sequences (e.g. e4 + d4 pawns) for on-board LED Stockfish review.

Finished wooden board: 64 analog Hall sensors + 152 LEDs under wood veneer, live Lichess sync.

Next Project → Automated Cocktail Dispenser

3D CAD • Laser Cutting & 3D Printing • Stepper Kinematics • Embedded C