Twitter icon
Facebook icon
LinkedIn icon
Google icon
Reddit icon
StumbleUpon icon icon

Wooden Chess Board with Piece Recognition

Added to IoTplaybook or last updated on: 11/24/2019
Wooden Chess Board with Piece Recognition


This site describes a fully working chess computer that recognizes piece positions using reed switches and signals its move using a LED on each square.

Wooden Chess Board with Piece Recognition

It runs from an Arduino which controls the board, connected to a Raspberry PI which runs the chess engine Stockfish and a chess rules library called Chessboard. It is completely self contained, just plug it in, press the green button and you are playing.

Key Features:

Play chess by moving pieces  and the computer signals its move using by flashing an LED

  • Stockfish chess engine with a maximum rating of GM with an ELO level around 2900
  • 21 levels of play
  • Set personality: aggressiveness and cowardice
  • Play as black or white
  • Play human vs human
  • Validates moves against full moves of chess, signals error & allows re-move
  • Recognizes and makes special moves: Castling; En Passant, Pawn Promotion
  • Provides hint if stuck
  • Option to save game as pgn

Things used in this project

Hardware components

Raspberry Pi 1 Model B+
Raspberry Pi 1 Model B+
Runs the Stockfish Chess Engine
× 1





Arduino UNO & Genuino UNO
Arduino UNO & Genuino UNO
Monitors the chessboard and tracks chess pieces
× 1



Arduino Store


3 mm LED: Green
3 mm LED: Green
× 1


reed switch
× 1  
SparkFun MAX7219 LED display driver.
× 1


Centipede Shield
× 1


Software apps and online services

  Stockfish 10

How it Works:

The next few pages explain how it works, there are two parts:

Hardware: electronics and the board

Software: The programs that drive it

Why an Arduino and a Raspberry PI?

An Arduino is great for real-time control of the devices on the chessboard, but it does not use a conventional operating system like Unix/Debian/Raspian. Therefore Stockfish and most other strong chess engines won’t run on it. I believe there are a few chess engines that do run on Arduino, but they will not be as strong as Stockfish.

My interest in building chess computers started with Arduino and at the time the Raspberry Pi had not been released. Six months later it was and I realized I needed a different computer so I added the Raspberry Pi to run the engine.

If I was starting again today I would just use just the Raspberry PI with no Arduino,  and I explain how you would get it to control the board here.  However now that I have a great board that I can barely beat on level 3 out of 21, I have no reason to build another one.

I see that some people are designing robot arm playing chess computers, that sounds really cool. In that case, I would use an Arduino to control the arm, board sensors, etc and use a Raspberry Pi to run the chess engine.

Why the Stockfish Chess Engine?

Its the most powerful configurable Open Source multi-platform robust Chess engine

See here for more detail.

“I know what you’re thinking, punk. You’re thinking “is it mate in six moves or only five?” Now to tell you the truth I forgot myself in all this excitement. But being this is a 64-bit Stockfish, the most powerful chess engine in the world and will blow your defense clean off, you’ve gotta ask yourself a question: “Do I feel lucky?” Well, do ya, punk?”


Original inspiration from these sites:

Which set me off building a USB chessboard for connection to a PC based computer program. After that, the next step was to build a complete chess computer.


For more details on this project go to:




 Dabbling techy that builds stuff with RPIs and Arduinos



This content is provided by our content partner Avnet, a global technology solutions provider with end-to-end ecosystem capabilities. Visit them online for more great content like this.

This article was originally published at Avnet. It was added to IoTplaybook or last modified on 11/24/2019.