I was making a breadboard demo for a Microcontroller class. Basically my project is to make a score keeping device. I want to drive 4 seven segment displays using an atmega8. I read about charlie plexing and understand that it will enable me to drive all the 4 displays using a single port. I understood the theory but can't really figure out how to make the charlie plexing circuit on a bread board. Can anyone please help?
-
Are you saying you have tried to build it and it didn't work? Make sure you aren't trying to pull too much current from your microcontroller. – Kellenjb May 29 '10 at 21:01
-
I had already seen all the mentioned links. What I really wanted was a way to wire charlieplexing on the breadboard. The way I see it, it will require too much of wires. There has to be a better way. As soon as I get my computer working I would post a picture of how I had done it. – Rick_2047 May 30 '10 at 06:19
-
You don't need to go directly from a µC pin to all LED pins, instead you can use chains of wires. – starblue May 30 '10 at 07:15
-
@starblue can you elaborate a little – Rick_2047 May 30 '10 at 07:33
-
1@Rick_2047: 4 seven segment displays will indeed require a lot of space/wires on the breadboard. It may be easier to solder wires directly on the displays instead: http://www.instructables.com/files/deriv/F6I/LTSP/F4WY1KXJ/F6ILTSPF4WY1KXJ.MEDIUM.jpg – JonathanD May 30 '10 at 11:18
-
When you say "port" in your question, are you thinking 1 single pin, or like a 8 bit parallel output port? If you are referring to 1 pin then you probably have a misunderstanding of how charlie-plexing works. – Kellenjb May 30 '10 at 12:22
-
@kellenjb:I mean a whole 8 Bit port, like PORTB PORTC and PORTD. – Rick_2047 May 30 '10 at 13:32
-
@JonathnD can you tell me from which instructable did you pic that picture up? – Rick_2047 May 30 '10 at 14:03
-
@Rick_2047: the same instructable that I linked in my answer: http://www.instructables.com/id/Charlieplexing-7-segment-displays/ – JonathanD May 31 '10 at 11:13
3 Answers
Take a look at my charlie-plexing schematic at http://wiblocks.com/FAQ/faq-charlie-plex.html
Make each row connection the common pin of the seven segment readout. Make each column the individual pin connection. For 28 segments you need six pins. If you use eight pins instead of six you may find it easier to program. With eight pins I would do four rows and seven columns.
(* jcl *)

- 11,646
- 1
- 34
- 54
-
The link won't work anymore. You get redirected to crappy websites. Perhaps it was hacked. – Semo Mar 21 '19 at 10:09
-
I'm only a beginner at all of this, so take this with a grain of salt, but I'd have a totally different approach.
I'd use a 7447 decoder instead. This would use 7 pins (4 for the output, and 3 to select the display), but it would be much simpler than having to work out the combinations to charlieplex and would give a brighter output too.

- 428
- 2
- 5
-
-
A 7447 uses 4 pins to convert from binary to the 7 segments. Then all you need to do is to enable the correct display to display it. – gorilla May 30 '10 at 10:44
The Wikipedia article has simple examples on how to wire charlieplexed LEDs.
There are also a lot of instructables related to charlieplexing. This particular instructable explains how to wire 7-segment displays (with additional transistors though).
This page also explains how to wire 7-segment displays and contains pseudo code on how to drive them. The main difficulty of charlieplexing is to use flickering so that you can switch on arbitrary combinations of segments.

- 1,422
- 1
- 11
- 12