SPI Protocol

bsullivan

New Member
Is anyone familiar with SPI protocol? I ran into it the other day with some commercial lighting fixtures and I am unfamiliar with it and couldn't find any good articles on how it relates to lighting and compares to DMX anywhere.
 
Serial Peripheral Interface (SPI)
SPI is a full-duplex serial communication protocol that is commonly used for inter-chip communication, such as the interface between a microcontroller and flash memory. There are controllers that convert DMX to SPI, for example, https://www.sunricher.com/spi-series.html

Many RGB LED strips (such as DotStar strips from Adafruit) are made of APA102 LEDs that use the SPI communication protocol. You can use jumper wires to connect a strip to the following pins (pinout may vary depending on the LED strip)

  • clock: J1 pin 38 (SCK)
  • data: J1 pin 39 (COPI)
  • VCC (3.3 V supply): J1 pin 2
  • GND (ground): J1 pin 1
More info here: https://www.ledyilighting.com/the-ultimate-guide-to-addressable-led-strip/
 
Just to make things more confusing... Dave linked to a product that is actually proper SPI, but probably the majority (at least from what I've seen) of LED pixel tape and similar products use the WS2811/WS2812 style protocol. That is sort of like SPI and often described as SPI--but is not actually compatible with what the rest of the electronics world calls SPI. The main difference is that it doesn't use a clock signal, so it's a lot more sensitive to variations in timing and can be tricky to generate. Even the "Ultimate" guide linked above calls everything SPI when most of what they're talking about isn't proper SPI.

If you post some links to the specific fixtures you're looking at we may be able to help narrow down exactly what it needs for control.
 
There is much on the web about how SPI works. SPI is used for pixels where there is one master and many slaves connected inline. In this situation, the first pixel takes the data for it and passes the rest for the next pixel in succession. Some pixels use a clock line and a data line and can run at different speeds. Others, as has been mentioned, assume a fixed clock speed and run on only a data line at a fixed rate. There are DMX to SPI interfaces but normally the controller needs to be configured for the specific pixel or device used.
 
Serial Peripheral Interface (SPI)
SPI is a full-duplex serial communication protocol that is commonly used for inter-chip communication, such as the interface between a microcontroller and flash memory. There are controllers that convert DMX to SPI, for example, https://www.sunricher.com/spi-series.html

Many RGB LED strips (such as DotStar strips from Adafruit) are made of APA102 LEDs that use the SPI communication protocol. You can use jumper wires to connect a strip to the following pins (pinout may vary depending on the LED strip)

  • clock: J1 pin 38 (SCK)
  • data: J1 pin 39 (COPI)
  • VCC (3.3 V supply): J1 pin 2
  • GND (ground): J1 pin 1
More info here: https://www.ledyilighting.com/the-ultimate-guide-to-addressable-led-strip/
And here I was thinking it stood for "Serial Pixel Interface"!:)

But maybe the cheap aliexpress WS2811 that I've used too often have their control format renamed (or a translation error) -because it definitely isn't full duplex nor is there ever a clock line.
I use the Enttec OCTO controllers and they have good explanations in their manuals on the different formats and how it all works.
The most help I've received on this type of pixel LED lighting has been outside our industry from home christmas light display hobbyists. (They helped me invent, build and program a set of 4 x 2000pxl christmas trees for a touring show.)
 
Enttec has a great list of all the LED Pixel protocols. https://www.enttec.com/support/supported-led-pixel-protocols/

The most help I've received on this type of pixel LED lighting has been outside our industry from home christmas light display hobbyists. (They helped me invent, build and program a set of 4 x 2000pxl christmas trees for a touring show.)
Do it Yourself Christmas forums is a great resource. CB isn't a be-all, end-all repository; if you have external links to good info, please share!
 
Enttec has a great list of all the LED Pixel protocols. https://www.enttec.com/support/supported-led-pixel-protocols/


Do it Yourself Christmas forums is a great resource. CB isn't a be-all, end-all repository; if you have external links to good info, please share!
Sorry no links, I physically drove to a guy's house and hung out in his garage.
I was tasked with figuring this out and sourcing the set pieces the tour designer wanted. turned out that you couldn't just buy these off the shelf and had to build them from scratch. Ended up with a bunch of knowledgeable sources I tapped via good old fashioned email along with facebook messages and Discord.
Felt quite satisfied that I, an old-school sound guy who's lighting experience involved words like "Teatronics", "Leprecon" and "conventionals" could figure out Art-Net, multi-layer mapping and Ray Wu's Aliexpress store.
I will do my best to impart this knowledge to these forums if anyone needs it.
 
SPI is unbalanced, so it's really good when everything is on the same circuit card in the same enclosure. DMX is far better when things are distributed. So if you're using this over distances, expect problems. I've never used SPI for anything that wasn't on the same power supply and wasn't more than a meter apart.
 

Users who are viewing this thread

Back