Issues with GPIO12 on Pi Zero

  • I'm following the ambient light project by DrZzs on Youtube. I have the WS2812B strips applied the rear of the TV. All strips were applied observing the data flow direction as indicated on the strips. LED 1 is in he upper left. I have 84 on the top, 48 on each side and 85 on the bottom.

    I'm powering all four strips from a 20A power supply.

    I have all the capture HW installed and I can see my Roku idle screen in Hyperion's web page, so that much is working.

    However, I cannot get Hyperion to light a single LED. If I unplug the pi and plug in an arduino with s test sketch on it, the LEDs light up, So it is clearly something with the pi and perhaps my selection of GPIO.

    The video mentions GPIO18. I'm honestly not sure why I soldered to 12 instead of 18, but from what I've uncovered, 12 should work.

    I'm also not running a level shifter as the information I've found indicated I did not need one.

    Beyond indicating the GPIO in the instance is there anything else at the OS level I need to change? The process is running as root.

    Happy to provide whatever I can in order to help resolve this.

    Thank you in advance.

  • Yes you should be able to be up and running with what you have and pin 12 should work the same as pin 18 would.

    do you have this in your /boot/config.txt -> dtparam=spi=on

    In Hyperion go to System -> Log
    change log to debug and save it, Toggle the LED Device in Remote Control then test it again.

    Look in the log and see whats there, paste it :thumbsup:

  • I do have that parameter set:

    root@hyperion-lr:~# cat /boot/config.txt | grep spi

    I've set the logging to debug and after toggling the LED device in Remote Control, I have the following log entries:

    2021-02-25T02:56:40.701Z [hyperiond DAEMON] (INFO) CEC handler created
    2021-02-25T02:56:40.778Z [hyperiond EFFECTFILES] (INFO) 39 effects loaded from directory :/effects/
    2021-02-25T02:56:40.803Z [hyperiond EFFECTFILES] (INFO) 22 effect schemas loaded from directory :/effects/schema/
    2021-02-25T02:56:40.810Z [hyperiond EFFECTFILES] (INFO) 0 effects loaded from directory /root/.hyperion/custom-effects
    2021-02-25T02:56:42.332Z [hyperiond DAEMON] (INFO) set screen capture device to 'dispmanx'
    2021-02-25T02:56:42.368Z [hyperiond DISPMANXGRABBER] (INFO) Display opened with resolution: 720x480
    2021-02-25T02:56:42.372Z [hyperiond DAEMON] (INFO) DISPMANX frame grabber created
    2021-02-25T02:56:42.407Z [hyperiond V4L2:AUTO] (INFO) Signal threshold set to: {12, 12, 12}
    2021-02-25T02:56:42.424Z [hyperiond V4L2:AUTO] (INFO) CEC detection is now disabled
    2021-02-25T02:56:42.429Z [hyperiond V4L2:AUTO] (INFO) Signal detection is now disabled
    2021-02-25T02:56:42.434Z [hyperiond V4L2:AUTO] (INFO) Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
    2021-02-25T02:56:42.453Z [hyperiond JSONSERVER] (INFO) Started on port 19444
    2021-02-25T02:56:41.278Z [hyperiond LEDDEVICE] (INFO) Start LedDevice 'file'.
    2021-02-25T02:56:41.299Z [hyperiond FLATBUFCONN] (INFO) Connecting to Hyperion:
    2021-02-25T02:56:41.318Z [hyperiond EFFECTENGINE] (INFO) Run effect "Rainbow swirl fast" on channel 0
    2021-02-25T02:56:41.393Z [hyperiond HYPERION] (INFO) Initial foreground effect 'Rainbow swirl fast' started
    2021-02-25T02:56:41.397Z [hyperiond EFFECTENGINE] (INFO) Run effect "Warm mood blobs" on channel 254
    2021-02-25T02:56:41.408Z [hyperiond HYPERION] (INFO) Initial background effect 'Warm mood blobs' started
    2021-02-25T02:56:42.689Z [hyperiond HYPERION] (INFO) Hyperion instance 'Default' has been started
    2021-02-25T02:56:42.371Z [hyperiond LEDDEVICE] (INFO) Start LedDevice 'ws281x'.
    2021-02-25T02:56:42.399Z [hyperiond EFFECTENGINE] (INFO) Run effect "Rainbow swirl fast" on channel 0
    2021-02-25T02:56:42.408Z [hyperiond HYPERION] (INFO) Initial foreground effect 'Rainbow swirl fast' started
    2021-02-25T02:56:42.413Z [hyperiond EFFECTENGINE] (INFO) Run effect "Warm mood blobs" on channel 254
    2021-02-25T02:56:42.426Z [hyperiond HYPERION] (INFO) Initial background effect 'Warm mood blobs' started
    2021-02-25T02:56:42.710Z [hyperiond V4L2:AUTO] (INFO) available V4L2 devices:
    /dev/video14 bcm2835-isp-capture0
    /dev/video15 bcm2835-isp-capture1

    2021-02-25T02:56:42.726Z [hyperiond V4L2:AUTO] (INFO) search for usable video devices
    2021-02-25T02:56:42.748Z [hyperiond V4L2:AUTO] (INFO) test v4l device: /dev/video14
    2021-02-25T02:56:42.843Z [hyperiond V4L2:AUTO] (INFO) found usable v4l2 device: /dev/video14 (bcm2835-isp-capture0)
    2021-02-25T02:56:42.877Z [hyperiond V4L2:AUTO] (INFO) Started
    2021-02-25T02:56:42.883Z [hyperiond HYPERION] (INFO) Hyperion instance 'GPIO12' has been started
    2021-02-25T02:56:42.558Z [hyperiond FLATBUFSERVER] (INFO) Started on port 19400
    2021-02-25T02:56:42.562Z [hyperiond PROTOSERVER] (INFO) Started on port 19445
    2021-02-25T02:56:43.282Z [hyperiond WEBSERVER] (INFO) Started on port 8090 name 'Hyperion Webserver'
    2021-02-25T02:56:43.544Z [hyperiond WEBSERVER] (INFO) Started on port 8092 name 'Hyperion Webserver'
    2021-02-25T13:41:54.206Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
    2021-02-25T13:41:54.251Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1063:handleLoggingCommand()) log streaming deactivated for client ::ffff:
    2021-02-25T13:41:57.718Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
    2021-02-25T13:42:06.216Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1054:handleLoggingCommand()) log streaming activated for client ::ffff:

    I've also attached my config.

  • I had comment out the audio line, so I'm not sure if that has the same effect as explicitly declaring it off, so I have reverted my earlier change and have set it to off.

    I did not have the core_freq at all, so that has also been added.

    I've made these changes remotely and rebooted. Will check in the morning and advise.

  • What is the best way to run a test? I have been going to effects and loading one in (atomic swirl in this case) and then hitting continuous test. If that process is indeed acceptable, then I'm still seeing no LED activity.

  • I'm quite familiar with the pi. I have over 20 of them doing various things from repeater controllers for amateur radio to radio link setups, desktops, display boards, serial over IP solutions, etc.

    What I'm not intimately familiar with is Hyperion, as I did not know it existed until I found the above referenced video.

    In all the docs I've found, there has always been reference to GPIO 12 and 18. But based upon your comment, 12 is non-standard?

    I can certainly re-solder the line to GPIO 18, if that is going to solve my problem, but what I was hoping to accomplish here was to find an error in my setup or evidence that there is an issue with GPIO 12. Sans the latter, I'm reluctant to just change things around until it works. That is not a good troubleshooting process. If an action is required, I'm happy to take it, but I like to understand the why.

    I do have a WLED module that just arrived, but in order to even begin to play with it I need to figure out the best firmware to use, etc. And if that is the direction I must go, I still want to know why the current setup is not working.

  • here are often users which never used a rpi before, dont know what ssh is nor used a cli.... dont know the difference between volt and ampere
    there for i asked, to know on which level i can help you

    ok good, if you do amateur radio then you know some electronic basics....(my knowledge is limited :P)
    there could be a problem that the system uses gpio12 for other things like audio....thats why i said to comment the audio to off...
    second thing is: the ws2812b need vcc*0,7 = 3,5v MINIMUM datasignal....but the rpi pin has only 3,3v...most users have luck and it works...but sometimes it doesnt...
    so this could also be problem to check...but before checking if the rpi is the problem i would first check with an arduino or esp8266 if maybe the leds are faulty...if this works, then i would go back to rpi to see where the problem is at the pi

    i hope those infos helps a little bit

  • I understand. I deal with the noob users who don't even make an attempt to fix an issue, then just want someone to do it for them. That mentality is rampant in amateur radio. It makes it hard, sometimes, for folks who know their stuff to connect to other because you have to get through those barriers.

    On a side note, I grew up in a TV repair shop and used to ride along with my grandfather to make house calls to repair sets.... My how things have changed.

    Linux/Unix and I go way back. I started with Slackware and Red Hat 5.2 back in the 90's. Heck I even have a certification in AIX, but I don't mention that much..... Ha!

    I benched the pi zero and re-soldered my connection to GPIO12 just in case. Upon returning back upstairs, now it won't re-connect to wireless. So I'm pulling that and replacing it with a 3B+.

    On a whim, I downloaded Hyperbian, but the boot hangs after the random: crng init done. It does this on both the zero and the 3B+, so I'm going back to a Pi OS Lite image and starting from scratch.

    The LEDs do work, as I have an arduino nano with a test sketch and the LEDs light up, so whatever my issue is/was it's software or hardware... Anyway, let me get the 3B+ up and I'll report back on my progress.

    Thank you for you help so far.

  • Ok, good news. The 3B+ appears to be working.... I do have one remaining issue..... Regardless of what effect or color I have running, at random times I'm getting what can only be described as a strobe effect where the LEDs will flash white for milliseconds. The effect or color continue to work, but the white strobing is really annoying. It happens at random times/intervals between flashes.... I could do a video if that would be of any help......

    My take away is that YMMV if you choose to go the pi zero route.

Participate now!

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