Get the latest tech news
Charlieplexing
Charlieplexing (also known as tristate multiplexing, reduced pin-count LED multiplexing, complementary LED drive and crossplexing) is a technique for accessing a large number of LEDs, switches, micro-capacitors or other I/O entities, using very few tri-state logic wires from a microcontroller, these entities being wired as discrete components,[1][2] x/y arrays,[3][4] or woven in a diagonally intersecting pattern to form diagonal arrays.[5] The method uses the tri-state logic capabilities of microcontrollers in order to gain efficiency over traditional multiplexing, each I/O pin being capable, when required, of rapidly changing between the three states, logical 1, logical 0, and high impedance. This enables these I/O entities (LEDs, switches etc.) to be connected between any two microcontroller I/Os - e.g.
Also in 2001, Don Lancaster illustrated the method as part of his musings about the " N-connectedness" problem, referring to Microchip Technology, who had already discussed it as "complementary LED drive technique" in a 1998 application note[12] and would later include it in a tips & tricks booklet. The method, however, was known and utilized by various parties much earlier in the 1980s, and has been described in detail as early as in 1979 in a patent by Christopher W. Malinowski, Heinz Rinderle and Martin Siegle of the Department of Research and Development, AEG-Telefunken, Heilbronn, Germany for what they called a "three-state signaling system". […] Charlie Allen originally championed this technique internally at Maxim, and so the shorthand name "Charlieplexing" came into use to distinguish reduced pin count multiplexing from the traditional method.
Or read this on Hacker News