This "Smart Girder" Drives Four Information-Packed Displays From a Single Adafruit Matrix Portal
Written in the Arduino IDE rather than CircuitPython, this smart display packs information into a structural girder.
Pseudonymous maker "Lame_Dave" has released the source code for a "Smart Girder" project, which adds an RGB LED display system to a structural girder in order to display useful information — including train times.
"It's loading data from my MQTT server," Lame_Dave explains of the eye-catching display, "which is a combination of scripts and Home Assistant. "Pleasingly it all fits exactly inside the girder running along the side of my flat. If I move, the new place will have to have a girder."
The display itself is made up of four RGB LED matrices, driven by an Adafruit Matrix Portal. Where the Matrix Portal was designed for use with CircuitPython, however, Lame_Dave took the project in a different direction: "I could not get it working reliably with CircuitPython despite spending weeks trying," he explains, "so it's all in Arduino."
The Smart Girder offers a range of informational displays, one category to each of the four panels: Train times pulled from the Transport for London (TFL) application programming interface (API); network information including bandwidth usage, number of clients connected, and data usage graphs; a Home Assistant dashboard including heating and temperature data, air quality, and car battery levels, along with details on overhead flights and a tracking system for when the car's away from home; and live weather with date and time display.
"When I started coding the [Matrix] Portals with CircuitPython the most I could get one to handle was two panels," Lame_Dave notes, "so I was planning to double up. But then I switched to Arduino code and ended up only needing one to drive everything. Using Python I'd easily use up all the memory doing simple seeming stuff with one panel."
The source code for the project has been published to GitHub under an unspecified open-source license; more details are available in Lame_Dave's Reddit thread.