Imp Speed -- Cannot control RGB LED's

I am trying to control some D705 based RGB leds. They are controlled by a data and clock pin.

I am able to control the led elements, but, if I try to set an element at less than 100% brightness, I get a lot of flickering. The reason for the flickering is that partial brightness is linked to strobbing of the clock pin and it does not seem that I can strobe the clock pin fast enough…

I have no problems controlling these elements using a low-end Microchip based controller running on its internal 4 MHz clock. I have tried some obvious tricks (inlining code to reduce procedure calls, eliminating math), but, I still get a lot of flickering…

Is there a way to increase the clock speed of the Imp? Or, compile the Squirrel code so it might run faster? I am guessing I need at least a 4-10x increase in speed.

Would it be possible to drive the D705 using an SPI peripheral rather than bit-banging the clock? The not hugely dissimilar WS2801 is much better driven that way:


I will give the SPI peripheral a try… I am guessing it will work better, but, I have a fear that it might do a flicker when updating the frame because of the delay in starting the spi send of the next frame.

Thank you for the link – I should be able to try this in the next couple days