Yeah that's a good idea, the other thing I was just thinking about was maybe rather than putting in the delay, I'll actually have it write to a variable that does some kind of averaging function. Like have it write a little table with say 5-10 readings, then do a average of the table to refresh the display. Right now it just sits and does 500 counts of delay so the display has time to switch the pixels.
I bet if I'm running 3 channels and doing a 10 count average, with all that math, that will easily be as much time or more than the 500 cycle delay.
Like I said the long term plan is maybe spin a board with some of these circuits built in so the less components period, the better just for everything