Skip to content
C++ HTML PHP Other
Branch: master
Clone or download
Latest commit 981be68 Apr 13, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.


UCI Chess Engine

Cinnamon is a chess program for Windows, Linux, Mac OS, Android and Raspberry Pi, is a console-based chess engine for use with xboard, Arena, Tarrasch, Chess for Android or any UCI-compatible GUI. Cinnamon is also a javascript library to play with chessboardjs or any js GUI.




  • Bug fixed using Gaviota Tablebases in Windows
  • Bugs fixed in Uci protocol
  • Improved eval function
  • Improved null moves


  • Available for both Unix, Windows, Mac, Android, ARM and Javascript
  • UCI protocol
  • GPL 3 License
  • C++11 source
  • Rotated bitboards
  • Null moves
  • Futility pruning
  • Delta pruning
  • Razoring
  • Interruptible multithread Perft test
  • 32/64 bit architectures
  • Iterative deeping
  • History heuristics
  • Lazy evaluation
  • Mvv/Lva
  • Transposition Table
  • Aspiration Windows
  • Late Move Reduction
  • Ponder
  • Available with Tarrasch GUI for Windows
  • Open Book (Polyglot)
  • Gaviota Tablebases
  • Elo ratings


Binaries are available here. All files are compiled statically, no further libraries are necessary.

Command line tools


cinnamon -perft [-d depth] [-c nCpu] [-h hash size (mb) [-F dump file]] [-f "fen position"]

Setting dump file (-F) you can stop and start the perft process.

Gaviota distance to mate

cinnamon -dtm-gtb -f "fen position" -p path

EPD generation

cinnamon -puzzle_epd -t K..K.. example: cinnamon -puzzle_epd -t KRKP


Cinnamon requires C++11 or greater, use unique Makefile to compile for many architectures:

$ make

Makefile for cross-compile Linux/Windows/OSX/Raspberry

make cinnamon64-modern-INTEL     > 64-bit optimized for modern Intel cpu
make cinnamon64-modern-AMD       > 64-bit optimized for modern Amd cpu
make cinnamon64-modern           > 64-bit with popcnt bsf sse3 support
make cinnamon64-generic          > Unspecified 64-bit
make cinnamon64-ARM              > Optimized for ARM cpu

make cinnamon32-modern           > 32-bit with sse support
make cinnamon32-generic          > Unspecified 32-bit
make cinnamon32-ARM              > Optimized for ARM cpu

g++ is the default compiler, add COMP=yourcompiler to use another compiler
 example: make cinnamon64-modern-INTEL COMP=clang++


Cinnamon is released under the GPLv3+ license.


Cinnamon was written by Giuseppe Cannella at gmail dot com.

You can’t perform that action at this time.