I've connected an Arduino Uno to a MAX7219 IC, which is connected to only one standard 8x8 LED matrix, and an ADXL355 3-axis accelerometer. I use the matrix initially, and turn on all LEDs, while taking the "rest" values for the accelerometer to base all other calculations on. However, what happens is the current spike the LEDs create messes up the values - they become closer to 300, instead of the 230 they settle on when the spike is over. I've tried preventing this by adding up to a 5-second delay between the LEDs turning on and the rest values being measured. However, the problem still persists, though to a somewhat lesser extent.

Are there any methods to prevent this more effectively?

  • 3
    It seems to be a voltage drop issue. Potential solutions: add decoupling caps in your circuit, if not enough, use distinct power supply for MAX7219.
    – jfpoilpret
    Commented Oct 22, 2016 at 5:51

1 Answer 1


Adding a distinct power supply for the MAX7219, as suggested by @jfpoilpret, solved the issue.

  • I think you can just run the accelerometer from the 3.3V supply. The 3.3V should remain pretty stable, even if there is some voltage droop on the 5V.
    – Gerben
    Commented Oct 22, 2016 at 15:05
  • @Gerben My particular accelerometer was in fact rated for 3.3V, so it was already connected there. The spike was still, IMO, unacceptable.
    – naiveai
    Commented Oct 22, 2016 at 17:53
  • Weird that the noise or drop propagated to the 3.3V. You could also try adding some more capacitors. That is, unless you're okay with adding a second power-supply, of course.
    – Gerben
    Commented Oct 22, 2016 at 19:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.