A custom front panel for the Steam Machine using an ePaper display, a small driver board, and a LiPo battery.
This repo focuses on the mechanical build (3D printed panel, magnetic mounting, cable routing) and provides a clean place to later add firmware and code (work in progress).
- A 3D printed front panel insert that holds one ePaper display (or two) for the Steam Machine
- No screws required, the panel is held by magnets
- Designed around 5.83 inch and 4.2 inch ePaper modules
- Alternative coverage options are possible:
- 7.3 inch (single larger panel) (7.5 inch is also possible, but there are only a few millimeters left on each side)
- 2 × 2.9 inch (two smaller displays and two driver boards)
5.83 inch
4.2 inch
-
Photos were taken with the 5.83 and 4.2 inch Monochrome ePaper Display.(Source: Jonas) (Do you want to water mark your pictures?)
- ePaper display
- We suspect this is also the model Valve used, but we cannot confirm that. (Trough my research i learned that the one they used has backlight)
- Product page: https://www.seeedstudio.com/5-83-Monochrome-ePaper-Display-with-648x480-Pixels-p-5785.html
- Driver board
- Seeed Studio EE04 driver board with an ESP32-S3
- Seeed Studio EN04 driver board with Bluetooth LE
- Magnets (no screws)
- Neodymium disc magnets, 8 mm × 1 mm, 4 pieces total
- Suggested sources:
- Adhesive for magnets
- Thin CA glue (super glue) or 2 component epoxy
- Optional: activator for CA glue
- Polyimide tape and foam tape for cable strain relief and rattle prevention
- Cable clips or zip ties for clean routing
- Black (or any other color you like) PLA/PETG for home printing
You need two main parts: a display and a driver board. There are many display options. A good community maintained reference is here:
https://opendisplay.org/firmware/seeed_display_compatibility.html
From that list, these are especially relevant to this project:
- 5.83 inch Monochrome ePaper Display (648 × 480) www.seeedstudio.com/XIAO-ePaper-Display-Board-EE04-p-6560.html
- 4.2 inch Monochrome ePaper Display (400 × 300) https://www.seeedstudio.com/4-2-Monochrome-ePaper-Display-with-400x300-Pixels-p-5784.html
- 7.3 inch Spectra 6 Color ePaper Display (800 × 480) https://www.seeedstudio.com/7-3inch-Six-Color-eInk-ePaper-Display-with-800x480-Pixels-p-6567.html
- 2.9 inch Monochrome ePaper Display (296 × 128) https://www.seeedstudio.com/2-9-Monochrome-ePaper-Display-with-296x128-Pixels-p-5782.html
Plan to publish the print files and profiles here:
- STL and/or STEP uploads on Thingiverse, Printables (and more)
https://www.thingiverse.com/ https://www.printables.com/ - Bambu Lab print profile on MakerWorld https://makerworld.com/models/123456placeholder
Repo layout suggestion (placeholders, adjust as needed):
models/stl/step/
print-profiles/- Bambu Studio project and/or 3MF profile
docs/- further documentation if needed
images/- images of the steps and finished examples
General notes:
- Print orientation: face down usually gives the cleanest front surface
- Material: PLA works, PETG is nicer if the case runs warm
- Tolerances: test fit your display, then adjust horizontal expansion if needed
- The MakerWorld upload will contain a ready to use profile for repeatable results
If you do not own a 3D printer, you can order the part from JLC3DP:
https://jlc3dp.com/
Recommended settings for consistent results:
-
Process: FDM (Plastic) | strong, but could deform over time
Material: ABS
Color: black
Surface finishing: No -
Process: MJF (Nylon) | nice feel
Material: PA12 HP Nylon
Color: black
Surface finishing: Yes (coloring only, without sanding, to keep dimensions more predictable) -
Process: SLS (Nylon) | more industrial look
Material: 3201PA-F Nylon
Color: black
Surface finishing: No -
Process: FDM (Plastic) | cheap, but could deform over time
Material: PLA
Color: black
Surface finishing: No -
Process: SLA (Resin) | best surface finish, but could deform over time
Material: JLC Black Resin
Color: black
Surface finishing: No
For customs/import or postal services, you can declare the object as HS-Code 853890 or HS-Code 950490.
Names may vary by region and language.
If you choose a different process or manufacturer, you may need to tune magnet pocket fit and the display opening with sanding or cleanup.
- Print the front panel parts (or order them)
- Dry fit the display into the cutout
- Dry fit the magnets into the magnet pockets
- Confirm everything sits flush and the bezel gap is even
- Use 4 magnets (8 mm × 1 mm) in the provided pockets
Important polarity tip:
-
Test the polarity of one magnet with the Steam Machine
-
Place all 4 magnets on one side into the panel first
-
Mark the correct facing direction for the matching pockets
-
Remove them and keep matching pairs aligned before gluing
-
Glue the magnets in place with CA glue or epoxy
-
Let the adhesive fully cure before final assembly (magnets may come loose if it is not fully cured)
Safety warning:
- Neodymium magnets can snap together and pinch fingers. Handle with care.
- Place the display into the cutout
- Ensure pressure is on the frame, not on the fragile display area
- Add strain relief to the display cable (tape tab or clip)
- Place the driver board where you can still access USB and any headers you need
- Avoid metal contact/shorts. Use standoffs or an insulating sheet like polyimide tape
- Bring the panel into position and let the magnets pull it into place
- Check clearance behind the panel for cable bend radius and board thickness
This repo will later include firmware and example code to drive the display.
Planned structure (for later use):
firmware/- Placeholder for Open Display Firmware configuration
- Board setup notes (EN04 / EE04) from the wiki
code/- Placeholder for scripts, assets, and display content generators
docs/- Steam API documentation (links, etc.)
- Software features
- Fixes / notes
If you want to use specific features, set your Steam API key in code/.env.
You can generate your Steam API key here (login required):
https://steamcommunity.com/dev/apikey
We should choose a battery (or at least get one for testing down the road), because the final case needs to be designed around it.
Reasonable battery directions to plan for:
- Candidates: single cell LiPo packs (3.7 V nominal)
- Capacity range that is easy to fit: 500 mAh to 2000 mAh
(depends on the thickness/clearance available in the final model) - Plan physical mounting and padding so the battery cannot move between the panel and the case
(I can update the 3D model to add a battery mount)
- Display compatibility list and Open Display Firmware info
https://opendisplay.org/firmware/seeed_display_compatibility.html - Seeed Studio driver boards
- Base model reference (used as a starting point, then modified)
https://www.printables.com/model/1480740-steam-machine-full-3d-model-step-included
- https://partner.steamgames.com/doc/features/achievements
- https://partner.steamgames.com/doc/api/ISteamUserStats#GetAchievement
Example achievement schema request:
https://api.steampowered.com/ISteamUserStats/GetSchemaForGame/v2/?key=XXXXXXXXXXXXX&appid=XXX


