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):
Each release has a release note that gives an overview on the changes and known deficiencies, as well as a download link.
Besides as embedded into the STM32 target hardware, the CT800 comes also as UCI version which runs under Windows, Android, Linux, macOS 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. The release downloads contain a copy of the full GPL text.
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. Maybe a manufacturer will even pick up the CT800 for series production.
Based on the hardware documentation, there is a third-party project by Vitali Derr, an affordable CT800. The hardware design is open source with circuit board data and schematics, fully compatible with the CT800 firmware.
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.