Embedded Systems Final Project: Space Invaders Game

By Jamal Bouajjaj


This project, which was my final project for my Embedded Systems Class, required that I recreate the infamous Space Invaders game. The development board we were given is the MikroE for ARM V7. Although the company does make an IDE which was used/tough throughout the class, I though it was utter shit (both the IDE and the compiler) and instead opted to use ST's CubeIDE. As a bonus, that IDE is able to run on Linux. But that meant that I would have to write my own drivers for the LCD and EEPROM, which I took as a challenge.
The game was to be shown on an ILI9341 driven LCD module. Sound was to be generated with a passive buzzer with PWM. The top score was stored on a 24AA01 1k EEPROM.
If you are interested in this project, I recommend that you check out the report below, as I won't be typing the same context twice.

Python Helper

As mentioned in the report, there is a Python program that I created to make the bitmaps in-game. One of them takes an image file and convert it to an array in which the microcontroller is able to directly send to the LCD to display a bitmap. Another program generates text based on a font and created an array so they can be displayed in game.


Coming Soon!

Report and Source Code

The report on this project can be found below, as well as the report's source code (made in LaTeX) and the project's source code:

Report PDF File


LaTeX Source Code

Report Source Code

Project Source Code

Project Source Code