Move Recording Chessboard

This project is still in very early stages of development. The end goal is to allow users to play a game and then get a move record of the game afterwards. Single-square tests have shown success and now it just needs to be scaled to 64 squares and have software written. See the technical plan below.

The Story Behind the Project

This was a nice bonding project to do some woodworking with my grandpa, but to make it electrically feasible became too expensive and tedious for a project that already has many similar (and better) products on the market anyway.


Technical plan

Each piece will have a magnet in the bottom and magnetic sensors under each square. In order to prevent accidental moves or knocked-over pieces being interpreted as moves, the software will determine moves based on a built in chess clock that users press at the beginning and end of each turn.

For captured pieces to be interpreted correctly, the microcontroller must be able to distinguish between a black and white piece, so white and black pieces are mounted with opposite magnetic poles facing down. To read this, we require two sensors per square: a reed switch to detect the presence of a piece, and a magnetic sensor to determine if it is white or black.

In order to connect 128 sensors to a single microcontroller with limited pins, daisy-chained shift registers are used for the reed switches. This will allow all 64 sensors to be read using only 3 microcontroller pins.

Frustratingly, the magnetic sensors' "high" state is only 0.5 V which still registers as a digital low. In order to avoid including 64 op-amps, a series of analog MUXes will be used to allow the microcontroller to use around 10 pins to select which square to take a reading from, and only a single op-amp is necessary on the single input pin.