Python Mechanical TV Remote
Abstract
ESP32-S2 development board on a custom PCB with Kailh Choc mechanical switches. The remote checks a Google Firebase web service to dynamically update the Python code ran when each button is pressed, released, or held. This code can perform HTTP requests to control a Roku TV over the local network, using the Roku ECP, among other possibilities.
Initial Prototype
Codenamed Inky, the original design for this project involved overlaying a flexible eink display over a matrix of surface mounted buttons. The screen could be updated to represent the current layout, the user would press a button on the display, effectively pressing the physical button behind.
I was extremely interested in this concept as it allowed for a dynamic remote that still had a distinct tactile response, unlike an implementation using a capacitive touch panel.
Unfortunatley the flexible displays were far too delicate for this use case, a couple of presses would result in dead pixels on the button, a hard enough press would kill the display entirely.
Final Version
After the failure of my initial concept, I decided to simplify the idea to just use a grid of high quality, low profile, mechanical switches. I designed and ordered a custom PCB through PCBWay.
Need a problem solver?
Contact me with any opportunities at mattias@makro.ca or reach me on LinkedIn
Grab a resume