Email Address:

Lost your password?

This is the legacy website; please use the new website.

Charlieplexing: What It Is & How It Works

"Charlieplexing" is a multiplexing technique for driving displays and is particularly suited for use with microcontrollers. It reduces the number of outputs required to drive a given display but implementing it can be a little tricky. Here is an in-depth explanation of how it works.

By Nicholas Vinen

The Remote-Controlled Digital Up/Down Timer described in August 2010 features six 20mm-high LED digits in three dual displays. These are great because they are bright and easy to read from a distance but unlike a Liquid Crystal Display (LCD), they do not have an on-board controller IC. This means that driving them normally involves using external components and quite a few tracks on the PC board.

However, we found a way to drive all six digits using just nine tracks and no external components (apart from the microcontroller). The method we used is known as “Charlieplexing”. It was originally developed by Christopher Malinowski in 1979 but was popularised by Charlie Allen at Maxim, with the development of the MAX6950 and MAX6951 ICs. These can drive five or eight 7-segment displays from a 16-pin IC package.

We used a similar scheme for our timer project, with a microcontroller in place of the specialised IC. This also allowed us to optimise the track connections, dramatically simplifying the board layout.

Click for larger image
Fig.1: the conventional multiplexing scheme for driving common anode LED displays. Each digit is individually switched on in sequence and the appropriate cathode control lines drive the wanted segments via transistors Q5-Q8.


Before describing how the technique works, let’s first look at how a 7-segment LED display is normally driven. This method is not restricted to this type of display – it can be used with vacuum fluorescent displays, incandescent displays, Nixie tubes etc. The main differences are the drive voltage and current.

Fig.1 shows the conventional multiplexing arrangement, although we have simplified it by showing just four LEDs in each display and only four displays. However, this method can handle any number of segments or displays by adding more transistors and control lines.

Of course, as the number increases, routing the tracks becomes more difficult.

It works as follows: the anode control lines are active-low and only one of them is active at any given time. Typically, transistors Q1-Q4 are turned on in sequence with a 25% duty cycle. Conversely, the cathode control lines are active-high and any combination may be turned on at any given time.

Share this Article: 

Privacy Policy  |  Advertise  |  Contact Us

Copyright © 1996-2021 Silicon Chip Publications Pty Ltd All Rights Reserved