Speeding up your SPI MAX7219 LED displays when using Arduino and LedControl Library
In preparation for the arrival of my GPSDO[1], I’m doing a quick build of an “Atomic Clock” display to have above my lab equipment. I’m using a cheap, small eight digit red LED SPI-controlled display. It uses the MAX7219 controller that I got from eBay for next to nothing. I plan to parse the RS232 information from the GPSDO unit and display the exact time. I’ll also post 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. It’s 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. It’s great if you want to be able to use any pins to connect to the screen, but using Arduino’s bit manipulation tools for “bit-banging” the display is slow.