Speeding up your SPI MAX7219 LED displays when using Arduino and LedControl Library
In preparation for the arrival of my GPSDO I’m doing a quick build of an “Atomic Clock” display to have above my lab equipment. I’m using a cheap, small 8 digit red LED SPI-controlled display that uses the MAX7219 controller that I got off eBay for next to nothing. My plan is to parse the RS232 information from the GPSDO unit and display the exact time, and also display error messages if the GPS signal lock gets lost. I’ve done a quick prototype using an Arduino Uno, but I plan to try to get an Attiny85 to work as the controller when I’ve finished the parser and the rest of the software.
After doing some research, naturally there was a library available to connect to my LED display called LedControl which is a part of the standard Arduino libraries (in the download section). But when I checked the code, it uses the Arduino routines to shift out the SPI data to the display manually. This is great if you want to be able to use any pins to connect to the display, but using Arduino’s bit manipulation tools for “bit banging” the display are slow.