Moving on

It’s kind of depressing when you think about it, but my ESP8266 project is held up by two little switches I need that are somewhere in the mail. It’s going to sit off to the side until those switches come, so I thought I’d shift gears and give you a quick preview of what’s coming up.

RF Transmitter and Receiver

IMG_0001I’ve never been much of a communications guy. Protocols and accommodating for noise and interference and all that has always been confusing/boring to me, but I seem to be tip-toeing toward it these days. I received two RF transmitter and receiver pairs in the mail today. I didn’t have a project idea in mind when I ordered them, but they’re so cheap that I figured it would be would be nice to have lying around if I did come up with something one day. I’m still drawing up a plan, though I think it’s only natural that I try to use that temperature sensor that was originally destined for the ESP8266 project. I haven’t done enough research to see what is and what is not doable with this pair so I can’t confirm anything just yet.

bbIn the ESP8266 project, I have three mini-breadboards that each have a main purpose on them: One for my AMS1117 power regulator, one with the sensors, and one with the ESP8266 module. I decided to try and combine two of them so I could free up one so I could use it to play with the RF pair. I managed to cram the AMS1117 and ESP8266 onto one mini-breadboard… As long as it still works, it’s fine. I hope that this project will be on a perfboard soon anyway.

74HC595 Shift Register Boards Rev B / Light Show 7

I hadn’t mentioned it before but I sent the next revision of my 74HC595 boards to get manufactured and they are on their way to me right now. I’m pretty excited to see how they turn out because they are my first manually routed board.

I’m also excited because it’s part of some upgrades I want done to the Light Show Project before I start programming a new show. These new shift register boards break out the Output Enable pin which allows for some PWM control. The backdrop will definitely have that, but I’m also considering having all LEDs in the project controlled by shift registers, including the fountain LEDs which have always been controlled directly from the Arduino. There are advantages and disadvantages to that but, either way, I plan on taking a close look at how everything is wired.

In addition to working on the wiring, I’m still looking for ways to make it even bigger. For every version of the show, I watch the show and pick out things that I want to focus on. What I realized with Light Show 7 is that it’s not designed very well to watch on a widescreen… We’ll see what comes of that.


Thanks for reading! Stay tuned for more!

74HC595 Shift Register Board Revision B Preview

I said when the year began that I wanted to get back into Eagle and revisit some of my PCB designs, as well as start some new ones. My first project for the year in Eagle is giving some attention to my 74HC595 Shift Register Board. The original version, even with its flaws, was used in the latest Light Show to help control 10 RGB LEDs. It worked out quite well but, again, it had its flaws. I’d love to have a revised board in my hand by the time I’m ready to go back to the Light Show.


This is the new schematic for the board. It includes a breakout of the Output Enable pin which gives you some PWM control. Using this pin will PWM all outputs over the two shift registers (16 outputs), so my idea is to chain three together so I can dedicate each board to a color (red, green, blue). Of course, it’s not as flexible as something like the TLC5940 which has 16 channels you can PWM individually, but it’s cheaper…

Anyways, if the application doesn’t need PWM, I added another ground pin next to the OE pin so you can just connect them together. When you do that, the outputs have no PWM control. The first version of the board had the OE pin already connected to ground in the schematic.


Admittedly, my first PCBs were auto-routed as I was just getting acquainted with Eagle. I’m still learning but I managed to route this one manually. There seems to be a lot of technicalities on what you should and should not do when laying out a board but I don’t think my design is too much off what the auto router would have done. I tried the auto-router earlier and it did some really odd looking turns and loops around pads… Anyways, it’s just like solving a puzzle, though it takes me a few tries to get it right.

If you’re interested in buying these boards, let me know. I’m trying to decide on how many to get made.

Thanks for reading!

DIY LED Bargraph

I’m planning on revisiting my 74HC595 shift register boards in Eagle soon. One of the things I want to add in the next revision is a breakout to the Output Enable pin which allows you to have some PWM control. I never tried it before so I started setting it up to test it. I don’t have any larger breadboards available so I had to use a mini-breadboard. I didn’t like having to lay out the LEDs and resistors, especially on these smaller breadboards, so I put together a line of LEDs on a perfboard. I didn’t bother going on eBay to buy some of those LED bargraph DIPs because I bought a bunch of things on eBay over the holidays so I didn’t want to waste any more time or money.IMG_0001Anyways, here it is connected to a shift register. The PWM worked just fine, though I think it may have looked better on a different color.IMG_0003I already had this piece of perfboard sitting around so I’m pretty happy that the design is pretty optimized. Everything fits on the board without too much wasted space. The 8 pin female header leads to the anodes of each LED and the single female header on the right is connected to all of the cathodes of the LEDs.
IMG_0004Soldering didn’t go too smoothly because I need to find a better tip for my iron. The one I used was a conical tip which doesn’t transfer the heat very well. I have another tip with a flat edge, but the edge is too wide for my liking.

Anyways, that’s it for this quick show-and-tell. Thanks for reading!

Chaining Shift Registers (74HC595 PCBs)

IMG_20140916_123053I felt like doing some soldering as I wait for some PCBs in the mail, so I decided to assemble two more of my 74HC595 shift register breakouts. Up to now, I still hadn’t checked to see if the boards chain together as I designed them to. I chained them to the setup I already had with my first breakout board test and it was great to see that they work together just fine.

IMG_20140916_123258Shift registers can be a little confusing to program at first, but the benefit of being able to control so many outputs using just three pins is worth the learning period. Today, I controlled 48 outputs with my little Attiny85, though I didn’t bother setting an LED up to all 48 for the demo. For the new shift registers, I put an LED on every other output.IMG_20140916_123250These are the newly assembled breakouts. You can see the jumper wire that corrects the missing trace problem I discovered a little while back. For these boards, I decided to solder the output headers so that they plug into a breadboard. I don’t have enough male-female jumper wires to use them as I did before. Doing it like that makes everything messier anyway. I decided against soldering the boards directly together in case they didn’t work. If and when I use these in a project, I will solder them together by the headers.

Here’s a video of my example program. It’s just each shift register running from the first to last output.

The reason why the LEDs on the mini-breadboards look like they’re blinking is because there are times when all of the LEDs are off because they’re connected to every other shift register output pin. The LEDs on the large breadboard (blue LEDs) fill up all 16 outputs of those two shift registers so their sequence is a lot more fluid.

Here’s a screenshot of the loop code:codeLike I said earlier, all the code does is run through each output of each shift register. The for loops make it so that all shift registers are doing the same thing (each “data” byte is the 8 outputs of each shift register). Also, I probably should have declared “o” earlier in the code… Anyways, check out my shift register tutorial for more information on programming them!

Thanks for reading!

Shift Register Breakout – Rev B!

1In recent posts, I showed off my 74HC595 shift register breakout board in action. There is one major problem with it, as well a few things I observed that could be improved. They’re all included in Revision B of the board.

The major issue was that the Data In pad wasn’t connected to anything. It wasn’t an issue in the design file but it was somehow left out when I combined the Attiny85 Programmer/Breakout with the Shift Register Board to fit on the 5x5cm area to get manufactured. So there wasn’t anything to fix in the design, but it’s a lesson to double-check and triple-check the board layout before sending it off to get made.

One thing I learned since I designed this board was making ground planes, so now Rev B has ground planes on the top and bottom. The board functions without them, but since these are kind of dirt cheap (much like the manufacturer), it doesn’t include any capacitors so I suppose ground planes may help in that aspect. Another thing I learned from using my PCBs is how hard it is to solder individual headers or even a pair to the PCB. With that, I’ve combined all of the inputs and outputs to 5×1 headers. The shift register outputs at the bottom are also combined for 16×1.

That’s it for this board, for now anyway. Stay tuned for other projects and check out my eBay store!


I’m not sure why it took me this long, but I finally tested my Attiny85 Breakout with my 74HC595 Shift Register Breakout.

IMG_20140903_235658I’ve only designed four PCBs so far, two of which are in the mail right now. These designs are circuits that I’ve used before so I’m somewhat familiar with them, except for the upcoming AMS1117 voltage regulator board. Anyways, I make these designs because I’m familiar with them but also because they can all work together. The AMS1117 will eventually be able to regulate power for the other three designs. You can swap between the Attiny85 breakout and the other upcoming board, the Atmega328p breakout, depending on which microcontroller is better for the project. Then the shift register board can be tacked on to the microcontroller boards to expand the digital outputs of them.

Anyways, I thought I’d talk about that just because I’m so excited to see these two boards work together. Here’s a short video of the test:

You may see the Arduino Uno in the background. It’s only supplying power.

Thanks for reading!

Shift Register Troubleshooting & Solution

I finally sat down to seriously take a look at why my shift register boards weren’t working. It took me all of 2 minutes with my multimeter to figure out what the problem was. It’s actually embarrassing: The Data In pad on the board isn’t connected to anything. I checked the schematic again and sure enough there’s the lone pad in the lower left corner. Somehow, when combining the Attiny85 programmer/breakout board with this one to fit on the 5x5cm board, the trace must have been left out as the original design file has it.

IMG_20140830_212105The fix is really simple once headers are in place. I just need to attach a jumper wire from the Data In header to pin 14 of the left shift register.IMG_20140830_212034

That was the only problem with it! I set up a test and it worked as it should. Here’s a video of my sample program:

I ordered some more shift registers, as well as some sockets and diodes. I’m prepared to assemble a mass of boards.