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.
Play it without a board
The same engine and neural network, compiled to WebAssembly and running in your browser – at the strength of an ESP32-S3, C6 or C3.
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.