[DIY] Amblight project/guide - Hyperion - WS2801/ WS2812B / APA102 (1 Viewer)

Rick164

MP Donator
  • Premium Supporter
  • January 7, 2006
    1,335
    1,006
    Home Country
    Netherlands Netherlands
    The Hyperion configuration tool got a much needed upgrade and now allows you to select new hardware among other things, can download it here:

    https://github.com/tvdzwan/hypercon/blob/master/deploy/HyperCon.jar?raw=true

    I Just created my first hyperion+rpi2+apa102 (60/m leds strip). I still have an issue always with Last led of the chain, no matter the number of leds i configure in hyperion, i always see N-1 leds correctly, and the Last led changes randomly every time. It seems that next spi transfer starts before the previous end bits of sequence are transferred. Am i the only one with these issues?

    Sorry about not replying sooner, for APA102 you need the latest Hyperion version as otherwise you will notice the last led bug (end frame)
    Can upgrade using these instructions if you're running raspbian:

    https://forum.team-mediaportal.com/...01-ws2812b-apa102.128526/page-24#post-1176885
     

    Rick164

    MP Donator
  • Premium Supporter
  • January 7, 2006
    1,335
    1,006
    Home Country
    Netherlands Netherlands
    AtmoOrb is now also supported in a internal Hyperion beta build for those wanting to extend it to Hue like lights, HyperCon added the new config option so that you can easily relay to multiple Hyperion instances which is awesome :)

    Basically AtmoLight can send its data as usual but Hyperion then can relay it to AtmoOrb lights which does the color calculations based off their Hue implementation, once its in a official Hyperion release will write up some docs in the dedicated AtmoOrb thread.

    // Update

    Fork is online and once tested by a few more gonna do a pull request:

    https://github.com/RickDB/hyperion/commit/51ad57afd39695095b5886966e8c71c4e47f269e


    // Update 2

    AtmoOrb is now officially supported in Hyperion, for more info:

    https://forum.team-mediaportal.com/...xel-tutorial-added.131901/page-3#post-1178583
     
    Last edited:

    Freshage

    Portal Member
    March 16, 2016
    21
    2
    36
    Home Country
    United Kingdom United Kingdom
    Morningggggg,

    So, I've gone through you guide, thank you VERY much. All is up and running. But it's the config I'm having some issues with, it picks up the picture fine. But it's the quality, black scenes are outputting white or ar least dimmed lights. Not like your example videos. I've changed the threshold a bit but it just starts skipping colours. Which then brings me onto my next issue. Colour isn't very vibrant... What % should I pick up on for borders? I've set both vertical and horizontal to 10%. On a 1080p input, 204 LED's on a 50" plasma.

    Again, thank you for the guide. It's AMAZING.
     

    Rick164

    MP Donator
  • Premium Supporter
  • January 7, 2006
    1,335
    1,006
    Home Country
    Netherlands Netherlands
    Hi @Freshage,

    Best to attach the config as well but we can already try the following things to debug:

    - For more accurate colors can increase gamma value per color and for brighter / vibrant colors the saturation gain (although it might look less natural with the latter):

    Code:
            "id"  : "default",
             "leds" : "*",
             "hsv" :
             {
               "saturationGain" : 1.0000,
               "valueGain"  : 1.0000
             },
             "red" :
             {
               "threshold"  : 0.0000,
               "gamma"  : 2.2000,
               "blacklevel" : 0.0000,
               "whitelevel" : 1.0000
             },
             "green" :
             {
               "threshold"  : 0.0000,
               "gamma"  : 2.2000,
               "blacklevel" : 0.0000,
               "whitelevel" : 1.0000
             },
             "blue" :
             {
               "threshold"  : 0.0000,
               "gamma"  : 2.2000,
               "blacklevel" : 0.0000,
               "whitelevel" : 1.0000
             }

    - For live capture it depends on which hardware and input as analog converters can have different RGB values, best to try different settings in the following config area:

    Code:
    "redSignalThreshold" : 0.4,
    "greenSignalThreshold" : 0.2,
    "blueSignalThreshold" : 1.0

    Easiest way to find the right values is by using the hyperion-v4l2 in a SSH session with a default 0.0 threshold and crop where needed look at the generated screenshot afterwards:

    Code:
    hyperion-v4l2 --crop-top 0 --crop-bottom 0 --crop-left 0 --crop-right 0 --size-decimator 4 --frame-decimator 2 --red-threshold 0.0 --green-threshold 0.0 --blue-threshold 0.0 --screenshot

    - Make sure you get the latest HyperCon version from here and would use the default horizontal and vertical % as that works best with most setups and is a good starting point, also the new black bar detector will be used if you generate a new config file with it (more accurate and faster).
    Can also try with black bar detector disabled just in case :)
     
    Last edited:

    Freshage

    Portal Member
    March 16, 2016
    21
    2
    36
    Home Country
    United Kingdom United Kingdom
    Thanks for the reply, I'm using the EasyCap Video USB Grabber Fushicai UT007 to Arduino Uno 3 to Pi 2 Model B. I'm at work at the moment so don't have a copy of my config. But in short, it's pretty standard.

    Question, the above configs suggest 64x64 resolution, yet the UT007 is capable of 720x576. Is there any reason for this?

    Thanks
     

    Rick164

    MP Donator
  • Premium Supporter
  • January 7, 2006
    1,335
    1,006
    Home Country
    Netherlands Netherlands
    Internally Hyperion will use a smaller 64x64 picture for performance reasons so even though the input is higher it will resize it during processing, you can override this behavior with size-decimator and frame-decimator so that input it gets is 1:1 for screenshots during testing however there should be no color measurement difference :)

    That setup with Fushicai UT007 should work perfectly so it probably comes down to calibrations or maybe the analog converter which has a NTSC / PAL switch which both give different results (use NTSC myself).
    Detailed list of grabber functions:

    https://github.com/tvdzwan/hyperion/wiki/V412-Grabber
     

    Freshage

    Portal Member
    March 16, 2016
    21
    2
    36
    Home Country
    United Kingdom United Kingdom
    I think it could be down to the PAL/NTSC setup. As it stands, it's neither, just the 'no-change' or what ever it is... I'll copy and paste your config and just run it straight up and see what I get.

    Other than the output, the rainbow modes, configuration and general setup was easy to follow and very well written.
     

    Rick164

    MP Donator
  • Premium Supporter
  • January 7, 2006
    1,335
    1,006
    Home Country
    Netherlands Netherlands
    Thanks, always open to suggestions so if something was unclear or incorrect just let me know :)

    Will be adding a new APA102 chapter soon which will use Raspian over OpenElec and should be a bit more straightforward setup, the APA102 leds can be more expensive and harder to calibrate like SPI rate depending on number of leds but the end result is more or less the same as with WS2812B.
     

    Freshage

    Portal Member
    March 16, 2016
    21
    2
    36
    Home Country
    United Kingdom United Kingdom
    Ah nice.

    Should be good then! I spent a while adjusting the RGB values for the LED's with a single LED prior to mounting on the TV as I do enjoy having the values set perfectly so white is white, red is red etc etc. I did this by adjusting the white level for each of the 3 colours. I've gone back to the default 1.000 on all 3. I'm just curious, what do you think is the best way to adjust these values? As it stands, by default, the LED's I've got are tinted blue a fair bit for a solid #fffff white.

    I've done some in depth reading from one of the guides you linked (yet again, bloody nice job!) for the values and it seems adjusting the white level wasn't the correct way of going about this.

    Thanks, Chris.
     

    Rick164

    MP Donator
  • Premium Supporter
  • January 7, 2006
    1,335
    1,006
    Home Country
    Netherlands Netherlands
    Should be good then! I spent a while adjusting the RGB values for the LED's with a single LED prior to mounting on the TV as I do enjoy having the values set perfectly so white is white, red is red etc etc. I did this by adjusting the white level for each of the 3 colours. I've gone back to the default 1.000 on all 3. I'm just curious, what do you think is the best way to adjust these values? As it stands, by default, the LED's I've got are tinted blue a fair bit for a solid #fffff white.

    It tends to change per led batch / factory but most of the time it's the reds that are too present, for both APA102 and WS2812B I only had change the gamma to 2.000 and for the latest project also reduced the valueGain to 0.5000 as they were too bright because 600 APA102 leds would light up the entire room :p
    Typically the gamma should match that of your TV / beamer output for best results (i.e. true extension of what you see on screen) however it comes down to personal taste :)

    Easiest way to is to use real time calibration with the Hyperion android or web app:

    https://github.com/tvdzwan/hyperion/wiki/Hyperion-remote-control-(yet-another)

    Afterwards can note the correct values and input those in the Hyperion configuration file as during restarts it would get reset afterwards.
    There are some new Hyperion options coming out soon which allow for more finer color controls:

    https://github.com/tvdzwan/hyperion/pull/534#issuecomment-194454096
     
    Last edited:

    Users who are viewing this thread

    Top Bottom