In the practical world we live in, PCBs are often rectangles (or rectangles with rectangles, it’s just rectangles all the way down). When a designer goes to schematic capture things are put down on nice neat grid intersections; and if there isn’t a particular demand during layout the components probably go on a grid too. Routing even the nastiest fractal web of traces is mostly a matter of layers and patience. But if the layout isn’t being done in a CAD tool and needs to be hand assembled free-form this isn’t always as simple. [M Rule] had this very problem and discovered a clever solution, turning things diagonal.
They changed the fitness criteria to the optimization problem that is controlling a lot of LEDs. Instead of minimum pins to drive the goal became “easiest assembly”, which meant avoiding wires snaking back and forth across the layout, a big source of frustration in a big Charlieplexed design. The observation was that if they turned the a rectilinear LED matrix by 45° and wrapped each connection around at the edges it formed what was essentially a large multiplexed matrix. The topology is pretty mind bending, so take a minute to study the illustration and build your mental model.
It looks a little strange, but this display works the same way a normal multiplexed display does but with the added benefit that each trace flows from one side to the other without turning back on itself at any point. To light any LED set the right row/column pair as source/sink and it turns on!
What if you actually need a rectangular display? Well that’s no problem, the matrix can be bent and smooshed as desired to change its shape. At the most extreme the possible display topologies get pretty wild! We’re sure to try thinking laterally next time we need to design an unusual display, maybe there is a more efficient matrix to be found.
9 thoughts on “Lateral Thinking For An Easier Charlieplex”
So much advancement to be had in the area of alogorithms and theory! So many layers of beauty to this design.
Is it just me – or is this wonderfully reminiscent of the Apollo Program’s approach to magnetic core rope memory?: https://en.wikipedia.org/wiki/Magnetic-core_memory
Would be nice to see a KiCAD plugin to generate multiplexed LED arrays
How is this better than a normal XY matrix you still have tracks crossing so need 2 layers.
This is for hand assembled free form matrices, not on a pcb. Read the first paragraph
Seems this might’ve been evolving since 2012 – I remembered seeing a blog for a new “twistyplexing” topology ages back and I gotta say, it bears an uncanny resemblance. https://www.google.com/amp/s/argonblue.wordpress.com/2012/06/30/twistyplexing-a-new-topology-for-led-multiplexing/amp/
Does anyone else think this is just braiding wire? If it was a row of three it would look like a standard braid for long hair.
That was what it reminded me of
https://cdn.cdon.com/media-dynamic/images/product/homeandgarden/hemtrdgrd/image295/konstsmide_ljusnt_varmvit_led_4623-103-46149278-57971696-xtrab.jpg light net :)
Please be kind and respectful to help make the comments section excellent. (Comment Policy)