Embedded Systems Final Project: Space Invaders Game

By Jamal Bouajjaj

Introduction:

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.

Images:

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

Report


LaTeX Source Code

Report Source Code


Project Source Code

Project Source Code