Hello, this is dog!

what is it?

Dog is a simple chess program for the ESP32 (= 240MHz dualcore cpu with 320kB RAM - but it also runs on linux/windows/android).


 bin-files that you can flash onto a wemos32 mini using '' (example flash-script for Linux included)

 source code:

 windows binary: replace Dog.exe by the one from

 Android: the program can be retrieved from Google Play (this requires Chess for Android to be installed (or an other OEX compatible board program)).

play on-line

Dog plays at as MaxtheDog.


This is a picture of the dog that triggered the development of this program. His name is Max.

Max is very strong, likes to chase cats and other dogs and is worlds' fastest eater.

what is in the program

Version 0.1 only has alpha/beta with aspiration windows

Version 0.2 has null move, lmr, PSQ in evaluation, quiescence-search, tt, lazy smp and mvv-lva

Version 0.3 has improved evaluation (copy/paste from Micah with some parts removed because of RAM-space issues), IID, sibling moves, futility pruning, an improved version of the killer heuristic

Version 0.4 pondering, removed lazy-smp due to issues

Version 0.5 lazy-smp is back and other fixes

Version 0.6 performance tweak for ESP32

Version 0.7 performance tweaks, LED effects, adjustable thread count (1 or 2)

Version 0.8 timing tweaks, pondering can be switched off, bug fixes

Version 0.9 butterfly tables

Version 2.0 Syzygy endgame tablebase support and lazy-smp fixes

Version 2.1 changing the number of threads could cause a segfault

For contact info, see this page.

mastodon icon toot this