The Mission: Modern gaming has become increasingly complex, expensive, and isolated, often relying on high-end hardware and internet connectivity. "Project R&F" was conceived to revive the social aspect of gaming by engineering a console that bridges retro nostalgia with modern embedded technology. Our goal was to create a cost-effective, accessible, and purely offline multiplayer experience that encourages face-to-face interaction.
The Innovation: The primary innovation is to make old retro single-player games into multiplayer experiences. Unlike traditional retro emulators that use a single shared screen or split-screen software, this system drives two independent VGA monitors simultaneously. This allows for true "head-to-head" multiplayer functionality where each player has a dedicated view, yet the game state remains perfectly synchronized via a custom hardware link.
The Engineering Challenge: The project required the development of a distributed embedded network. To achieve real-time performance without an Operating System, we offloaded tasks across multiple specialized microcontrollers:
Leading a team of three Computer Engineers, I was solely responsible for the entire hardware lifecycle. This included the schematic capture and PCB layout of all three system boards (Main Console, Audio Subsystem, and Controllers) using Altium Designer. I engineered the power architecture to support 72-hour runtimes, designed the mixed-signal VGA output stages, and managed the physical fabrication of the enclosures. Additionally, I bridged the gap between hardware and software, writing the low-level drivers for the Bluetooth stack and audio synchronization.
The decision to use a distributed multi-processor architecture was driven by the need to isolate high-speed video generation from asynchronous user input. Below is the rationale for the key components we selected for the final design.
We selected the ESP32-WROVER-E for the main console due to its dual-core Xtensa LX6 architecture running at 240 MHz.
For the wireless controllers, we chose the ATmega328P (the chip found in the Arduino Uno).
We utilized the HC-05 Bluetooth Classic module in a Master/Slave configuration.
As a group, we focused on building a robust hardware ecosystem. My specific focus was on moving from breadboard prototypes to three custom-fabricated Printed Circuit Boards (PCBs). This required careful consideration of power integrity, signal routing, and thermal management.
We engineered a power system designed for extreme endurance. The controller uses two 18650 Lithium-Ion batteries (3300mAh each) wired in parallel, providing a total capacity of 6.6Ah at 3.7V.
Generating a clean VGA signal from a microcontroller requires precise signal integrity.
*Note: This list highlights the most critical components in the system architecture, not the exhaustive BOM.
| Component | Specification | Quantity | Role |
|---|---|---|---|
| ESP32-WROVER-E | Dual Core 240MHz, 8MB PSRAM | 2 | Main Console Processing & Video Generation |
| ATmega328P-PU | 8-bit AVR, 20MHz | 3 | Controller Logic & Audio Management |
| HC-05 Bluetooth | Bluetooth 2.0+EDR, SPP Profile | 2 | Wireless Data Transmission (Input) |
| MT3608 | 2A DC-DC Step Up Converter | 2 | Boosts 3.7V Li-Ion to 5V System Rail |
| DFPlayer Mini | MP3 Decoder Module | 1 | Hardware Audio Decoding |
| Analog Joystick | 2-Axis Potentiometer with Switch | 2 | User Input Control |
We utilized Altium Designer for the complete ECAD workflow. Below is the documentation of the three distinct boards we designed, routed, and assembled for this project.
Rigorous testing was conducted to verify that the hardware met the demanding requirements of real-time gaming. The following data was collected during the final validation phase.
| Performance Metric | Requirement | Measured Result | Status |
|---|---|---|---|
| Controller Battery Life | ≥ 6 Hours | 72 Hours (Avg of 6 trials) | Exceeded |
| Input Latency | ≤ 100 ms | 38 - 52 ms | Pass |
| Bluetooth Pairing Time | < 10 Seconds | 4.02 Seconds (Avg) | Pass |
| VGA Sync Stability | 60 Hz ± 1% | 60.1 Hz | Pass |
| Power Rail Stability | 5V ± 5% | 5.0V ± 0.05V (Under Load) | Pass |
Problem: Running Wi-Fi (for multiplayer), Bluetooth (for controllers), and VGA generation simultaneously caused system-wide failure due to radio resource contention on the 2.4GHz band.
Solution: We completely removed Wi-Fi from the architecture. We replaced it with a hardwired UART link (GPIO 16/17) between the two ESP32s. This decoupled the multiplayer sync from the radio stack, resolving the crash and lowering power consumption.
Problem: Handling audio directly on the ESP32 introduced jitter into the VGA signal due to interrupt overhead.
Solution: We designed a dedicated Audio PCB with its own ATmega328P. The main console simply sends a brief 27ms GPIO trigger signal, and the dedicated board handles the heavy lifting of MP3 decoding via the DFPlayer Mini.
This project served as a comprehensive application of electrical engineering curriculum, requiring the integration of power, analog, and digital domains.