A low-level implementation of the classic Connect 4 game, developed for the MicroZed APO board, focusing on peripheral use.
Developed by Yordan YORDANOV and Marie-Ange ROUSSEAU for the Computer architectures class in Czech Technical University in Prague (CVUT).
(May 2025)
This project implements a two-player Connect 4 game on the MZ_APO board, utilizing peripherals such as:
- LCD display
- Rotary encoders
- RGB LEDs
- 32 LED line
- Piezo speaker
The system is written entirely in C and is structured around a finite state machine (FSM) to manage game flow and interface transitions. User interaction is handled through rotary encoders, with visual feedback on the LCD and LEDs, and audio cues via the speaker.
For a complete overview of the project, including code, documentation, schematics, and screenshots, visit:
https://connect4.yourdan.uk
A modular overview showing interactions between source files and subsystems.
The FSM represents modes of the application and transitions based on user actions and game logic.

Press the red button to start a game or the green one to view instructions.

Scroll with the red knob. Return to menu with the blue button.

Rotate the red knob to select a column, press red button to drop a disc.

RGB LEDs indicate the current player.

Displays winner and score. Red button to replay, blue to return to menu.
sudo apt install crossbuild-essential-armhfscp ctu_login@postel.felk.cvut.cz:/opt/zynq/ssh-connect/mzapo-root-key ~/.ssh/
chmod go-rwx ~/.ssh/mzapo-root-key
ssh-add ~/.ssh/mzapo-root-keysudo apt install makesudo apt install gitgit clone https://github.com/thr33bricks/Connect4-mcu/
cd codebasemake run TARGET_IP={BOARD_IP}
