Sawyer Star — the saga continues
Date: September 4, 2011 | CommentThis was my last take on a circuit to drive the Sawyer Star, an 8×8 LED array that I have spent more than three years adapting from work from more than a dozen people — before I gave up.
This schematic is basically the one drawn by Mike Ardai (N1ist) for his Color Stick project. I changed only three major things:
- He uses surface-mount components; I have changed this to a through-hole board.
- I’ve added an on-board power supply.
- Mike’s application requires three TLC5916 constant-current drivers, while in my project only one is needed. But the Star needs the addition of a 74HC595 and UDN2981 to source to the LEDs.
Through-hole vs. SMT: While I’m hoping to get some SMT experience in the coming months, I plan to build the first versions of this thing as through-hole because that’s where my comfort level is. From my readings in the DIY Christmas lights communities, it’s clear I’m not the only one who remains uncomfortable regarding SMT. I may redesign the PCB at some later point as SMT.
Power supply: I’ve been thinking about the power supply for the Sawyer Star for a long time. The originator, David Thorpe, uses a nine-volt battery, which he says runs his stars throughout the holiday season without needing a change; I think that with the RS485 chip and off-board PWM, a battery probably won’t hold up adequately.
After seeing the on-board power supplies of Robert Jordan and Robert Martin, I briefly considered bringing household current onto the board, but ultimately decided this would be a bad idea. I decided a so-called wall wart (a wall-plug transformer) would be a better idea.
My theory here is that many people have surplus wall warts hanging around the house, which would help reduce the cost of the completed circuit.
In my initial design of this circuit, I used a standard LM7805 linear regulator. The problem with this component is that it doesn’t adequately handle current above one amp. In testing, I found that the LM7805 got really, really hot without a heat-sink and even with one I was concerned about it’s ability to work properly.
I designed a second version of the power supply using an LM317-based circuits, which while typically used for adjustable supplies, also work in fixed-voltage situations (and handle 1½-amps of current). It’s a cheap part (50-to-60-cents) and only needs a couple of resistors and a diode to complement the design.
Unfortunately, the LM317 is, like the LM7805, a linear regulator and dissipates the difference between voltage-in and voltage-out as heat, so the switch from the 7805 to the 317 gains me nothing.
Based on work done by Robert Morgan, I stumbled across the LM2576, which is a switching regulator rather than a linear regulator. As a switching regulator, it lowers the voltage by literally turning it on and off (very fast), which is a technique called pulse-width modulation or PWM. This technique is also used as a method for dimming DC-based components such as LEDs (see below).
The LM2576 works up to three amps of current but it has a problem: it has a relatively high cost ($2) and requires an inductor, which is another uncheap part (40-cents). I’m awaiting these parts (hanging head in shame: ordered the wrong versions of both the regulator and the inductor previous) and will build them up on a breadboard to make sure they work.
I’ve also added a 40-cent bridge rectifier to the circuit so that virtually any wall wart – from 9-volt AC or DC to 24-volt AC or DC – can be used, as long as it is at least one amp. I am using a terminal block to bring in that input voltage rather than the coax connector typically used for a wall wart for two reasons: again, so that any scrounged wall wart can be used and because in many applications the wire will need to be longer than the standard length provided by manufacturers.
Driver chips: The choice of the ATTiny2313 means a relatively low number of pins and a certain constraint on internal memory are available (conversely, those compromises are rewarded with a relatively low chip price: ~$2). By necessity, then, the LEDs need to be handled through driver chips. I use two of those:
- The Texas Instruments TLC5916 is an eight-bit constant current, PWM serial sink driver with eight ports. That means it can control 256 levels (the eight-bit part) of dimming (PWM), provides the LEDs with the specific current they need (constant current), are driven by a serial signal and control the negative side of eight LED circuits. A serial signal allows you to drive a relatively unlimited number of ports with only two pins on the ATTiny2313. Multiple serial drivers can be “cascaded” together by merely taking the output of the first driver and wiring it to the input of the second.
- The commodity 74HC595 is a serial shift register chip that sinks eight ports. Like the TLC5916, it can drive eight LED circuits via a serial signal; unlike the TLC5916, it doesn’t have constant current or a PWM. An array of LEDs doesn’t need PWM or constant current on both the positive (rows) side of the circuit as well as the negative (columns) side – as long as they exist on one side or the other, they’re fine. But the 74HC595 is also like the TLC5916 in that it sinks – or handles the negative side of the – the output circuit. Two negative controls won’t work, so the 74HC595 has to be supplemented with another chip that takes the sink port and turn it into a source port – the UDN2981.
One last thought about this circuit: I drew it in DipTrace, which while not the easiest program I’ve ever used, did seem to become somewhat efficient by the time I finished. After I’ve built up this circuit on a breadboard, tested it and made sure it works, then I’ll move on the the application’s printed circuit board creation ability.

4:41 pm on November 26th, 2011
Hi.
Did you ever get your star to work?
What effects can it do?
I’m building a “holdman star” using mini lights. I got 168 mini lights installed on a small 19″ X 24″ plywood board.
I’m trying to determine which atmel micro to use regarding the memory and program size. Since I mainly need SPI for my 595 chips, I don’t need a lot of output pins. I plan to control each light bulb individually dimmed. Came across this website while looking for ideas.
5:05 pm on November 27th, 2011
Peter: The project is on hold while I’m finishing the 2011 light show; I came thisclose to having it done for 2011, but encountered a problem at a critical juncture a few weeks back and decided to devote the rest of my free time to the overall show.
I can currently dim all 60 LEDs individually via DMX-512, but haven’t written anything more specific than that.
Good luck with your star.
\dmc
10:13 am on December 23rd, 2011
I was in downtown SF last night (a fun place to visit this time of year) and I saw your display on the way home. At first I drove right past it thinking I would hear Christmas music when I got close. Silly me, it’s good thing you have the scrolling sign. Well done, it looks like you put in a lot of time pulling it all together. I always like a good light show and I saw many displays on the way there. Thank you, it was a nice end to a pleasant evening.
-MH
11:00 am on December 23rd, 2011
MH: Glad you enjoyed it.
6:49 pm on January 18th, 2012
Greetings again. I hope you had a nice Christmas season. No bad storms. Similar to you and over a year ago I conceived of a project where I wanted to make an array of LEDs that I could address individually with DMX. At that time I bought some materials but I got busy and didn’t continue with it until now. I have built one of Henne’s matrix transceivers on a proto board and I can dim up and down one LED so far. I am using it in the 3×8 mode because of the duty cycle. This will mean I will have to build several boards to achieve what I want but it’s a two chip design and comes together fairly easily. I noticed that you built the same design. What problems did you have with it? Does your current design have a 1/8 duty cycle? I want to control more than 64 LEDs and I want it expandable. Component count is always important to me. Any advice you have for me would be appreciated.
-MH