March 3rd, 2022—
Chess still remains an extremely popular game but finding someone to play against can be a struggle, especially when it’s done in-person instead of through a screen. Greg06 on Instructables has created an automated chessboard that can not only tell where specific pieces are moved, but also play against a live human opponent intelligently while moving its own pieces.
At the base of the gameboard is a two-axis gantry system, which is responsible for moving the chess pieces positioned above via an electromagnet. And rather than placing one stepper motor on each axis, the gantry takes advantage of the CoreXY concept which can move the magnet in all directions with a complex arrangement of pulleys, belts, and two stationary stepper motors. Controlling this is a single Arduino Nano connected to a pair of A4988 drivers, a MOSFET for driving the magnet, and two limit switches for homing.
The game is able to determine which piece was moved and to which specific grid square via an 8×8 matrix of reed switches that close a circuit whenever there is a magnet nearby. To save on GPIO pins, four multiplexers were added in order to take the 64 incoming values from the switches and convert it into a single 6-bit value. Finally, a 16×2 character LCD was included for providing instructions/menus to the player(s).
The entire system works by running several iterations of a chess minimax algorithm that attempts to select the optimal move given the current state of the board. To see it in action, you can watch Greg’s demo’s video below or read more about the project here on Instructables.