My Cousin runs a small not for profit Quadbike Enduro club. The race is two and a half hours and often the riders stop to ask how much time is left. To allow the riders to carry on racing I designed and built a Race Time Board out of 2.5" 7-segment displays.
I had laying around 4 such displays however they are common cathode which didn't lead itself to a very efficient circuit and later I brought new common anode displays. If you use this circuit, you need to use common anode displays otherwise you will waste power and have to deal with lots of heat!
Any I get ahead of myself. The overall requirements of the timer were to be able to display remaining time, indicated when the race is over and warn riders to slow down. As the race is mainly 2h 30m the unit defaults to this on power-on. However this time is able to be changed if need be. There is a remote button to activate the 'slow' warning and a later addition was a switch to turn off the panel buttons to prevent accidental changes to the timer.
Step 1: Don't use common cathode!
Firstly you have to remember to invert the logic in the program - 1 is off and 0 is on. Secondly as the resistors have to also act as the limiting resistors for the display they are quite small value, as such when a segment is on, the resistor is directly connected to ground. This means a large current flows and the resistor heats up. By my calculations that meant each resistor had to cope with 1.2w! I tried to get around this by adding two resistors in parallel and doubling the value of each resistor, however the power still meant too much heat was created. In the end I switched to common anode (CA).
The switch meant that power usage dropped from a peak of 1.5A to just 0.8A from the 12v line. Given that this has to run off of a battery it is a good thing.