Warning message

The Propeller Object Exchange system is decommissioned and replaced with a GitHub repository to house the same existing and future Propeller objects. As of 12/5/2019, this site is read-only. You can continue to browse and download objects from here for a limited time; however, please begin using the Parallax Propeller repository for future reference.
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Request group membership
By: created: 2013-04-10 | updated: 2013-04-10


This is a driver for the LED Strip from adafruit.comhttps://www.adafruit.com/products/306

I took the source code for the Arduino and reversed engineered it to figure out the timing and latching.My first try in Spin didn't go to that well, the performance of Spin was not even close to what was needed.So I took the 74HC595 driver from Dennis Ferron and modified it to shift out the data for the LPD8806.


Original File Upload
Package icon LED_Strip_Demo_01_-_Archive__Date_2012.08.01__Time_17.00.zip6.7 KB


It is possible to speed up the clock/data rate from 1MHz to 4MHz by the simple expedient of removing all calls to #small_del and the three instructions related to latchdel from the assembly language driver.

The setup and hold timings are still good, the LED string loads four times faster without any errors that I can see, on my LED strip or the logic analyzer.

Since the LPD8806 is rated up to a 20MHz clock, this does not push the limit for the part at all.

Thanks to Fredrik Safstrom for translating the original form of the code from Arduino.