Though I have completed all the hardware of my IoT chess board, I am still in the process of developing the software for it.
An Arduino MEGA sits underneath the board and controls the hardware, while a Raspberry Pi runs a webserver and takes care of the processing. Therefore the software development comes in three parts:
The Arduino software, for physically controlling the LEDs and detection circuit on the board
The communication protocol between the Arduino and Raspberry Pi
The Raspberry Pi software, creating a functioning webserver with an online UI.
I have completed the first two modules, leaving the Pi server as the last task in this project. You can find source code for my Arduino libraries Chess (for controlling the board hardware) and ChessSerial (for handling Serial communications with the Pi) at https://github.com/bengineer19/chess
I recently undertook a month of work experience at Vitec, one half of which consisted of me shadowing engineers in their jobs and spending time in each department – mechanical engineering, electrical engineering, software, testing etc.
The other half of the time, I was allowed to use the company’s resources to build a project of my choice.
I chose to build an IoT chess board; a physical chess board that interfaces with online chess. Details can be found here.