Novag Chess Computers and Xboard v1.0

This script is designed to act as a pseudo engine in Xboard, so that you can play against a Novag Sapphire (and no doubt Diamond) using the Xboard interface. Prerequisites are Python3 and the PySerial library. Since this is written in Python, theoretically, it should work under Windows, but that hasn’t been tested. In Windows the built in support for Novag computers in Arena is recommended, and the UCI engines created by Alain Zanchetta:

For a Sapphire or Diamond you will need a suitable hardware adapter to connect to a PC serial port. You can buy one from or build one yourself following instructions from This script was developed on a PC running Linux (Ubuntu 20.04 as it happens), using a Novag Sapphire. I would expect it to work with a Novag Diamond, Sapphire & Diamond II, and a Citrine, although it hasn’t been tested with them. The later machines have, I believe, slight differences in their serial protocol, so some adjustments may be needed. The Sapphire doesn’t, for example, support the ‘J’ command listed in the documentation to tell the Novag to ‘Go’. You need to use the actual Go button to play black, or swap colours mid-game. Essentially you tell Xboard the engine is now playing the other colour and then press Go on the Novag. Any bug reports, improvements or feedback, please send to user kalatov at