ATtiny Hacks: ATtiny-controlled 4x4x4 LED cube has a unique design

ATtiny Hacks Theme Banner

simple_attiny_led_cube_charlieplexing

[Tom] recently started experimenting with Charlieplexing, and wrote in to share the 4x4x4 cube he built with an ATtiny24. Similar to this minimalist 4x4x4 LED cube we featured the other day, [Tom’s] version attempts to use the least pins possible to drive the LEDs, but in a different manner.

[Tom] didn’t want to sacrifice brightness, so he decided that the LEDs would have a 1/8 duty cycle. The problem is that the ATtiny’s I/O ports can’t support that kind of current so he needed a different means of driving the LEDs. Rather than employ any sort of shift register to control the LEDs, he opted to exclusively use transistors as he had done in previous projects.

For his Charlieplexed cube to use a total of 9 I/O pins he had to get creative with his design. He broke each level of the structure into two non-connected groups of LEDs, utilizing diagonal interconnects to get everything wired up properly.

It seems to work quite nicely as you can see in the video below. While it uses two more I/O lines than the other ATtiny cube we featured recently, we love the simple, shift register-less design.

[Read more...]

Improve charlieplexing performance with interrupts

single_chip_led_matrix

[Dmitry] was shopping for LEDs and accidentally pulled the trigger on the wrong type. Since he didn’t want to be wasteful, he figured he should at least take the time to build something with them.

A LED matrix display was the obvious project choice, but he only had a PIC16F688 at his disposal. Since the micro controller only has 11 output pins, charlieplexing was the only way he would be able to light the entire matrix.

While testing his LED array, he found charlieplexing to be a bit disappointing. The fact that the LEDs can get relatively dim, depending on the number of units lit at any particular time struck him as annoying.

In order to improve the performance of his charlieplexed array, he first decided to scan through all of the LEDs rather than just those that needed to be lit. This ensured that all of his LEDs had the same 1/110 duty cycle and were always as bright as possible. He also chose to use interrupts when lighting the LEDs. This meant that his code does not need to take into consideration any specific timing requirements to maintain persistence of vision. He also double-buffers the display to help reduce flicker.

He says that he ran into certain constraints with the PIC chip he chose, so he used a handful of lookup tables to ensure smooth operation of his display. He was quite satisfied with the results, and we think that the interrupt-driven display looks like it works just fine from where we’re standing as well.

Be sure to stick around for a quick video explaining and demonstrating his single-chip LED matrix.

[Read more...]

Lol Shield Theatre brings online video to the pixelated screen

lol_shield_theatre

[FallDeaf] bought a Lol Shield, and after making all sorts of blinky displays, he thought to himself, “What in the world can I use this thing for?”

In a really slick fusion of hardware, software, and the power of the Internet, he has created what he calls, “Lol Shield Theatre”.

The idea goes something like this:

You visit his site, and create your own “movie” by drawing on his virtual Lol Shield. Add as many frames as you would like, set the frame rate, then submit your creation. From there, you can download an Arduino sketch that contains your entire animation so you can play it on your own Lol Shield. You can also visit his Lol Shield gallery, where you have the ability to watch, download, and vote on movie submissions from other visitors.

He has also provided the source code to drive your Lol Shield, as well as created an API through which you can stream the various animation feeds from his Lol Shield gallery directly to your Arduino via a USB cable.

Be sure to check out the video demo we have embedded below, and show off your pixel cinematography skills over in the theatre.

[Read more...]

LED Life and Charlieplexing


Yesterday, we featured [Andrew]‘s orientation aware camera. We want to highlight another one of his projects: LED Life. It’s a 6×5 LED matrix playing Conway’s Game of Life. He used the low power MSP430 like our e-paper clock. The best part of the writeup is his explanation of how Charlieplexing works. Microcontroller GPIO pins generally have three possible states: output high, output low, and input. This combined with the directional nature LEDs and some creative wiring means you can run a large matrix of individually addressable LEDs with just a few IO pins. Instead of just flipping the IO pins on and off you change their assigned state. Have a look at [Andrew]‘s site for some great illustrations of how the system works. A video of his LED Life board is embedded below. [Read more...]

Breath controlled LED candles


Instructables user [cedtlab] has posted an interesting LED project that simulates birthday candles. The circuit runs on an AVR ATTiny45, and is powered by 4 AA or AAA batteries. By using a Charliplexing technique, they are able to drive all 20 LEDs with only 5 pins of the ATTiny. A thermistor is used for detecting breath by measuring temperature changes, and then blocks of LEDs turn off depending on the change detected. They have provided schematics and source code for everything. Make sure to check out the video of the “ficticious birthday party” after the break.

[Read more...]