RPI Zero W SPI setup ~$100 US

  • This was my RPI project, I cover a few positive and challenging outcomes below the may help others trouble shoot setup issues.


    Setup:
    I used a standard setup that has been diagramed several times, rpi->resitor->3wire led, capacitor on power supply etc.
    Since I am using less than 4M of LED I connected power only to the start and end of the strip.
    The RPI Zero is connected to ground on the LED power supply, and (SPIO MOSI) pin 19 to the green data wire. That is the only soldering I did, two wires. I tried to set it up with pin18 and use the ws2812x driver but never got it to work. I did end up putting a ~100Ohm resistor on the line, not sure if it’s needed atm, but may experiment later.


    I have a wire port behind the tv, so the tv is flush against the wall on a 15” cantilever wall mount that tucks into a pocket I boxed in between the wall studs, the backlight does look better when it’s pulled away from the wall a bit. I have the LED strip attached to the tv with double stick tape and hot glue on the corners (glue doesn’t adhere to the LED cover that comes with the LED strip but tape does with limited reliability; the glue holds it in place but the tape keeps it from sagging. The 55” Samsung QLED TV has a ridge textured plastic back and glue sticks to it but also comes off without leaving any residue. I used a long wire so I could put all the hardware behind the rack/bench under the tv, wires are run through the wall. I didn’t have any issues with the long power cable.
    [pop out video for more reliable playback]
    [MEDIA=googledrive]12XuHs3Vsr27KJFrO6iNBfoj9Bu4gVqb5[/MEDIA]



    Problems and solved problems:


    NOOB install on my first RPI Zero installed java 11 and it took me a couple hours to figure out I had to use Java 8. It also took longer because I had the RPI zero and a week later upgraded to the RPI zero W.


    LEDS “always white”. I had it up and running very quickly but only for a couple seconds at a time. This led to about 8 hours, off an on, of trying different configurations. I hadn’t even gotten to the video grabber setup yet. There are several posts on this topic but most of them end without a solution. Typically its suggested to get a level switch to push the correct voltage to the LED middle wire. It is also suggested that "white" is under powered.
    I tweaked for hours but lets get to the punch line:
    I noticed it worked every time I saved or opened the config file, or any other process on the pi. If I moved the mouse around it worked also. All the extra config edits I tried made no difference but I added load to the grabber so that it had to work with larger images and it’s completely functional - first video (in post) was Netflix 4K content. We watched a movie that night with perfect performance.(more detail below)


    Remaining problems (please don’t answer here, I am making help threads to resolve):
    * Hyperion app has the always white issue. I can play an effect and it goes white in about ~1-2 seconds.
    I ran vcgencmd measure_clock core = 250000000. If I changed the sizeDecimation to 1 (I believe that is not resizing), resulting in vcgencmd measure_clock core = 400000000. The RPI is working harder and the sync works great.
    * Adding to the complication of trouble shooting the 'always white' issue, the PS4slim sends black screen with the occasional distortion of snow or green lines. My iOS devices with a lightning to HDMI adaptor work perfectly. The example video is playing from an iPhone 11pro. I tried several video sizes on YouTube and didn’t see any difference in performance. No content from the PS4slim gives me a captured image (just black distortion) when I grab an image from the Hyperion app on OS X. (Using the same HDMI cables) Signal to the TV is great in both scenarios.



    I really like this setup, I would do it again! And thank you to the contributors and devs that made the Hyperion software and plugins.


    The hardware is running on four 5v power adaptors


    Hardware, Ampage
    Splitter: 4K USB to HDMI 1x2 Dual Splitter (AmazonBasics), 3.4A
    Dig to analog: Mini HDMI2AV, 3.4A
    Analog to dig: rca to usb (UCEC VHS VCR to Digital Converter, USB 2.0 Video Capture Card)
    RPI: Zero W, 2.4A
    LED strip: WS2812B (Alitove), 5V 10A 50W Power Supply + 1000uf 16W capacitor


    Connections:
    8’ of wire (x3)
    No solder corners: L Shape 3 Pins RGB LED Strip Connectors
    No Solder connectors: Wago LEVER-NUTS 3pin


    $103 US


    I had a couple fo the 5v power supplies on hand already. If I didn’t need to buy power supplies and did soldering instead of clips, the cost would be under $75

  • I did a little more messing with the config since my initial brag post above. added below. I did take out all the "extras" in the the 'device' attribute list and it works fine. Another thing I figured out is that the setup app is meant to be from the viewers perspective, and I had set it up from left to right from behind the tv... so my lights are backwards in the video above. This is also remedies in the updated config.



  • Update: I did experiment with bypassing the resistor between pin19 and the LED (green wire) data. It flickers without it.
    I have a tiny delay that isn't really notable for most content, e.g. some of the fight scene moments in the Spiderman animation are a few frames off but you generally don't notice it as delayed, it's more of an echo during the action. I imagine that is pretty normal?

  • Final post on successes with Rpi0, hoping it can help some folks...
    I managed to get the Hyperion iOS app to work. I followed some threads I had seen earlier regarding changing the RPi Zero frequency. I was under the impression that you can not change the clock on zero...because the raspi config says so*....
    source: https://www.raspberrypi.org/forums/viewtopic.php?t=177743


    Anyhow, I added this to my .boot/config.txt and restarted. I am keeping it low so that I don't have to worry about overheating, which is not really a problem at these settings.
    arm_freq=900
    force_turbo=1


    results:
    pi@rpi:~ $ vcgencmd measure_clock core


    frequency(1)=400000000


    pi@rpi:~ $ vcgencmd measure_clock arm


    frequency(45)=410108000


    I can use the iOS app to set moods, hitting "clear" will play video feed again.


    * as I understand it, the warranty on my $10 rpi is now void. okay.

    • Offizieller Beitrag

    Could you make some screenshots from your hypercon...some infos are only available there

Jetzt mitmachen!

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