A chessboard with built in piece detection and Stockfish engine. From turning the pieces on a lathe, to soldering the components, to coding the Raspberry Pi. This is true full stack development.
A Wood Working component with turning the pieces and building the board
An Electrical Engineering component of wiring and soldering it together
A Software component with coding the logic of the board on a Raspberry Pi Zero
While I had more experience in some (Software) than others (Wood Working), each took a tremendous amount of time to accomplish the parts necessary for this project.
Now that's full stack
First created and tested on breadboards, final soldering was done in this layout (created using KiCAD):
With the boards (pre-soldering):
In the general layout (pre-soldering, pre-wires):
And the layout of the reed switches was (pre-soldering):
Thank you to Paul (Grandpa) for buiding the board for me:
And for building the pieces with me (first time on a lathe!):
Pieces contain magnets for reed switches (top) and RFID chips for scanning (bottom):
Take a look at the code for full details, but here is a brief overview of the modules I used/created for the project.
import string, time, os, datetime, sys, re
import RPi.GPIO as GPIO
I contributed to make this work in my project: Github
from stockfish import Stockfish
I built this to run the 74HC595 Github PyPI
import pi74HC595
Editied from: Github to run the LCD1602 display With accompanying Video
import lcddriver
Used to run the MFRC522 RFID reader: Github
from mfrc522 import SimpleMFRC522
Used to run the MCP23017s: Github
import board, busio
from adafruit_mcp230xx.mcp23017 import MCP23017
The engine ended up being a fair bit of effort to get working since the Python module Stockfish needed some changes to make it work how I wanted.
And the engine itself here: Stockfish Download
Compiled by running "sudo make -j4 profile-build ARCH=armv7 LDFLAGS="-latomic -lpthread -lgcov" on the source code
- Mastercraft 25W Soldering Iron
- Raspberry Pi Zero W
- 16 GB MicroSD Card
- 2.5A Power Supply
- 2x20-pin Male Header
- Freenove RFID Starter Kit
- 74HC595
- LED Bar
- LCD1602 Display
- RC522 RFID module
- 1N4001 Diode
- 28 Male-to-Female Wires
- 32 x 20mm 13.56MHZ RFID Tags
- 3 x Switches
- 2 x Buttons
- 4 x MCP23017
- 32 x Neodymium Magnets
- Various PCB Prototype Boards
- 10 x 220 ohms Resistors
- 4 x 1K ohms Resistors
- 68 x 10K ohms Resistors
- 22 Gauge Multicolour Wires
- 64 x Reed Switches
MIT License. Please see License File for more information.