JamieDemos:
I have instead tried to use millis to control the timing (incorrectly). Is it possible to use millis to control the timing of a for loop, how would you go about this? or is there a different method to control the timing of a for loop (other than delay)?Thanks
The point is to NOT control the speed of any for() loop. Let it run fast, updating anything it needs to update as fast as possible. What you need to slow down is the decisions of what to update.
If you want a single LED 'chasing' along the strip then change which LED is lit once per second or whatever. The for() loop can use this information to quickly update the whole strip once that decision is made.