Inspiration
Both of us have wanted an Elgato stream deck for a long time. The problem with stream decks, put simply, is that they're expensive ($100 minimum)! Another large problem the world as a whole faces is older electronics turning to e-waste. Amazon no longer supports or updates the Echo Show 5 (Gen 1 & 2). Why not solve both of these problems at once, and make something we've wanted for a while while repurposing some old hardware?
What it does
The Echo Show Streamdeck acts as an external macro pad for your laptop or desktop. When you click a button on the Echo Show, it runs the corresponding action on your connected device!
How we built it
The primary portion of the project is a jailbroken Echo Show 5 (Gen 2) running Lineage OS (a telemetry free Android OS). This Android install then runs an app with some buttons on it, and when you click one of the buttons, it sends a signal (via Bluetooth) over to the companion app running on your computer. The companion app takes the signal from the Echo Show, figures out what button was pressed, and runs the corresponding command for that button!
Challenges we ran into
So it turns out, Bluetooth between 2 generic devices is a very difficult thing to do. With headsets, microphones, displays, etc, you have libraries and wrappers that handle most of it. With 2 generic devices, you effectively get handed a network socket and get told "good luck!" The largest python library for Bluetooth Classic (not Bluetooth-Low-Energy) was archived and stopped development 3 years ago, and wasn't made to run in modern versions of python. The continuation of this project refused to install. The alternative to that project refused to build. Bumble (Google's Bluetooth suite) is a massive codebase that would take a full day just to even understand. We managed to get the archived library working and even now I don't know which of the 20 solutions we tried actually fixed it.
Accomplishments that we're proud of
It works! In the span of 18 hours we managed to recreate the bulk functionality of a product that ranges $100 - $500, and left the framework in place for adding features the original never had!
What we learned
Neither of us had done Android development in the past, so the entirety of the Android UI framework and Android API knowledge that we now have, came from this project!
What's next for Echo Show Streamdeck
The framework is already in place to add more features to the Android App, such as sliders, toggles, and text inputs. The companion app on the computer was built in a way that it can handle arbitrary input types with extremely minimal changes. The first addition though, will be a way to upload arbitrary images from anywhere on your computer to be app icons. We know how to already, there just wasn't enough time during this project to add that without overexerting or stressing ourselves!
Log in or sign up for Devpost to join the conversation.