hi RobG, what is the GS pwm cycle here? and and according to me updateTLC() should be called just after elese conditon and within the loop. becoz by executing the if or else condition, it shud put those leds element value in the buffer.and then when delay is encountered- it shud latch all data , and show the outputs.After executing ISR, it will again come back to while loop i.e. execute if or else conditon. Now new positions (according to the pattern), then it shud update in the UCB0TXBUF, and then call ISR.... becoz now what is happening---> and when else or if condition is executed once