Pitfalls to Avoid with Multiplexed Arduino 7 Segment Display

Shreyas Nisal
2 min readSep 24, 2019

If you’re starting the learning curve for Arduino just as I am, you might be interested in projects related to 7 segment displays. And I’m sure you can find numerous resources on the internet to help you get started. However, I was using those resources too, and had a lot of frustrating moments when working with a multiplexed 7 segment display. Hence, I thought it would be a good idea to list out the points that I wish I had been told before I spent hours trying to find what I was doing wrong. So here we go:

  1. Make sure to keep track of the active high/active low status of all your pins. In my case, my digit pins, which control whether a digit on the display is on or off, were active low, meaning that a LOW signal on a digit pin meant that the digit was actually ON.
  2. Make sure you prepare the digit to be displayed before you turn on a digit, that helps a lot. For example, if you want to display a 5 on digit-2, display a 5 first, and only then turn on digit-2.
  3. Make sure you don’t have any large delays anywhere in your program. In case you’re trying to make something like a minutes counter or a clock (like I did), make sure you use some function like millis() which does not stop/block the rest of the program.

I think these 3 points sum up most of it, but you could still run into your own issue when working with a multiplexed 7 segment display. If you do, feel free to discuss these issues in the comments here! Also, if these points helped you and/or saved your time, don’t forget to give a clap!

--

--

Shreyas Nisal

Software Engineer at Twilio | Ex Research Assistant at MIT Media Lab, Exertion Games Lab | Ex Intern at Twilio, BitHyve, Mednet Labs