Here you will find download links and some information on the supplied software, the applicable licence and the documentation. The project comprises quite a bit more than just the firmware. The project history gives an overview on what it took to make the CT800 real.
The releases contain binaries, source code, documentation, and a UCI version. Here is the current stable CT800 release as ZIP file (5 MB):
- 01-Oct-2018:release V1.32
- 29-Jul-2018:release V1.31
- 08-May-2018:release V1.30
- 17-Feb-2018:release V1.20
- 14-Oct-2017:release V1.12
- 17-Jun-2017:release V1.11
- 14-May-2017:release V1.10
- 27-Oct-2016:release V1.01
Besides as embedded into the STM32 target hardware, the CT800 comes also as UCI version which runs under Windows, Android, Linux and on Raspberry Pi.
However, the UCI version is only the chess engine – on top of that, you will also need a graphical chess application:
There will be no port for iOS because Apple has decided that iOS users have to forgo GPL software, and this is just the tip of the iceberg.
The GNU General Public License (GPL) Version 3 or later applies to firmware, UCI version, all tools and the opening book. You can download the full licence text as PDF file (120 kB):
No external libraries are used, see also the technical data on the software. Build scripts are included for Windows and Linux. It is even possible to enhance or debug the CT800 chess software on a PC because the application itself is cross-platform.
The additional tools written for this project comprise:
- a CRC tool that generates a firmware image with appended CRC-32, both as binary and as I32Hex file.
- an opening book compiler that takes a line based text input file and converts it to a position based binary format.
All documentation is in English, including top-level flow charts for the chess application and for the opening book compiler. The source code is well commented, and a stack usage analysis proves that the recursive search algorithm is safe from stack overflow.
The hardware documentation describes how to interface keypad, light key, LEDs, buzzer, power supply and the Olimex H405 mainboard. Every component on this interface board is explained in-depth so that also a hobby electronics tinkerer should be able to make sense of it. Maybe a manufacturer will even pick up the CT800 for series production.
The CT800 instruction manual is user-oriented. It does not only list the features, but also describes how to actually use them, including chapters for updating the software and troubleshooting. You can download the PDF file (320 kB):
Hack and play
Still, it has to be clear that the CT800 is not an exercise in formal programming. All in all, the CT800 is designed as High Performance Hack™. No more, no less.