Tetris is a puzzle game that was released in 1984. It requires the
player to move and rotate falling shapes so that they form lines. In the
first semester at the University of Bath, I was tasked with programming
2 Arduino Unos to communicate with eachother in a meaningful way. In
this group project, me and my partner re-created Tetris, with one
Ardunio being used to drive the gameboard and move the shapes, and the
other for controlling the game and showing the score. The project also
involved us creating a 12 x 12 LED matrix by soldering together LED
From this project, I became inspired to create a program in Java, to control the matrix. The program would allow full control of the 12 x 12 LED matrix, allowing for pre-loaded effects, including random display, colour runs and fading colours. The program also allowed for a custom LED pattern to be loaded onto it over the GUI.
While working on Tetris, I gained an understanding of how to program Arduinos and use the Arduino IDE. I also gained experience in bug fixing and solving problems within the logic of the code and was required to be creative and think of algorithms that used less lines of code due to the limited memory size of the Arduino. The matrix control program built upon the skills that I learnt when programming Tetris and developed my understanding of how a serial communication can be used in Java to communicate with an Arduino. My experience with using external libraries was also improved when using the FastLED library to control the LED matrix. My problem solving and critical thinking skills were improved when designing algorithms to display interesting patterns on the matrix.