Back to Portfolio Robin De Lissnyder
CUSTOM PCBs • ESP32 & RASPBERRY PI • CHESS AI

Smart Chess Board

Handcrafted wooden board — 64 analog Hall sensors, 152 hidden LEDs, Lichess online sync, and screen-free Stockfish AI.

ESP32 C++ Coprocessor Raspberry Pi / FastAPI React 19 & TypeScript Real-Time WebSockets Stockfish 17.1 AI
What It Is & The Concept

Playing chess is one of my favorite hobbies, but I've always preferred playing on a real physical board better than online on a screen.

Therefore, I built a smart chessboard that connects to Lichess (a popular chess website) and allows me to play games on my physical board directly against online opponents worldwide.

The piece detection happens magnetically with sensors underneath the board, keeping the classic wooden surface completely clean. An integrated LED array allows the board to showcase different gameplay elements—such as highlighting legal moves—but most importantly, illuminating what the opponent played directly on the squares in real time.

Physical vs. Online

Connects to Lichess to play real-time matches against online opponents on real wood.

Magnetic Sensing

Sensors underneath the board detect pieces without any cameras or tags.

LED Opponent Moves

Lights up what the opponent played, guides legal moves, and enables screen-free play.

5 HARDWARE ITERATIONS

How I Built It (V0 → V2 Prototype Timeline)

Failed IR prototype → 2000 Hz FFT filtering → V1 (4×4 PCB) → V2 (8×8 analog matrix).

Open Prototype Timeline (V0 → V2) →
Video Demonstrations 2.5-Min Live Match (4x)

Live Game Play & Sub-50ms Move Sync

4× speed physical game — magnetic piece tracking, mid-air capture buffering, live web sync.

Physical Board (ESP32 + 64 Hall MUX)
Webapp Analysis (React 19 + Stockfish 17.1)
1
Piece Tracking

Sub-50ms sensing → live webapp sync, clock update, LED move trail.

2
Board Gestures

Pawn-lift sequence → standalone on-board AI analysis, zero buttons or screen.

3
Perimeter Bar

Edge LEDs for live Stockfish evaluation & player clock status.

Webapp & Analysis Interface

React 19 single-page application connected to the board via WebSockets

React 19 • TypeScript • Tailwind
Webapp Stockfish Analysis Panel
Stockfish 17.1 Multi-PV
Stockfish Analysis Panel Live Eval

Interactive evaluation curve, move accuracy breakdown, and Multi-PV candidate lines.

Eval Curve Accuracy Stats
Sensor Calibration Matrix
8x8 ADC Heatmap
Sensor Calibration Matrix 12-Bit ADC

Live 64-square ADC voltage heatmap, per-square threshold sliders, and auto-zero baseline.

64-Hall MUX Auto-Zero
Puzzles & Practice Panel
Training & Classics
Puzzles & Practice Tactical Drills

Custom blunder drills from past games + Grandmaster "Guess-the-Move" mode with LED hints.

Mistake Replay LED Hints

Technical Subsystems

4 Core Subsystems
01

Screen-Free Board Gestures

Zero-Screen Control

Pawn-lift sequences (armed via is_setup_ready) launch Stockfish review, rematches, or purple-LED alternative line exploration.

02

64-Square Analog Hall Matrix

ESP32 + Dual MUX

64 linear Hall sensors via 2× CD74HC4067 multiplexers — sub-50ms scan, mid-air capture buffering, 921,600 baud CRC-8 serial.

03

152-LED Matrix & Current Limiting

≤ 220mA Cap

2 concealed WS2812B LEDs per square + perimeter eval/clock bar — green/cyan/amber/red move feedback, 256-entry gamma LUT.

04

Lichess API & Stockfish 17.1

HTTP/2 NDJSON

Real-time HTTP/2 NDJSON online match streaming, fair-play hint lock during rated games, and async Multi-PV engine analysis.

Interested in discussing this project?

I would love to walk through the hardware prototype, software architecture, or codebase in detail.