100+ led knight rider

I’ve been going around this project of making a 144 led “knight rider” and I made it work (in code at least) with port manipulation and charlieplexing. However I am sure there is a easier way to do it.

I would like to open a discussion around this.

How do you make a knight rider or “shooting star” with more than 100 led’s?

If you just need to turn the LED’s on / off, you can use shift registers. But 144 Leds will require 18 8 bit shift registers or 9 16 bit registers. This can probably cause timing issues, depending on how fast you need to update the LED’s.

There are also the max7219 IC that can control 64 LED’s

I don’t see why charlieplexing should end up overly difficult. It should be pretty easy to produce charlieplexing “infrastructure” that allows your main code to look like

for (i=0; i <144; i++) {

It might not be the smallest code “behind the scenes”, but that isn’t necessarily an issue that one should worry about. Code to manipulate a 20led two-dimensional charlieplexed array fits easily on a 1kbyte ATtiny11, for example.

I’ve been thinking about a generalized led array code generator sort of application and library that would create code for you given an array size (in one to three dimensions), a wiring scheme (multiplex, charlieplex, etc.) and so on… It all depends on how quickly people outgrow blinking lights. (I still haven’t outgrown blinking lights! The other project that would be neat is the beginning electronics book “how to make blinking lights”…)

Please write that book, I will buy it and read it.