Demonstrator
We're building a demonstrator for a fair based on Arduino-Pro boards. Choice is the Portenta C33 board, with a Renesas Cortex M33 Processor running up to 200Mhz (!). MCU is part of the RA6M5 series, and supports a stunning 512K RAM and 2MB Flash. This should be enough to build a demo with fancy graphics, using the HAT expander board, making it look like a Raspi :)

The Arduino Space Invaders project is a rite of passage for game developers. It requires you to manage dozens of moving objects (lasers, aliens, the player ship) simultaneously within the strict memory constraints of an 8-bit microcontroller.
Object-Oriented Programming (OOP)
When managing 20 aliens on screen, you can't create 20 X and Y variables by hand. This project is the perfect excuse to learn Structs or Classes.
- You create an
Alienclass that holds its X position, Y position, and speed. - You spawn an Array of
Alienobjects. - In your main
loop(), you use a singleforloop to tell every alien object to.moveDown()and.checkCollision().
Components Needed
- Arduino Uno or an ESP32 (for smooth, high FPS graphics).
- 0.96" OLED I2C Display (128x64): Capable of rendering complex sprites.
- Push Buttons (x3): Left, Right, and FIRE!
- Piezo Buzzer: Essential for the descending heartbeat tempo of the alien swarm.
Memory Management
Because the Uno only has 2KB of RAM, you must use PROGMEM to store your spaceship graphic arrays in the flash memory, otherwise, the Arduino will crash as soon as you turn it on. It's a challenging, deeply rewarding project for intermediate coders.
Check details on Hackster.io - link