Skip to content
Python JavaScript C C++ HTML CSS Other
Branch: master
Clone or download
Latest commit 7a6213a Oct 1, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
ChessboardLarge . Aug 20, 2018
ChessboardTest Add ChessboardTest. Flashsquare when square changed, send sq no to se… Aug 24, 2018
Chessboard_S_v2 Pi Version Aug 28, 2018
books Vn Aug 20, 2018
build Vn Aug 20, 2018
dgt Add nonDGt code Aug 20, 2018
docs Vn Aug 20, 2018
engines Add nonDGt code Aug 20, 2018
etc Vn Aug 20, 2018
games Vn Aug 20, 2018
logs Vn Aug 20, 2018
manual Vn Aug 20, 2018
scripts Vn Aug 20, 2018
tablebases Vn Aug 20, 2018
talker Vn Aug 20, 2018
test Vn Aug 20, 2018
uci Vn Aug 20, 2018
web Vn Aug 20, 2018
.gitignore Vn Aug 20, 2018
.landscape.yaml Vn Aug 20, 2018
AUTHORS Vn Aug 20, 2018
LICENSE Vn Aug 20, 2018 Modify readme Oct 1, 2019 Fix Bug introduced by training mode Sep 6, 2018 Add nonDGt code Aug 20, 2018 Vn Aug 20, 2018
picochess.ini ini file for pi Aug 28, 2018
picochess.ini.example Add nonDGt code Aug 20, 2018 Add nonDGt code Aug 20, 2018
requirements.txt Vn Aug 20, 2018 Add nonDGt code Aug 20, 2018
start.bat Add nonDGt code Aug 20, 2018 Vn Aug 20, 2018 Add nonDGt code Aug 20, 2018


This is quite a complicated project. I recommend you do not attempt it unless you have some knowledge of digital electronics, Arduino C programming and Python programming. Without These skills you will find it difficult to locate any wiring or component errors.

It requires a I2c 20*4 LCD display connected to the raspberry pi via I2c.

Functionality. To scan the reed switches, the Arduino uses a 4017 chip to set each row in turn to + 5v, Then reads the columns into the arduino via the shift register. (nb It doesn't start to monitor buttons or reed matrix until it detects the pieces are set up to starting chess position, comment out the newgame line in the startup code to bypass this check.) When a reed swith opens or closes the led for that square are flashed. The arduino also monitors the buttons in the same way. It sends "B:n" for a button change or move (eg "D2D4") to the pi via the usb port.

To test the board, monitor Arduino serial to make sure it is sending the expected messages.

To configure the raspberry pi follow these steps.

Download the last free picochess image from the picochess website. (version N). remove or rename /usr/picochess ( to stop this from autostarting when the pi boots.) download the python code here and copy it to home on the pi. After rebooting start with python3

picochess is well documented on the picochess website.

When everythin is working you can move the picochess directory to /usr so it starts automatically on boot.

You can’t perform that action at this time.