PRG32 / embedded education
Platform for RISC-V Gaming Development (32-bit)
Learn systems
by building games.
An open-source educational runtime for teaching RISC-V assembly and C through native game cartridges on ESP32-C6 hardware and QEMU.
ESP32-C6 / RV32IMACWhat it is
An educational runtime with a real hardware boundary.
PRG32 is an open-source platform for teaching RISC-V assembly and C through retro-game cartridges. The code runs on an ESP32-C6 board, or through the project's desktop QEMU path, with the hardware and software boundary kept visible.
Native RV32IMAC machine code with a small init / update / draw cartridge loop.
ESP32-C6 board, ILI9341 display, joystick, buttons, and optional audio.
An Espressif QEMU target for testing the runtime and cartridges without the physical board.
Cartridge Store and Construction Kit deployments through the browser Web Serial API.
My contribution
The parts I helped make work.
My contribution was mostly on the edges where the project becomes usable: getting the emulator path into shape, making the work easier to follow, testing the pieces together and rebuilding the Store surface.
QEMU runtime
Made the desktop/emulator path usable for development and testing when the physical board was not available.
Documentation
Improved the project documentation around setup, workflows and the relationship between the runtime, cartridges and tools.
Testing
Tested the runtime, QEMU path, cartridges, hardware flows and web tooling across the parts of the platform that need to agree.
Cartridge Store rewrite
Reworked the Store in the development branch from its earlier Flask path to a Fastify service and Next.js PWA surface.
Credits & public work
A shared project, with a visible contribution.
PRG32 is an open-source, open-hardware, non-profit research prototype developed at the University of Naples Parthenope. My work sits inside a broader team effort, so the people and the public moments belong in the case study too.
IEEE eScience 2026
PRG32 was presented as part of the Poster & Demo programme in Naples, alongside the paper “A Retro-Gaming Platform for Teaching RISC-V Programming in Higher Education.”
Maker Faire Rome 2026
A public, hands-on demonstration of the platform, its runtime and the games running on the hardware.
Raffaele Montella, Simone Boscaglia, Ivan Cafiero, Dario Caramiello, Paola Barra, Iacopo Colonnelli, Marco Lapegna
View the accepted paper listInside the platform
From source code to a running cartridge.
Build
Write a cartridge in RISC-V assembly or C, then package it as a portable .prg32 artifact.
Explore
Use the Construction Kit to make games with blocks, C or assembly, sprites, and sound in the browser.
Run
Install cartridges from the Store or the Kit onto a console over native USB and start them on the board.
Test
Use the QEMU workflow and the runtime tooling to validate cartridges before taking them to hardware.
The system in use
The platform is easier to understand when you can see it running.
Public screens from the official PRG32 repository: the firmware menus, the runtime, the cartridge catalogue and the wider ecosystem around the board.

















Continue with PRG32
Three ways into the platform.
The project is intentionally split across the code, the distribution surface, and the browser-based toolchain. Start with the layer that interests you.
Read the runtime, cartridge format, firmware, and emulator code behind the platform.
Browse published games and see how cartridges move from a built artifact to the hardware.
Build and package cartridges from the browser before taking them to a PRG32 board.