The Chess Computer for nerds, by nerds.

RTFM badge Discord badge License badge


Picture by Picture#

ACID Chess is a chess computer written in Python, which can be used with any? board. By filming the board, the contour of the board is recognized, and the positions of the individual pieces can be determined.

How it works - over the board

Two Neural Networks were trained for the board and squares recognition.

Board Segmentation Model#

Board Segmentation

Square Classification Model#

~15585 square images

Board Segmentation

Current Release#

2023-11-23: v.0.2.0#

  • added support to play on Lichess

complete Changelog


You can play against an engine, Stockfish or Maia are available, or play a game against another human. In both variants, a PGN is generated, which you can load later in the analysis board at Lichess, or so, for analysis.

  • Engine play against Stockfish or Maia

  • Use polyglot opening books

  • Play on Lichess

  • PGN exports

How it works - GUI

Planned Features#

  • Clock

  • … see issues for details


  • Python as a programming language

  • Qt (PySide6) as toolkit for the GUI (with own extension for reactive bindings)

  • PyTorch (Lightning ) for the development of AI models

I want to play against ACID!#

We have tested ACID Chess with four different boards and were able to complete games without significant flaws. There will be problems on unknown boards, but every tester makes ACID Chess better!

Regardless of the chosen installation method: ACID Chess saves images of data that cannot be classified sufficiently. Please provide us with this data. Create an issue and upload a ZIP file as an attachment. <3








Contributions are always welcome. Please discuss major changes via issue first before submitting a pull request.

Data Attribution#

Google Programmable Search Engine Rest API was used to search for Creative Commons licensed images of chess boards used for training the neural network models.

  • Notebook for collecting the data

  • CSV to document the Attribution