November 10 2017
Make your recalbox shine with Hyperion!
Hyperion (https://github.com/hyperion-project/hyperion) is a free and open source project to turn your RaspberryPi in a Ambilight-like system!
With Hyperion and recalbox, you will turn your retrogaming and multimedia system into an immersive and beautiful experience!
I - Description
First, we are not talking about using Hyperion with a subset of your recalbox like Kodi. You will be able to use Hyperion features in EVERY SINGLE RETRO GAME you play on recalbox!
RGB leds will dynamically extend your TV image (Flat or CRT) on the walls.
What does it look like? See with Sonic 3 on Sega Megadrive/Genesis:
And in video:
II - Hardware
Hyperion supports many LED strips (see https://hyperion-project.org/wiki/Supported-hardware) with various protocols:
- SPI: LPD6803, LPD8806, APA102, WS2812b, and WS2801
- USB: AdaLight and SEDU
- PWM: WS2812b
Tests were made on WS2812b with PWM and SPI. I never managed to make PWM work correctly, so we will describe how to make your recalbox/hyperion installation with the WS2812b in SPI mode. This section is missing from the Hyperion wiki, so we will explain how to use that here (and update the Hyperion wiki with those informations).
The following tutorial makes use of soldering iron. If you already have one, the rest of the hardware is kind of cheap. But if you want to make something without soldering, see the official tutorial here : https://hyperion-project.org/threads/raspberry-pi-3-mediacenter-hyperion-ambilight-no-soldering.77/
You will need:
- your recalbox
- a WS2812b led strip
- a 330 Ohms resistor to set on the data pin
- something to cut the strip
- a soldering iron
- wires or connectors to connect led strips
- a voltage converter to shift the data voltage to 5V , or a level shifter to reduce the VCC of the leds.
- some dupont jumpers to easily connect wires to your RaspberryPi
- a 4amp (min) 5v power supply
Don’t hesitate to visit the to find all you need.
Of course if you want to save money you can :
- solder directly everything (no need for connectors and dupont)
- Use a 3amp power supply. I tested my 220 led hyperion LED with an Aukru 5V 3AMP, and it works almost well, but when all leds are white, the end of the strip is a bit yellow…
III - Wiring
Measure your TV borders and cut 1 strip by tv border according to its size.
Solder your leds strip together OR solder connectors on strips. Follow arrows on the strip to known what connector you should use (IN or OUT).
How it looks like:
To allow the RPi to send data to the LED, you have the choice:
- lower the LED VCC to 4.7V with a voltage regulator
- shift the GPIO signal to 5V with a level shifter
A - Voltage Regulator
(original image from hyperion wiki)
If you are on RPI2 or 3, you have more GPIO but the pinout is still the same.
The RPi is connected to it’s own power supply, and to the ground of the LED power supply.
The RPi streams data through the SPI MOSI GPIO to the data wire of the LED.
The voltage regulator is connected between the LED power supply and the LED.
B - Level shifter for gpio (untested)
If you chose to regulate GPIO voltage, use the schema above, just remove the voltage regulator and connect the level shifter between the GPIO MOSI and the LED data wire.
IV - Configuration
Hypercon is a graphic user interface that let you configure your Hyperion installation, and create a Hyperion configuration.
Download and start Hypercon following the official tutorial: https://hyperion-project.org/wiki/HyperCon-Information
You will find many resources about the Hypercon configuration on the Hyperion wiki: https://hyperion-project.org/wiki/HyperCon-Guide
Here is how to configure Hypercon for your recalbox and the WS2812b in spi mode:
- Type -> WS281X-SPI
- RGB Byte Order -> GRB
- Construction and Image Process -> configure depending of your installation
- Blackborder Detection -> Enabled
- Threshold -> 5
- mode -> osd
- Enabled -> True
- Time -> 200ms
- Update Freq -> 20
- Update Delay -> 0
- Internal Frame Grabber
- Enabled -> True
- Width -> 64
- Height -> 64
- Interval -> 200
- Priority Channel -> 890
- Enabled -> False
- Internal Frame Grabber
- Booteffect / Static Color -> configure the boot effect you like here!
Then click on the Create Hyperion Configuration button and save the json file as
Copy this file on your recalbox (by ssh, or via your computer shared networks) in
config/hyperion/hyperion.config.json on the network)
Enable hyperion service in recalbox.conf
Just enable Hyperion in recalbox.conf:
Change the line with
hyperion.enabled=1 (remove the
Edit the config.txt file located on the boot partition and add
mount -o remount,rw /boot && echo 'dtparam=spi=on' >> /boot/config.txt
V - Enjoying the rainbow
You’re done! You have a fully functional Ambilight-like system! Test some retro games, movies and animes with Kodi, and let the beauty of colors enhance your multimedia experience!