Raspberry Pi 5 WS2812B support and Hyperion tutorial

  • Hi all,


    First post here and am new to the world of raspis and their architecture and getting comfortable with the CLI.


    I spent pretty much the whole of yesterday trying to get this thing up and running and I couldn't for the life of me figure out why it wasn't working. After a while I was able to get Hyperion running as root at which point I thought I'd be able to make some headway. I then ran into some errors and these were the logs that were produced. On further research, it seems that this particular model isn't supported with the known set up methods. I was wondering if anyone could point me to a set up guide that worked for this particular model?


    Thank you all, I appreciate any help and support and am excited to get this up and running!


    Log below


    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Hyperion System Summary Report (My Hyperion Config)

    Reported instance: [0] - First LED Hardware instance


    < ----- System information -------------------- >

    Hyperion Server:

    - Build: LordGrey-56aa545/d5664b6-1744986564

    - Build time: Apr 19 2025 01:22:33

    - Build type: Release

    - Git Remote: https://github.com/hyperion-project/hyperion.ng

    - Version: 2.0.17-beta.3+nightly20250419d5664b6411a4eccc2f7ba083785d7b0a0391cf89

    - UI Lang: en (BrowserLang: en-GB)

    - UI Access: advanced

    - Avail Screen Cap.: dispmanx,framebuffer,qt

    - Avail Video Cap.: v4l2

    - Avail Audio Cap.: audio

    - Avail Services: boblight,cec,effectengine,forwarder,flatbuffer,protobuffer,mDNS,SSDP,borderdetection

    - Config database: /root/.hyperion/db/hyperion.db

    - Database: read/write

    - Mode: Non-GUI


    Hyperion Server OS:

    - Distribution: Debian GNU/Linux 12 (bookworm)

    - Architecture: arm64

    - CPU Type: Raspberry Pi 5 Model B Rev 1.0

    - CPU Revision: b04170

    - Kernel: linux (6.12.25-v8-16k+ (WS: 64))

    - Root/Admin: true

    - Qt Version: 6.4.2

    - Python Version: 3.11.2

    - Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36


    < ----- Configured Instances ------------------ >

    0: First LED Hardware instance, Running: true


    < ----- This instance's priorities ------------ >

    001: VISIBLE - (EFFECT) (Owner: Rainbow swirl fast)

    Autoselect: true


    < ----- This instance components' status ------->

    ALL - true

    SMOOTHING - true

    BLACKBORDER - true

    FORWARDER - false

    BOBLIGHTSERVER - false

    GRABBER - false

    V4L - false

    AUDIO - false

    LEDDEVICE - false


    < ----- Global configuration items------------- >

    {

    "settings": {

    "cecEvents": {

    "actions": [

    {

    "action": "Suspend",

    "event": "standby"

    },

    {

    "action": "Resume",

    "event": "set stream path"

    }

    ],

    "enable": false

    },

    "effects": {

    "disable": [

    ""

    ],

    "paths": [

    "$ROOT/custom-effects"

    ]

    },

    "flatbufServer": {

    "enable": true,

    "port": 19400,

    "timeout": 5

    },

    "forwarder": {

    "enable": false,

    "flatbuffer": [],

    "instance": 255,

    "instanceList": "NONE",

    "jsonapi": []

    },

    "framegrabber": {

    "cropBottom": 0,

    "cropLeft": 0,

    "cropRight": 0,

    "cropTop": 0,

    "device": "auto",

    "enable": false,

    "fps": 10,

    "height": 45,

    "input": 0,

    "pixelDecimation": 8,

    "width": 80

    },

    "general": {

    "configVersion": "2.0.17-beta.3+nightly20250419d5664b6411a4eccc2f7ba083785d7b0a0391cf89",

    "name": "My Hyperion Config",

    "showOptHelp": true,

    "watchedVersionBranch": "Stable"

    },

    "grabberAudio": {

    "audioEffect": "vuMeter",

    "device": "auto",

    "enable": false,

    "vuMeter": {

    "flip": "NO_CHANGE",

    "hotColor": [

    255,

    0,

    0

    ],

    "multiplier": 1,

    "safeColor": [

    0,

    255,

    0

    ],

    "safeValue": 45,

    "tolerance": 5,

    "warnColor": [

    255,

    255,

    0

    ],

    "warnValue": 80

    }

    },

    "grabberV4L2": {

    "blueSignalThreshold": 0,

    "cropBottom": 0,

    "cropLeft": 0,

    "cropRight": 0,

    "cropTop": 0,

    "device": "none",

    "enable": false,

    "encoding": "NO_CHANGE",

    "flip": "NO_CHANGE",

    "fps": 15,

    "fpsSoftwareDecimation": 0,

    "greenSignalThreshold": 100,

    "hardware_brightness": 0,

    "hardware_contrast": 0,

    "hardware_hue": 0,

    "hardware_saturation": 0,

    "height": 0,

    "input": 0,

    "noSignalCounterThreshold": 200,

    "redSignalThreshold": 0,

    "sDHOffsetMax": 0.46,

    "sDHOffsetMin": 0.4,

    "sDVOffsetMax": 0.9,

    "sDVOffsetMin": 0.1,

    "signalDetection": false,

    "sizeDecimation": 8,

    "width": 0

    },

    "jsonServer": {

    "port": 19444

    },

    "logger": {

    "level": "warn"

    },

    "network": {

    "internetAccessAPI": false,

    "ipWhitelist": [],

    "localApiAuth": false,

    "restirctedInternetAccessAPI": false

    },

    "osEvents": {

    "lockEnable": true,

    "suspendEnable": true

    },

    "protoServer": {

    "enable": true,

    "port": 19445,

    "timeout": 5

    },

    "schedEvents": {

    "enable": false

    },

    "webConfig": {

    "crtPath": "",

    "document_root": "",

    "keyPassPhrase": "",

    "keyPath": "",

    "port": 8090,

    "sslPort": 8092

    }

    }

    }


    < ----- Selected Instance configuration items-- >

    [

    {

    "id": 0,

    "settings": {

    "backgroundEffect": {

    "color": [

    255,

    138,

    0

    ],

    "effect": "Warm mood blobs",

    "enable": false,

    "type": "effect"

    },

    "blackborderdetector": {

    "blurRemoveCnt": 1,

    "borderFrameCnt": 50,

    "enable": true,

    "maxInconsistentCnt": 10,

    "mode": "default",

    "threshold": 5,

    "unknownFrameCnt": 600

    },

    "boblightServer": {

    "enable": false,

    "port": 19333,

    "priority": 128

    },

    "color": {

    "channelAdjustment": [

    {

    "backlightColored": false,

    "backlightThreshold": 0,

    "blue": [

    0,

    0,

    255

    ],

    "brightness": 100,

    "brightnessCompensation": 100,

    "brightnessGain": 1,

    "cyan": [

    0,

    255,

    255

    ],

    "gammaBlue": 2.2,

    "gammaGreen": 2.2,

    "gammaRed": 2.2,

    "green": [

    0,

    255,

    0

    ],

    "id": "default",

    "leds": "*",

    "magenta": [

    255,

    0,

    255

    ],

    "red": [

    255,

    0,

    0

    ],

    "saturationGain": 1,

    "temperature": 6600,

    "white": [

    255,

    255,

    255

    ],

    "yellow": [

    255,

    255,

    0

    ]

    }

    ],

    "imageToLedMappingType": "multicolor_mean"

    },

    "device": {

    "autoStart": true,

    "colorOrder": "rgb",

    "dma": 10,

    "enableAttempts": 6,

    "enableAttemptsInterval": 15,

    "gpio": 18,

    "hardwareLedCount": 1,

    "invert": false,

    "latchTime": 0,

    "leds": 300,

    "pwmchannel": 0,

    "rewriteTime": 1000,

    "rgbw": false,

    "type": "ws281x",

    "whiteAlgorithm": "subtract_minimum"

    },

    "foregroundEffect": {

    "color": [

    0,

    0,

    255

    ],

    "duration_ms": 3000,

    "effect": "Rainbow swirl fast",

    "enable": true,

    "type": "effect"

    },

    "instCapture": {

    "audioEnable": false,

    "audioGrabberDevice": "NONE",

    "audioPriority": 230,

    "systemEnable": false,

    "systemGrabberDevice": "NONE",

    "systemPriority": 250,

    "v4lEnable": false,

    "v4lGrabberDevice": "NONE",

    "v4lPriority": 240

    },

    "ledConfig": {

    "classic": {

    "bottom": 0,

    "edgegap": 0,

    "glength": 0,

    "gpos": 0,

    "hdepth": 8,

    "left": 0,

    "overlap": 0,

    "pblh": 0,

    "pblv": 100,

    "pbrh": 100,

    "pbrv": 100,

    "position": 0,

    "ptlh": 0,

    "ptlv": 0,

    "ptrh": 100,

    "ptrv": 0,

    "reverse": false,

    "right": 0,

    "top": 1,

    "vdepth": 5

    },

    "ledBlacklist": [],

    "matrix": {

    "cabling": "snake",

    "direction": "horizontal",

    "gapbottom": 0,

    "gapleft": 0,

    "gapright": 0,

    "gaptop": 0,

    "ledshoriz": 1,

    "ledsvert": 1,

    "start": "top-left"

    }

    },

    "leds": [

    {

    "hmax": 1,

    "hmin": 0,

    "vmax": 0.08,

    "vmin": 0

    }

    ],

    "smoothing": {

    "decay": 1,

    "dithering": false,

    "enable": true,

    "interpolationRate": 25,

    "time_ms": 150,

    "type": "linear",

    "updateDelay": 0,

    "updateFrequency": 25

    }

    }

    }

    ]


    < ----- Current Log --------------------------- >

    2025-04-27T07:23:40.085Z [LEDDEVICE|First LED Hardware instance] (ERROR) Device disabled, device 'ws281x' signals error: 'Failed to open. Error message: Hardware revision is not supported'

    2025-04-27T07:25:10.173Z [LEDDEVICE|First LED Hardware instance] (ERROR) Previous line repeats 6 times

    2025-04-27T07:25:10.173Z [LEDDEVICE|First LED Hardware instance] (ERROR) Device disabled. Maximum number of 6 attempts enabling the device reached. Tried for 105 seconds.

  • Go to Best Answer
    • New
    • Official Post

    Controller type ws281x will not work. Hardware revision is not supported.

    Choose a different controller type, ws2812spi.


    Please post logs as Hyperion-log.txt attachments or in a code file.


    regards pclin

    Dreambox ONE / TWO

    dreamOS OE2.6

    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Amp: Pentagon - Lautsprecher ELAC / ARENDAL
    LG OLED65BX9LB (PicCap, hyperion.NG webOS)

    FireTV 4K max

    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng 2.0.16-beta.1 (dreamOS)
    Hyperion-ng (Debian bullseye)
    -
    6 x ESP32/Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    FeinTech VSP01201 - Grabber Macrosilicon

    LG TV Hyperion webOS & PicCap


    Ambilight for ever

    • New
    • Official Post

    I would recommend you update to the nightly build coming tomorrow.

    It fixes some serious issues you might have come across before.


    Note:It will not address the "Hardware Revision not supported", as this is related to the ws281x library Hyperion makes use of.

  • Thank you both, I appreciate the advice and help, so just to confirm pclin if I use the controller type you suggest above I shouldn't run into this issue any further and it should work? I'll give it a go tonight and attach logs via txt file if I run into further issues, thank you again both!

  • Hi pclin in the web UI I've set the controller to ws2812spi, there's a few configuration settings I'm not sure about and after referring to the documentation it's not been particularly useful. Again I'm not particularly learned in this so my knowledge is extremely limited.


    SPI device, there are three different options:

    0.0 (/dev/spidev0.0)

    0.1 (/dev/spidev0.1)

    10.0 (/dev/spidev10.0)


    I'm guessing these refer to three different SPI interfaces on the Raspberry PI 5, therefore 3 potentially different GPIO pins? Does it matter which I use or not?


    I've got a jumper cable connected to the GND on the Raspberry PI, connected to the ground of the LED strip going into the power supply.


    I've then got another jumper cable going into the data port on the LED strip connected to GPIO pin 19 for the SPI interface. When I save the configuration on Hyperion the LEDs then light up completely white but if I try and change the effects there seems to be no change, indicating that there's potentially something I'm missing? I'd appreciate any help :) .


    Thanks

    • New
    • Official Post

    You also need to configure a grabber, otherwise only colors or effects will work.

    You should start with colors and effects, first Colour calibration wizard


    Read HERE Activate SPI and Increase SPI Buffer

    Quote from Source: raspberry-pi-5-pinout-specs-datasheet

    Pin 19 - GPIO 10 - SPI Mosi

    regards pclin

  • Thank you for your help all. I did follow that documentation prior and so I had the SPI buffer size set, thank you Ambient_theater77, I was able to ensure that was set correctly with your message. I seem to have made some headway now where the LEDs now light up but are a bright white only. I'm seeing that there's voltage drop towards the end (it's a 5m strip but this is the least of my worries right now and I believe easily resolved).


    The issue I'm having now is that the LEDs don't seem to be responding to any changes I make. I'm not sure if the baudrate should be a specific value, I currently have it set to 100000 but I did have it set to what is in the screengrab, I'm not sure whether that's correct or not.


    I've also configured the grabber, I have my firestick going into a USB HDTV video capture card, usb 3.0 going into the RaspberryPi, which it seems to be reading fine as I can select it as an option in the USB capture settings, still not having any impact on the LEDs.


    I did have the atomic swirl effect set up for Hyperion startup, it'd start off with yellow, green, then white then move on to the next one. I then tried to set it to solid colour of red but it just sticks to white. I've gone back to atomic swirl startup but again it's stuck on the same thing it seems like there's a communication issue or the like. Would appreciate any suggestions or help.


    I'm also finding that the web UI is crashing quite frequently now, is this possibly due to the Raspi not getting enough power now that I've got the USB capture plugged in?


    Thanks again all.

    • New
    • Official Post

    Device Resolution 2560x1440 Reduce to the smallest value 640x480, Size decimation 6.

    640/6=106 LEDs, 480/6=80 LEDs.


    Quote from Hyperion System Summary Report

    (WARNING) SPI rate 200000 outside recommended range (2106000 -> 3075000)

    Hyperion will then use 2106000.

    Quote from Hyperion System Summary Report

    [LEDDEVICE|First LED Hardware instance] (INFO) Device ws2812spi is ON


    Is the Live video in Hyperion OK?


    regards pclin


    ps. in the log you can also see that 1920x1080 is used


    EDIT:


    Recommended number of injections: 3 (at the beginning, at the end of the LED strip and in the middle) However, the LEDs must also react with only one power injection.

  • Hi all,


    I've updated to the latest version to rule out any issues caused by version.


    Live video feed is black, indicating that there's no signal being received through the USB capture device at the moment. It's HDCP 2.2 enabled but it's playing from Emby anyways. Not sure what's causing this.


    Appreciate any help again.

  • Hey again, pclin and Lord-Grey , I tried an alternative device which has it's own DC 5V power as the previous device I had was being powered via the USB port via the PI and I wanted to rule out that that was potentially causing any issues. I'm now seeing this in the live video but when playing any content I can't see it appear in the live video. I've also attached the log. Any thoughts on this? Also, the LEDs when connected don't all light up, you get one turn yellow, then green then white and it does this one by one. I've turned off Hyperion startup effects so I'm not sure why this is happening?


    Appreciate any thoughts or suggestions.


    Kind regards


    Obsidian

    • New
    • Official Post

    v4lGrabberDevice = NONE

    Code: Hyperion log
            "v4lEnable": true,
            "v4lGrabberDevice": "NONE",

    regards pclin

    • New
    • Best Answer
    • Official Post

    You need to configure the grabber here:


    and under the Instance configuration it must look like this too:



    As the nightly build might have issues, could you test with

    https://github.com/hyperion-project/hyperion.ng/pull/1860

    How to test see: https://docs.hyperion-project.org/user/advanced/Testing.html#linux


    If it does not work out of the box, try to disable on the 2nd screen and save.
    Now enable it aga
    in and save.

    Does it make a difference?

  • Hey again Lord-Grey , yes I've set that up also.


    I can most certainly try, I've never used GitHub before, how would I go about doing this?


    Is it possible for me to just install the latest stable build using the easy install tool?


    Kind regards


    Obsidian


    pclin  Lord-Grey  Ambient_theater77


    THANK YOU ALL. It's finally working. The issue seemed to be with the latest nightly build. I wiped the OS image and installed a stable build and configured it all again and it's working perfectly now.


    I'll be doing a write up to help people with similar issues and to do a step by step out of thanks to you all and the wider community!


    I've attached a final log and a screenshot of the live video now coming through. Might be time to give Demon Slayer a re-run!

    • New
    • Official Post

    Is it possible for me to just install the latest stable build using the easy install tool?

    Yes. That is what I suggested before.

    Just remove the current installation via easy install and do a standard install.


    Edit: Great it is working now!

    • New
    • Official Post

    obsidian


    640x480, Size decimation 8, is too little for 75 LEDs right/left

    480/8=60 pixel


    See Post #10


    regards pclin

    Dreambox ONE / TWO

    dreamOS OE2.6

    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Amp: Pentagon - Lautsprecher ELAC / ARENDAL
    LG OLED65BX9LB (PicCap, hyperion.NG webOS)

    FireTV 4K max

    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng 2.0.16-beta.1 (dreamOS)
    Hyperion-ng (Debian bullseye)
    -
    6 x ESP32/Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    FeinTech VSP01201 - Grabber Macrosilicon

    LG TV Hyperion webOS & PicCap


    Ambilight for ever

  • obsidian

    Selected a post as the best answer.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!