Project Update

May 14, 2022

Interactive LED Chessboard

An interactive LED chessboard that registers pieces players pick up to display possible movements aims to help beginners learn how to play chess.

Project Dates: March 2022 - May 2022

Built with: Arduino

Final product of interactive chessboard assembled with lit up spaces.

Learning how to play chess is complicated and challenging for many newcomers. Oftentimes, players who recently started practicing find it hard to remember the legal moves for each piece type. We set out to solve this problem by creating an interactive chessboard that registers the piece which the player picks up and displays possible movements.

Left to right: Walls interlock design against the board; Walls after all LEDs were weaved through and attached; Initial idea where piece would be placed on button through board.

Piece and tile design

Our original design incorporated a total of 64 circuits, one installed under each tile. Each circuit was cut using a header male/female header design. The male header end was placed in the middle of each tile, so that its two pins would protrude the tile. We incorporated the female header in the chess pieces. Therefore, when the piece was placed on a tile, the circuit was completed, sending a high signal. The 8 signals from the tiles of each row were collected by a shift register and sent to the Arduino serial monitor for monitoring.

Initial wiring when using multiplexes and circuit design.

Code design

Our Arduino code read the array of 64 signals by the serial monitor and tracked when there were changes in the string to detect which piece was picked up. Using dedicated functions for each piece type, our code generates the possible moves for each piece and uses the FastLED Arduino library to light up the corresponding LEDs placed under the legal move tiles. When the piece is placed on a tile again, the code refreshes the board so that the next move is possible.

Code-generated text-based chessboard reflects the current board state and shows possible moves.

Troubleshooting and design shift

Unfortunately, our shift registers proved to be unreliable, and we pivoted to a second design concept. We wrote code to generate a text-based chessboard that showed up on the serial monitor and allowed the user to register their moves. The chessboard representation refreshes and displays the possible moves, while the corresponding LEDs placed under the legal move tiles lit up. Once the tile that the user wants to place the piece on is registered, the board refreshes once more so that the next move is possible.

Final piece and tile design.

Outlook and possible improvements

If our budget was bigger, we could have ordered parts that would have made things simpler. More time would have allowed for more testing and construction of the final design (i.e., using magnetic reed switches instead of headers). Finally, placing the walls first and then gluing in the headers would have saved time.

Notes

  • This work was co-developed with the help of my teammate Gianluca Trofa.

  • Big thanks to Elaine, Steve, Charlie in the Harvard Makerspace for their help and advice, as well as Leo for the material inspiration.

Resources

Github reporsitory (report and code)

Github reporsitory (report and code)

View

View

©2024 Evangelos Kassos

©2024 Evangelos Kassos