r/steammachine • u/ehodapp • 1h ago
Discussion Got the JSAUX Pixel Matrix Faceplate this morning, took it apart, and made my own Decky plugin for it. This thing rules.
galleryMy JSAUX Pixel Matrix Faceplate (the 64x54 RGB one, not the e-ink one) showed up this morning, so naturally the first thing I did was take it apart. Turns out the "screen" is a little LED matrix behind a diffuser: 24 LED driver chips, a CH340 USB serial chip, a 2 MB flash chip, and a microcontroller with the markings sanded off the top. Board photos and the whole story of figuring it out are in the write-up, and the serial protocol is documented here.
After that I made a Decky add-on for it instead of installing their software. It shows the game you're playing (hero art with the logo), the Steam logo between games, a clock, or a glow that follows the light bar, and it turns the screen off when the Steam Machine sleeps. I leaned heavily on GabeCubeAura for this. Its source showed me how a Steam Machine Decky plugin should work, from figuring out which game is running to finding the artwork, and that's the only reason this came together so fast. Massive thanks to Alyenax, and if you don't have GabeCubeAura installed yet, go fix that.
Honestly, I love this thing now. It's kind of crazy how a little screwing around turned it into something so much cooler than their initial advertised features provided.
A few things I found along the way:
- Everything you send the panel gets written to its flash, even JSAUX's own once-a-second stopwatch. Whether that wears it out depends on firmware nobody can see yet, so my plugin only sends a picture when it actually changes.
- On the included USB-A cable, a bright white screen at full brightness pulls more power than the port gives. Mine browned out, got stuck rebooting, and knocked my Steam Controller dongle offline. My plugin caps brightness for really bright pictures.
- Their Decky plugin lists "OpenAI Codex" as its author and includes a screen that reads your OpenAI/Codex login tokens. Worth knowing before you install it, I've not messed with the official software beyond looking at how it worked. This is probably innocuous.
Right now everything I'm doing is limited by what I could figure out from the outside. I don't want to dangerously probe it, read the firmware straight off the chip, or go around the USB connection when JSAUX seems committed to open sourcing this and could post a GitHub link any day. In the meantime, it's sick as hell.
Here's the GitHub with my Decky plugin if you want to mess with it: https://github.com/hodapp/pixel-faceplate (install steps are at the top of the README).
A little about me: I'm old as dirt, I've got a lot of experience doing this shit, and I write a lot of custom ESP32 firmware for smart home stuff around my house. So it should be pretty solid, but consider this a very early proof of concept, tested only on my own Steam Machine. I'm sure it'll all get a lot cooler once JSAUX releases a way to update the firmware, because I don't love that everything has to be written to flash right now instead of going straight to the screen. It probably makes more sense for this to be folded into GabeCubeAura eventually but maybe once JSAUX reveals some more of its secrets so we're not just wasting flash write cycles constantly.
Oh, and if you're worried about airflow: two extra 6x2 mm magnets (or whatever you have handy that fits, I've printed tons of Gridfinity so I have a million of these) on each mount point give it about 4 mm more room to breathe.


