SPI Speed instability or Rpi1 + Hyperion

Hi all,

I’m using a recent build of Hyperion on a RPi 1 configured to use SPI and WS2801 type.

I’m developing an attiny based converter to take SPI 2801 led data and resend it as ws2812 data.

Using a logic analyzer in seeing the SPI speed change every few seconds from the requested speed (800000) to 2/3 of that speed (533.333) bits per second and back again. It happens with other speeds too

As best I can tell nothing else has spidev0.0 open and Hyperion has no code to change it dynamically.

Kernel bug ?

The problem with ws2812 is afaik that the speed of 800000 cannot be produced with a rpi in a consistant manner. The default of hyperion is iirc 260000. Try this speed. Your converter needs to take care of the timing for the ws2812 then.
The rpi can also drive ws2812 directly via pwm output.

Correct - that’s why I’m making this adaptor.

The pi thinks it’s talking to a WS2801 over SPI.

As an aside its working great – I’ve tested with an attiny13 at 8MHz and attiny85 at 16MHz with 256 LEDs.

The SPI speed change isn’t tragic for me, but a higher more consistent refresh rate would be great.

Btw, I need PWM for audio, so a $1 single chip solution is a winner here.

I’m not seeing this issue an my rpi2.

How similar are the SPI kernal modules between the pi1 and pi2 ?