I followed the ShiftOut tutorial in the learning area to figure out how to serially control a led matrix. It ended up in a small pitfall game when I attached a joystick. Most fun I've had in a while.
But when I had played with the device for a while, I suddenly noticed I hade made an omission that should mean nothing lit up at all.
I had forgotten to attach the second ground row to ground! It still worked quite as expected. But I decided it was probably a bad idea to keep the ICs ungrounded, so I dutily connected the second ground row to the connected one.
What happened was that the matrix was flickering to the point of "nothing working". I debugged and added delays and whatnot, and it seemed to work, just not when things got fast. I re-read the article and noticed the capacitor on the clock pin and added a wee bit big one (10uF) to my circuit. It was still behaving weird. So I dug out a really small one (22pF) and now things started to look good.
So what's happening here? Why does it apparently act more stable when the ICs aren't grounded, and why does it work at all? Is something slowly dying in there when not grounded?
I'm also quite curious why someone thought it was a good idea to juble up the pins on the led matrix instead of going 0-7 Vcc and 8-15 V0.
Here's a video of the final product if you're interested.