dgtdrv − a chess engine to interface with the DGT Digital Chess Boards


dgtdrv <port> [l|r][a|b|w]


dgtdrv is a xboard, uci and crafty compatible interface for DGT’s electronic chess boards. For maximum compatibility it behaves acutally a chess engine.

It is meant as an interface between your chess playing program or your chess GUI and the DGT Digital Chess Board connected to your computer via serial or USB interface. Dgtdrv connects to your chess board and sends the moves you make to your chess software. If your chess software does not know how to interface with dgtdrv it acts just like another chess engine. That is as long as your chess software is able to perform an engine-engine turnament you can use dgtdrv in that mode to use your chess board with that software. However, if the software knows how to interact dgtdrv much more powerfull features are possible.

To connect to your board dgtdrv requires the dgtnix library by Pierre Boulenguez to be installed and available on your system. This library is available under the terms of the GNU General Public License form http://dgtnix.sourceforge.net.


<port> com-port

The com port your chess board is connected to. The DGT chess board exists in serval versions:

serial connector

In this case on Linux /dev/ttsS? should be used, e.g. /dev/ttyS0 for the first serial. Other flavaours of Un*x use different names. Please refert to the manuals. port.

USB conector

Several locations of the proper com port are possible depending on the actual setup. This als applies if a serial board is used by means of a serial to USB convertor. Common values for USB serial ports again on Linux (for other flavours of Un*x please refer to the manuals) are




[l|r][a|b|w] options

These characters define the setup of the dgtdrv, that is the orientation of the chessboard and which moves to send as actual moves. The syntax is compatible with crafty, the ordering is important.

[l|r] orientation of the board

l for left and r for right define the position of the DGT chess clock from whites point of view. l is the normal setup where the clock is placed to whites left, r uses the board upside down with the clock to whites right.

[a|b|w] which moves to send

This character tells dgtdrv which moves to send as actual moves. This handling is important as the user has to make all the moves on the board which the opponent (engine) issues.


Put the board in analysis mode, that is send all moves as actual moves. This will confuse the GUI if it does not know about this, as the GUI will think that White is moving Black pieces and vice versa. xboard e.g. will issue an "illegal move" and end the game to the opponents favour immediately.


This will send only moves by the black pieces as actual moves. Moving white pieces will sent to the GUI as informative strings however. They will show up in the info window if the GUI offers one.


The same as "b" but for white moves.

<name> Username

Some GUIs use the name the engine passes to them for the PNG header fields upon saving a game. For this reason the name the engine reports to the GUI can be set here. This argument is optional, if not given it defaults to the programs full name and revision. Note: No spaces are allowed for the name, quoting will not work here.


This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.


dgtdrv(3), crafty(6), xboard(6),

dgtdrv homepage: http://dgtdrv.sourceforge.net/

dgtnix homepage: http://dgtnix.sourceforge.net/

The dgtdrv manual

The GNU General Public License.


Alexander Wagner using dgtnix from Pierre Boulenguez