noCreativity transmission
Loading page
Requested page is routing through noCreativity. Hold position while Ronny bolts the freakshow into the frame.
noCreativity transmission
Requested page is routing through noCreativity. Hold position while Ronny bolts the freakshow into the frame.
What started with my girlfriend wanting a way to send a picture to a screen in my living room became a 35kg oversized picture frame with its own local control system. The Display i...
What started with my girlfriend wanting a way to send a picture to a screen in my living room became a 35kg oversized picture frame with its own local control system. The Display is the physical LED panel. A separate control website selects scenes and sends hosted content, local media, camera feeds and livestreams to it. Several other home projects now run through the same box.
This is a custom built RGB Led panel display running a local Mac Mini as a backend for the webservers running the management software and hub to interact with the rest of the home.
The physical structure of the display is made from full metal pipes because that was the aesthetic that I was going for. To mount the panel to the pipes, I used 20x20 aluminium extrusions. This gave me a solid platform to build off of while still keeping maximum flexibility in what I want to mount where and how. Perfect for future changes or upgrades.

Frame 01
The entire display is held together by custom mounting hardware that was all designed and 3D printed by myself. I used Fusion 360 to design the components. Printing was done using a Bambu Carbon X1D and PLA. Most of it is designed to hold things together using M5 screws and washers.
This monstrosity is essentially run off a second hand Mac Mini. It comes with an M2 processor and 8GB of RAM. The 8GB of RAM felt a little on the low side when I took my chance but as it turns out, it's plenty for what I need here. It runs TouchDesigner to run all the visualizations. A local webserver interacts with the TouchDesigner node to show both native video content through TouchDesigner Movie nodes or web content through a Web node. The main communication from and to TouchDesigner is done using a websocket. Python was used inside the TouchDesigner environment to handle the incoming commands and processing.

Power delivery is done using 2 power supplies of each 200W. This powers the 28 RGB LED panels. This is enough to power the entire display while it shows full white content. This usually never happens so power usage will probably run somewhere between 150W and 280W during normal operations.
To run the RGB panels, we're using 1 sender card and 2 receiver cards. The sender card gets input from the Mac Mini through an HDMI-to-DVI connector. The sender card sends the data stream over a UTP cable to the receiver cards. The receiver cards are chained so that the panel can scale. That hardware is not very popular and documentation on how to set things up is scarce on the internet. So this was the harder part. We only used 2 nodes now but we can easily expand this to a lot larger build with more nodes and larger panels... Maybe at my new studio... Dear god, no. I have to stop thinking about that right now.

The first control panel was a custom HTML build with basic vanilla JavaScript. It could switch content, stream the display output to the webpage, manage the library, trim video and grab livestreams. It did a ridiculous amount for a first version, but the software has moved on since these screenshots were taken.
This started because my girlfriend was being a little bit clingy and wanted a way to send an image to some kind of screen in my living room. I decided to build an oversized picture frame. It got completely out of hand.
The Display is the 35kg LED panel that lives in the living room. It can show hosted home projects, wallpapers, video collections, Ping posts, livestreams or camera feeds. The photograph below shows the Love Display message as one example active scene. The selected content appears on the panel. The controls stay on the phone, tablet or computer.

The control panel is a website on the local network. I open it from a phone, tablet or computer and configure scenes as buttons. Each button can point at a hosted website, a video collection, a camera feed or a livestream. Pressing it sends that scene through the local system. The control panel stays on the device in my hand. The selected content is what appears on The Display.

I choose a scene in the control panel. The Mac Mini keeps that selection as the active state and sends the command across the local network. The physical Display renders the selected content. Open control panels receive the updated state and a live preview, so every device agrees about what is running.

The content comes from a few different places. Several home-project websites run locally on the Mac Mini. Wallpapers and video collections live in local storage. Camera feeds, livestreams and new Ping posts arrive as network inputs. The Mac Mini sits in the middle as host, media store and scene orchestrator, while The Display remains the physical output.

The same control panel includes the local media workspace. It uploads or downloads clips, groups them into collections and handles preview, rename, move, trim and delete. FFmpeg and FFprobe do the editing work. yt-dlp handles URL ingest.

The Mac Mini behind The Display ended up becoming a small home platform. MQTT carries commands and power state. Home Assistant can turn it off without the server fighting back. HLS returns the live preview, while OBS and the control panel route streams to The Display or Shield players around the house.
Current stack: Next.js 16, React 19, TypeScript, Docker, MQTT, SSE, HLS.js, OBS WebSocket, FFmpeg, FFprobe and yt-dlp.
This is a one-off that is not sold anywhere. I love building stuff like this and would be happy to build one for you, to your own custom dimensions, custom features and specs. Let's talk and figure out which features you want and need, what the use-case is and get you a setup that is specifically built for you!