Skip to main content

Car Thing "Stream Deck"

Nate Cundiff

This is a little project from around the middle of 2025.

When Spotify ended support for the Car Thing (not just ended support, but effectively killed it), I, like many, searched for other ways to keep it going.

There are some great projects out there, like Nocturne, which restore most of the original features of the Car Thing. I was using Nocturne in my car for a little while, but I decided I wanted something different. It became a hassle to enable my hotspot each time I started my car and my music didn't play automatically when the Car Thing powered on, which was a feature of the stock firmware. This might have something to do with the fact that at the time I tried it, Nocturne used the Spotify API for control rather than directly controlling the mobile app over bluetooth. That also means that it wouldn't work offline, and the whole thing was kind of roundabout with extra steps.

Apparently Nocturne has recently gotten better. There's no more need for a hotspot, and they've restored the original UI as an option. There was also a little scare where they introduced the new version with a subscription model 🙄 (Discord link), but at least they went back on that... I still don't think I'll be using my Car Thing in my car for now, but Nocturne seems to be a pretty good option for that.

For me, Nocturne wasn't reliable enough to use in my car at the time, so I decided to use my Car Thing elsewhere.

I have a Stream Deck Mini at my desk that I use every day. I love it, but since it only has six keys, I have to go into other folders for a lot of the actions I need. As it turns out, the Car Thing has a perfectly-sized screen to make a control surface, giving me something with nearly the same dimensions as the regular Stream Deck. There are some existing projects like DeskThing that are meant to be used at a desk, but it's a little limited and isn't quite what I was looking for.

Image Image

Firmware/software

The firmware I'm using for this project is this Chromium kiosk, AKA superbird, by Bishop: https://github.com/bishopdynamics/superbird-debian-kiosk. It's a Debian image with a Chromium kiosk preconfigured.

The author created it as a Home Assistant panel, which is another great application for an old Car Thing. I was originally using an old version of Nocturne I modified, which used to be based on superbird itself, but I since switched to version 2 of Bishop's image because it has a few nice features like a web UI to configure the URL of the kiosk and a configurable screen timeout. While some projects have moved past this requirement, this project still requires a Raspberry Pi to provide the Car Thing with networking. For me, this isn't really a big deal, but it's an area where things could be simplified for a desk application like this.

On my PC, I'm running a wonderful piece of software called Bitfocus Companion: https://bitfocus.io/companion, which integrates with the Stream Deck and connects to many, many services. One of its best features is that it can emulate a Stream Deck by hosting a panel on a web server. That's what the Car Thing connects to.

A browser showing the Stream-Deck-like control panel hosted by Companion

The physical buttons are also functional. The top buttons correspond with the keys 1, 2, 3, and 4, which click the first four buttons on the panel. I wanted to get input from the wheel to switch pages, so I wrote a script to read the input from the wheel and send a UDP command to Companion to switch the page.

As a bonus, Bitfocus Companion runs entirely locally, no sign in required (although I think you might have to provide your email to download it). You don't have to sign in to download and update plugins (ahem Elgato)! Companion can also control your actual Stream Deck hardware, which is nice.

Networking

The way I'm connecting to the UI isn't ideal. Right now, the Raspberry Pi that provides a connection to the Car Thing is independent on my local network, connected over WiFi. Ideally, I could connect it directly to my computer, which would be more secure and more reliable in that it would be independent from network changes. But on my home network, it isn't really a big issue.

To "secure" it from unwanted/accidental access, I'm restricting Companion traffic to only the Car Thing using my computer's firewall, which works fine for now. The Pi and Car Thing are also isolated on their own VLAN, only accessible by my computer.

Hardware & mounting

The Car Thing, while not meant for this at all, is actually a surprisingly good fit. For one, the screen, at only ~4 inches and a resolution of 800x480 pixels, has a pretty high pixel density at 235 pixels per inch, which is nearly double that of my 1440p, 24 inch monitor. Because of this, text is very sharp, especially at the distance I typically view it. The only issue is that the Car Thing is pretty underpowered.

I got the Car Thing when it first came out for around $90... WAY too expensive for what it is, but when they announced the end of support, I got a full refund, so now I essentially have a free device.

To mount the Car Thing in a compact way, I'm using a slightly modified version of this 3D printed mount by Bigbossdanny on Thingiverse: https://www.thingiverse.com/thing:5517242 (CC BY 4.0). It's a nice design that makes use of the original magnetic mount. You can find my version, which includes a little mount for the Raspberry Pi Zero 2 W, on GitHub.

I considered making a sealed case reminiscent of the actual Stream Deck, but I like this open-frame design. In my version, I made the base a little bit thicker to fit some screws I had that were a bit long.

Issues

While the setup is reliable most of the time, sometimes the Car Thing freezes after its been running for a while. Restarting it isn't a big deal, but it would be better if it didn't happen at all.

Sometimes, although input is nearly instant, the screen is slow to refresh, so feedback is delayed. The Car Thing only has half a gigabyte of RAM, which might contribute to that issue.

Conclusion

And that's it! A simple little project from a while ago that's made my life better.