I am trying to setup the driver for a ws2801 strip on a raspberry pi for BiblioPixel 3.4.29.
I confirmed the ws2801 is working with Adafruit’s library for it, but when trying to set it up for BiblioPixel I get unexpected flashing of the first pixel only.
First, bp devices
doesn’t show the strip at all. I’m not sure if that it should be there for SPI devices, but I expected it.
bp devices
is only for serial devices. SPI devices are one-way communication so no way to query for them.
Second, this yml results in sporadic light on the first LED in the strip.
shape: [12]
driver:
typename: SPI
ledtype: WS2801
num: 12
animation: $bpa.strip.LarsonScanners.LarsonScanner
Anyone know what I should be doing differently?
Thank you, Adam, for taking the time to write up some diagnostic questions.
Given what you say you are seeing, you likely have something connected wrong.
- Is data on Pin 19 (GPIO 10) and clock on Pin 23 (GPIO 11)
Yes, when using the Adafruit library, I’m identifying it as SPI PORT 0 and SPI DEVICE 0 which corresponds to those pins. I double-checked against a few places including this resource (https://pinout.xyz/pinout/spi) and the breakout board I’m soldering to having SCLK and MOSI identified on the pins I soldered the wires to.
- Are you using a level shifter?
- Is your ground properly connected?
- How are you powering the LEDs?
No level shifter.
I’m using a secondary 5V/3A power supply to the strip. The ground from the secondary supply is connected to the ground on the Pi. I did a continuity test when I was soldering it all together. 5V from the Pi is NOT connected to 5V on the strip. The strip did not come with properly color-coded wire attached so I had to do some research, but since I have it working with the Adafruit library I assumed it was wired correctly.
- are you absolutely sure they are WS2801? Those are pretty uncommon these days. Can you link to the adafruit library you are using?
Yes, the IC on the strip says WS2801SO and that is what I ordered. The more I dig in the more I think other options would have been better, but I based my purchase on an old Instructable that was in the top of my google search (live & learn). Here is the library: https://github.com/adafruit/Adafruit_Python_WS2801
I ran the code in both these example scripts, changing to the hardware SPI instead of specifically identifying the ports. That is to say, for rainbow.py, I commented out lines 19-21 and uncommented 24-26. I get distinct and consistent colors in that script that stayed on.
https://github.com/adafruit/Adafruit_Python_WS2801/tree/master/examples
We recommend using something like our PiPixel -> https://www.tindie.com/products/ManiacalLabs/pipixel-raspberry-pi-led-strip-hat/
It will take care of all the above.
Yep, I’d certainly consider that in my next project. It does look much easier to work with. Pretty slick actually.
···
On Monday, October 22, 2018 at 1:34:19 PM UTC-6, Adam Haile wrote:
On Mon, Oct 22, 2018 at 3:23 PM Josiah Ritchie josiah....@gmail.com wrote:
–
You received this message because you are subscribed to the Google Groups “Maniacal Labs Users” group.
To unsubscribe from this group and stop receiving emails from it, send an email to maniacal-labs-users+unsubscribe@googlegroups.com.
To post to this group, send email to maniacal-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/maniacal-labs-users/d8b22631-57fd-40ff-b31c-fd90a7e5f881%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.