<aside> <img src="/icons/burst_gray.svg" alt="/icons/burst_gray.svg" width="40px" />
Domains: Bare-metal, Drivers, ARM Assembly, Hardware Abstraction Layer
</aside>
https://github.com/dark-knightshanks/NovaPi
This project focuses on building a lightweight bare-metal operating system for the Raspberry Pi 4B from scratch. The system provides a hardware abstraction layer with support for essential components such as communication protocols, interrupt controllers, and HDMI output. To demonstrate its capabilities, the project will feature a simple Pong game rendered over HDMI, fully powered by the custom kernel.


Bare-Metal Programming Running code directly on hardware without the use of an existing operating system, providing complete control over the system.
Hardware Abstraction Layer (HAL) A software layer that provides a consistent interface to interact with hardware components, simplifying driver development.
ARM Assembly Low-level programming language specific to the ARM architecture, used to write critical system routines.
Interrupt Controller Hardware that manages interrupts, allowing the CPU to handle asynchronous events efficiently.
HDMI Output A video interface standard used to render graphical output directly from the system’s custom kernel.