(Help) ARDUINO 2 Team - Scoreboard using series of LED

We are considered as a newbie in ARDUINO since it was just introduced to us this month and i found this site while researching about the ARDUINO.
I'm needing help(or guide as well) since i was chosen as a researcher of the group(consisting of 4 members).

We are developing a project for a certain subject that is a Scoreboard consisting two teams of scores using some series of LEDs to form a segment(approximately consisting of 20 LEDs per segment). I already experienced making a scoreboard using some known ICs and 7 Segment Displays, but this time, it was required for all of us to use ARDUINO as the primary component.

I hope there is someone who is willing to help us if this project is possible, on where am i going to start and also about the corresponding codes.

Thank You!

Hi, I'm sure you'll get the help you need here...

Tell us more about:

The display you want to build. Size, digits, colour, controls, power source, budget, timescales...

The displays you built before: what ICs, your level of experience with electronics, programming etc...


The display we planned to do for this project will just be a prototype. So we will be using the small size LEDs and are color red. This will consist of 4 digit scoreboard (2 for team A and 2 for team B) and each 2 digit must be controlled by 2 buttons (for adding and subtracting scores), a total of 4 buttons for scoring and another 1 button for resetting the scores on the board. As much as possible we are planning to do this as cheaper as it can be.
We already built a scoreboard last 2 months but it was totally different with our present project because there was no coding involved. We used 7447 IC and 74192 IC which are connected to 7 segment Display. If im going to rate myself 1-10 regarding my experience in electronic, it would be 5 since i wasn't very exposed about it(and in my group, there is someone who does the hardware works). And into programming, it would be 7 since i do love logic and im more on coding than electronics.
By the way, we are a Computer Engineering students here in Philippines (and i do apologize for my grammar as i am not fluent yet regarding our international language).

Hi again, do you have a name?

So, in terms of pins, you will need 5 for buttons (there are many ways to use fewer pins, but we must keep this simple).

You need to decide if you want to multiplex the digits or not. If you do, the code will me more complex. If you don't, the hardware will be more complex, or you will need a larger and more expensive Arduino. Multiplexing means that not all the digits are lit at the same time, but because it happens very quickly, it appears to the human eye that they are are all lit together.

If you decide to multiplex, you will need either 8 pins (1 per segment) + 4 pins (one per digit, with a transistor attached to each) or 16 pins (for the segments of each pair of digits) + 2 pins (one per pair of digits, with transistors). So either 12 or 18 pins for the display.

If you want the display to be really bright, you will need transistors for the segments also (either 8 or 16), but for a prototype this may not be necessary.

So that is either 17 or 23 pins in total for multiplexing, or 37 pins if not multiplexing, or use extra ICs. What do you want to do?

Because you say you are more experienced with programming than electronics, I would recommend one of the 2 multiplexing options.

Your English is good enough, I can understand you fine. Much better than my Spanish, I can only order beers!

You have a few more questions to answer from my earlier post, they will help me (and hopefully others) to help you. I am also a newbie with Arduino, but I am not a newbie with electronics, micro-controllers or programming, so I should be able to help you, with additional advice from others here.

What kind of Arduino will you use?


I'd recommend using TPIC6B595 shift register to sink current thru the 20-LED segments.
If the segments are powered from 12V, can have 4 strings of 5 LEDs per segment, needing 80mA per segment.
Use one TPIC6B595 per segment, no multiplexing needed.
Create an array of fonts,
byte fontArray[]= {
B00111111, // 0, where Bits 7-6-5-4-3-2-1-0 = DP-G-F-E-D-C-B-A
B00000110, // 1 A
B01011011, // 2. F B
etc. G

then shift out the data for a font to each shift register using SPI commands

digitalWrite (ssPin, LOW); // to SRCK. MR tied to +5, OE/ tied to GND
SPI.transfer(fontArray[right-ones]);  //D13 to SCK
SPI.transfer(fontArray[right-tens]);  // D11 to data-in on chip one,
SPI.transfer(fontArray[left-ones]);  // data-out from chip one goes to
SPI.transfer(fontArray[left-tens]);  // data-in on chip two, etc
digitalWrite (ssPin, HIGH);  // outputs change on this rising edge

keep track of ones & tens for each digit as you see fit, transfer them out when something changes.

tpic6b595.pdf (427 KB)

This board for example will do up to 12 digits in the manner above. Basically an arduino with drivers intended for 12V LED strips.

Hi Paul!
By the way you can call me Mhen and i am thankful that you really had a time on replying in this post and i hope that it didn't bother you at all.
I already witnessed multiplexing since i was chosen as one of the food server assigned in an ARDUINO seminar last 5 months ago in our school. Actually it was just an introduction for the hardware and they demonstrated some basic outputs(like lighting a LED, working with a buzzer and etc.). I didn't understand it all since i didn't have time staying inside because we are busy on buying and preparing foods.
By the way, our school already had these type of ARDUINO clone and these will be lend to us as a part of our study for the whole semester(even though i do love to know more about PIC).

Hi Mhen,

That Arduino looks very similar to UNO so should be suitable. You have 20 I/O lines. This is not enough to drive all 28 segments directly, so you must either multiplex or use extra chips, for example like the shift registers that CrossRoads recommended.

You can use the Arduino's reset button to reset the scores to zero. There may be a moment when the digits are not lit or do not change, but I think this will not be a problem. The 4 buttons can be connected to 4 pins and read with the digitalread command, or all 4 buttons can be connected to 1 pin, with a resistor network, and read using the analogread command.

Tell us more about the leds you will use. What is the forward voltage and maximum current?

What is the voltage and maximum current of the power supply you will use, and is it regulated?