Trouble getting MAX7219 to display anything but 8s

Hello everyone,

EDIT 2: I think, through complete chance, I’ve found the problem. I changed my programmer from AVR ISP mk II to AVR ISP and I’ve had a lot more success, not finished but making progress!

So on recommendation from a forum member, I got myself one of these DIY 8x8 matrix kits to drive a set of 7 segment displays. I’ve hooked everything up like the example (“LCDemo7Segment”) in the LEDControl library instructed but the displays only show 8s and I can’t seem to make them do anything different.

I believe I’ve identified the cathodes and anodes correctly in the image below, [EDIT: Imgur link here] C1 being cathode 1, therefore digit/column 1, A1 being row 1 or segment A. Please correct me if I’m wrong!

So I hooked one of my displays up to C1 for the cathode, and the segments up to A1-7, but they’re always on, no matter what I try. Can anyone see the error I’m making and help stop me pulling my hair out?

Step one: check if the communication with the MAX is ok.
Try to set the brightness in the code to minimum or very low - if the brightness of the display stays consistent, the wiring of your MAX is wrong.

P.S.: Datasheet of display is missing, no pinout, no schematic.
your pictures don't show us, if your wiring is correct.

To post pictures, attach them to your post as you have done and click post. Then right-click on the image link under your post and copy the address. Then modify your post, click the insert image icon and paste the copied link. Yes, it's a pain.

If you have several images to insert, use the insert image icon on the quick reply box to paste the addresses there, but instead of posting a new post, cut everything from quick reply, modify original post and paste.



This may not be your problem, but something to bear in mind:

There are many tales and anecdotes circulating about odd start up behaviour when using the MAX7219/21, for example: https://forum.arduino.cc/index.php?topic=382148.0 . Possibly, certain MAX clones have contributed to this by having their own unpredictable behaviour.

I have has some recent success with a 10k pull up resistor on the LOAD (CS) pin, having suddenly started seeing such problems in an old, and previously working, installation. And that, despite doing an initialisation of the MAX chips in the setup() routine.

Anyway, it could also be a coding problem or, as has been suggested, a wiring error.
Post also the code you are using.

Given that you have tried the 10k pull-up on the "load" line, and indeed tried connecting this without connecting the Arduino at all, and it still shows all segments lit, I would suspect you are connecting a common anode display instead of a common cathode, or vice versa.