Flashing a Sparkfun 8 x 8 RGB Matrix with an Uno.

I'm posting this to help anyone using 0022 who's got an Uno and an 8x8 RGB Matrix & Serial Backpack from Sparkfun. Out of the box, the matrix was exhibiting some tearing and what looked like off-by-one errors when using the RGBMatrix library to control it. These errors were supposed to be fixed in RGB_Backpack_v5.hex.

If you've got a Duemilanove, you can use ArduinoISP sketch to upload the new firmware. I've got an Uno, so I thought I wasn't able to upload the firmware, per:

This afternoon, I stumbled on a patch for ArduinoISP here:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1286589145

I applied the patch manually, saved it as a new sketch. Then, I did this:

  1. Uploaded the patched ArduinoISP.
  2. Unplugged from USB.
  3. Disabled the autoreset.
  4. Connected the Matrix ISP pins in the prescribed manner.
  5. Connected the USB cable and let the Arduino boot.
  6. Ran the following from a terminal:
avrdude -P /dev/tty.usbmodem621 -b 19200 -c avrisp -p m328p -F -v -e -U flash:w:RGBBackpackv5.hex

And it worked. The firmware uploaded. Once it was done, I

  1. Unplugged the USB cable to power off the Arduino.
  2. Removed the disable of the autoreset.

No more "tearing" letters, no off-by-one problems.

Hope that helps someone.