A chess computer
on a tiny ESP32
A chess engine written in Rust with a neural-network evaluation,
its own Wi-Fi and a lichess-style web app. Play from any phone.

Rust engine with NNUE
A Rust port of the Dog / tinychess engine: alpha-beta search with all the classic pruning tricks and a quantised neural network evaluation – on a microcontroller with 512 kB of RAM.
Strong for its size
Measured over 1,567 games against Stockfish: about 2740 Elo on the ESP32-S3 with PSRAM (2650 without), 2590 on the ESP32-C6 and 2460 on the ESP32-C3 (1 min + 0.6 s).
Its own Wi-Fi, no app
The board creates the network ESP-Chess-XXXX. Join it with a phone and the chess app opens by itself. It can also join your home network.
Lichess-style web app
Eight engine levels, games against friends with clocks, spectating, hints, take-backs, PGN export, dark and light themes, English and Czech.
Up to 24 players
Several games run on the board at once. When nobody plays, the engine plays itself so there is always something to watch.
Install from the browser
Plug in an ESP32-C3, C6 or S3 board and flash the firmware from this website in Chrome or Edge – no toolchain needed.
On the board’s display
The Waveshare ESP32-C6-LCD-1.3 shows the game, an evaluation bar, the engine’s main line and its best move while it thinks.



Supported boards


| Board | Chip | Display | Engine speed | Strength |
|---|---|---|---|---|
| Waveshare ESP32-C6-LCD-1.3 | ESP32-C6, RISC-V 160 MHz | 1.3″ 240×240 | ~19,000 positions/s | ~2590 Elo |
| ESP32-C3 SuperMini | ESP32-C3, RISC-V 160 MHz | – | ~15,000 positions/s | ~2460 Elo |
| ESP32-S3 (S3FH4R2) | ESP32-S3, 2× Xtensa 240 MHz, SIMD, 2 MB PSRAM | – | ~36,000 positions/s | ~2740 Elo |
Any board with one of these chips and at least 4 MB of flash should work. Details on the hardware page.