Quake on the MGM240P: A Microcontroller Gaming Challenge

The ambitious Quake port project showcases the impressive capabilities of Silicon Labs' MGM240P microcontroller, initially demonstrated at Embedded World. Following a successful Doom port on the SparkFun Thing Plus Matter board, a Silicon Labs engineer took on the challenge of running the more demanding Quake game on the same platform. This project highlights the MGM240P's advanced capabilities, going beyond typical microcontroller applications and pushing the limits of retro gaming on low-power hardware.

The Electromaker Show
Watch Ian talk about playing Quake on an Arduino Nano Matter Board in this episode of The Electromaker Show

Technical Challenges and Hardware Setup

Porting Quake to the MGM240P microcontroller presented notable technical challenges, particularly due to constraints on memory, processing power, and clock speed. The engineer addressed these by optimizing resource management and overclocking the EFR32MG24 chip to 136.5 MHz. The setup includes the SparkFun Thing Plus MGM240P board, a gamepad designed for a responsive control experience, and an Adafruit screen displaying the game at 320x200 resolution. Together, these components enabled the successful adaptation of Quake’s complex graphics and gameplay features.

Quake on a microcontroller

Game Functionality and Performance

The Quake port on the MGM240P microcontroller maintains essential game features, including full 3D rendering, enemy AI, dynamic lighting, and stereo sound. Despite memory constraints, the port achieves impressive frame rates, ranging from 19 to 40 FPS, allowing for smooth gameplay on the microcontroller setup. By utilizing the EFR32MG24’s processing power efficiently, the project showcases how this hardware can handle complex, resource-intensive applications, pushing the boundaries of what’s achievable on a low-power device.

Did you enjoy this article?

Make sure you subscribe to The Electromaker Show for similar content and subscribe to our monthly newsletter!

Leave your feedback...