RPI3 + OSMC + APA102 with Google Assistant support and hardware buttons

  • Hi everyone, this is my Hyperion setup. It's one year old and it's working like a charm.
    I used 60led/m APA102 LED strip (200 leds in total). Since the backside of my TV is slanted I attached the adhesive strip directly on it: it's enough to conceal the leds, while still spreading the light very well on the white wall.
    All the other components are hidden in an Ikea drawer (the 3x3 holes are very useful for cable routing on the back) and covered with a panel that houses the I/O:

    • ethernet
    • led signal+power
    • buttons signal (more on that later)
    • USB 5V 1A charger (I had an empty slot so... why not, right?)
    • HDMI to TV
    • HDMI from my Wii
    • HDMI from any other input (HDMI from rpi is routed internally)
    • USB passthrough data port connected to raspberry pi.


    There's also power input with it's own switch and a small 5V fan that cools the internal components. It's controlled via softpwm by the raspberry pi itself (I 3d printed the fan grill)

    All the components inside are powered by the same 5V 30A psu. I'm using a 5V externally powered low profile USB hub to power the video grabber (and the above-mentioned USB data port). In order to provide 5V signal to the led strip I created a simple HAT for the raspberry pi that takes the spi signal, shift it with a level shifter IC, and outputs it on rounded pins. I then used a long and cheap led extension cable to connect the HAT to the led strip.

    Btw the HDMI auto-switch is mounted on the underside of the cover

    I also 3D printed a housing for 4 buttons: the back one turns the raspberry pi on or off while the white ones can launch effects/colors or clear them (long or short press). The most left one, on long press, disables LED lights altogether without quitting Hyperion (sets leds to color black with same priority of the "capture mode", which in my case is the lowest one, so that the led strip will not display any color by default, but any new command can override it, "clear" included). I made the script start at boot as a service. Also: the 3D printer part acts as a stand for the Wii sensor bar when I want to play and it has the HDMI + USB passthrough on the left side.

    Two other services start at boot: the one that manages the fan speed and the one that makes Google Assistant interaction possible.
    I used a combination of IFTTT + Adafruit-IO to communicate between GA and RPI (no port forwarding or stuff like that required), here is the GitHub page with the tutorial guide on how to achieve this.
    I went for a clean look ( on the outside at least) with color that matched the room color scheme (black and white): white plastic for the 3D prints to match the white of the drawers, and black pcb for the led strip to match the color of the TV.
    Here's the list of the components I used.
    Hope you like my setup, love from Italy ♥️

    • Offizieller Beitrag

    Amazing! Thats a real good DIY project with all the 3D printed stuff!! Did you designed all by yourself?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!