🚀 Project HERMES
Inspiration
Buying expensive handheld consoles or repurchasing the same games across platforms felt limiting. We wanted a way to play our existing PC games anywhere without compromise. Inspired by the portability of devices like the Steam Deck, we set out to build our own open-source alternative powered by the Raspberry Pi.
SIMPLY PUT:
ANY GAME. ANY PLATFORM. ANY WHERE. ANY TIME. FOR FREE. (you just need a pc/laptop)
What it does
Project HERMES transforms a Raspberry Pi 4 into a handheld game streaming console with a polished OS layer.
Custom boot animation + sleek UI with smooth transitions (slide, fade, swipe).
Controller-ready interface built for Xbox controllers.
Launch PC streaming services (Steam Link, Moonlight, Parsec) with one button.
On-device settings panel: Wi-Fi, Bluetooth, volume, system stats (battery, CPU temp).
Game library browser with cover art.
Optional AI frame enhancement and acceleration for low-latency, high-quality gameplay.
It looks and feels like a console — but it’s fully open source.
How we built it
1. Raspberry Pi 4 - SteamLink Client
The Raspberry Pi 4 will be running Raspberry Pi OS with the official SteamLink client downloaded onto it (might also add a script that makes SteamLink automatically launch every time the Pi is booted :0).
SteamLink Handles this:
- Video/Audio: It takes the video and audio from your computer and streams it to the Pi!
- It also takes inputs from the controller on Project Hermes and sends it back to your computer
So basically:
Gaming PC => SteamLink => Project Hermes (Video + Audio)
Project Hermes => SteamLink => Gaming PC (Controller Input)
This makes it so all the heavy lifting/processing power is done by your PC and the Pi just becomes the bridge the carries the pixels (video/audio) in one direction and controller signals in the other (just like Hermes!!).
2. Custom Controller - GP2040-CE Firmware
- The RP2040-Zero microcontroller inside the controller PCB will be running GP2040-CE, which is an opensource firmware deisnged for game controllers! What GP2040-CE does:
- Turns the controller into a USB HID! Basically this means that the Pi and PC see it as a standard controller just like an Xbox controller
- Handles all the button presses, D-pad inputs, and analog signals from the joysticks (which the Pi cannot do btw since it does not have analog pins to my knowledge) and then sends them as input data over USB to the Pi.
- It's low latency and fully compatible with SteamLink, which means your computer treats Project Hermes like a normal controller with no special drivers or extra setup :D
- LOOK INTO GP2040-CE AND SUPPORT THEM THEY ARE SO COOL RAHHHH >:O
Why This Setup?
- No custom firmware: Since GP2040-CE is highly optimized for gaming responsiveness (fancy shamncy way of saying its low latency ig) and supports all the features I need for this project without :DD
- Plug and play: this one is kinda self explantory but it makes sure that I can just plug in USB and immediately start using it as a controller without having the Raspberry Pi guess what the controller is or anything like that
- Reliability: Using a seperate dedicated microcontroller for the input reduces latency and avoids weird input issues (take this with a grain of salt this is what I infered from other handheld console projects online)
Hardware: Raspberry Pi 4, custom 3D-printed handheld shell, Xbox 360 controller input.
Software: Electron + React + Framer Motion for UI, Node.js backend to run system commands and scripts, Linux systemd services for autostart.
Streaming: Integrated with Steam Link / Moonlight.
AI Acceleration: Experimented with frame interpolation + upscaling for smoother remote play.
Challenges we ran into
Handling controller input at the OS layer.
Getting smooth animations on limited Pi hardware.
Bridging frontend UI with backend .sh scripts.
Managing state across multiple panels and screens.
Accomplishments that we’re proud of
Built a console-quality UX on open hardware.
Designed a modular frontend so more devs can contribute features.
Achieved low-latency streaming with added polish like boot animations and system overlays.
What’s next for Project HERMES
Expand plugin system so community can add features (themes, overlays, retro emulation).
Improve AI frame enhancement for smoother gameplay.
Build a larger community around HERMES— Discord, GitHub, Hackaday.
Explore distributing pre-flashed HERMESos images and DIY handheld kits.
Built With
- electron
- electronics
- linux
- raspberry-pi
- shell
- soldering
- steam
- typescript
- vite

Log in or sign up for Devpost to join the conversation.