First post . I would really appreciate some wisdom here, as I'm more of a programmer than an electrical engineer, so I'm a bit out of my depth with this issue.
I'm making a little USB midi device using the Sparkfun Pro Micro, which is pretty similar to the Arduino micro (both use the ATmega32U4 and have a USB port). More data here.
Here is the wiring diagram I'm following (I'd post an image but the forum limits me to one as I'm new).
So far without the LED module it works very well, I can post the code but it's long, unfinished, and I don't think it has much bearing on this issue. Everything shows what it's supposed to show, a pot at max shows 1024, at min shows 0. Nice solid numbers.
Now when I plug in the MAX7219 board, the LEDs light up fine and how they should, however, I get a bunch of noise on my four 10k pots, between 0-15ish difference on the scale from 0-1024, at any point between min and max on the pot.
The above is simply
Serial.print(analogRead(A0));, and without the MAX7219 connected it shows a solid 0. With the LEDs attached and lit, hairy noise.
To combat this it tried different combinations of the two available outputs from the Pro Micro, one being RAW and the other VCC, both 5v. Moving the pots to RAW and keeping the LEDs on VCC fixed the problem at one end, all the pots now show a pretty solid 1024 when at max, but still have noise at the other end (min, same as shown above). So I assume it's now a grounding issue, with the max spitting some voltage into the ground or the like (yes, I still have a lot to learn about circuits. I'm getting there.)
The problem is definitely worse when the MAX7219 is drawing more power, with all LEDs lit at max brightness vs none.
I've also noted that the documentation for the MAX7219 has instructions to include two capacitors and a resistor as part of the wiring diagram, which this component seems to have built in under the LED matrix, though I can't read the values.
I know I could use filtering via code, but I'd really love to fix it on the hardware end for more stability and precision.
Any suggestions on how to filter out this noise? Happy to provide any follow-up info if I've missed something.