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!


Attiny85 Programmer/Breakout RevB2 Preview

A little while ago, I posted about some updates to my Attiny85 Programmer & Breakout PCB that showed off a new design with a breakaway Programming section of the board. I threw that out and started over again. There’s still some work to be done but I wanted to show where I’m going with this.

render_frontThis is a render of what the board looks like. The program I use to render places the design on a rectangle so keep in mind that the purple outline would be the edges of the board.

The Power In and Attiny85 have swapped places. I’m going with an SMT LED and resistor for the power indicator to open up some more room on the board (labels are in the design, won’t be printed on the board).

The board is designed so that the Program section would be broken off once you’re ready to use the the board as a breakout. What if you realize later on that there’s something wrong in your code? You could connect up your Uno using the Breakout section, but you’d still need another capacitor for the reset pin on the Uno, and this kind of defeats the purpose of the board. I’m working on an experimental idea to make it easier. The pads next to the Power In area is a temporary programming area where you’d connect the Program section. The problem is making the connections. You can’t really connect the Program section back directly using headers because then you have no way of making another set of connections to the Uno. The best way would be to make the connections on a breadboard. It’s not ideal, but it’s still easier than looking up which pins of the Attiny85 go where on the Uno.

render_backI’ll put a URL to an updated manual on the board again. I still want to get some instructions on the board with the space I have but the small size of the board makes it difficult to put anything really specific. I’m on the fence on whether the text on the Program side will stay (the lines it’s referring to are on the top side of the board, I need to add lines on the bottom side too).

I’ve been making an effort to getting the sizing of text (and traces) right since I made the text on my AMS1117 board a bit too small.  I use mm to design my board, but a lot of help resources and parts of Eagle use mils. I made a table of conversions between mils and mm. I put it up for download as a Word document and pdf in case you’re interested. I got the table from here but formatted it to print.schematicI redid the schematic, chopping it up into sections and adding labels. Everything was directly connected to each other in the first schematic. It was messy, but not having things directly connected to each other does worry me in case something isn’t connected properly. I’m constantly checking connections and working on the other details of the board I talked about above so I’m taking my time. There were people watching the Attiny85 Programmer and Breakout Rev A board on eBay so hopefully that means there is some legitimate interest in these boards. I would like to get them manufactured.

Just a note for people who are Googling around for the warning, “Segment of net [name] has no visual connection”, I deleted the label of that net and placed a new one to clear the error. I couldn’t find much help when I was searching around so hopefully people land here if they run into the same warning.

Anyways, thanks for reading!