Multiplayer Chess
As part of our ECE coursework in Spring 2023, our Introduction to Embedded Systems class (ECE 319H) had us make a game for our final project using C++ firmware on a TM4C microcontroller. My group decided to make multiplayer chess using half-duplex UART communication over infrared light.
Below is a picture of the early stages of development in simulation. We split up the work by chess piece, so each one of us would implement a couple of the pieces' logic and artwork. I took initiative to organize the project in a modular way such that this type of asynchronous collaboration was possible.
We then tested the system on a breadboard, complete with a DAC for audio output and an ADC for potentiometer input.
Finally, we assembled two PCBs and presented the project along with all of our other classmates during the last class session. Our implementation of chess met all of the rules including check, checkmate, pawn promotion, en passant, pinned pieces, and stalemate.