ATtiny Programmer Shield for 3 ICs at a Time

by taste_the_code in Circuits > Arduino

4791 Views, 74 Favorites, 0 Comments

ATtiny Programmer Shield for 3 ICs at a Time

Easily program three ATtiny's at once with this shield for Arduino Uno
20220713_100015.jpg
160 -Main Edit.00_00_07_06.Still001.jpg
160 -Main Edit.00_00_33_18.Still002.jpg
160 -Main Edit.00_01_35_20.Still003.jpg

I love the ATtiny85 microcontrollers from Atmel as they are very small, versatile, and extremely easy to be used on projects that don't require a lot of IO pins.

I've made many projects with an ATtiny85 and to program all of them I've used a very crude programmer that I made years ago. The programmer still works but the socket is loose and showing signs of use and I can only use it to program one chip at a time, so I decided to build another one.

This time, I designed a shield for the Arduino Uno around a 28pin quick release socket so the ATtiny's can be held securely and very easily be put in and out of the socket for programming. The shield PCB is manufactured by PCBWay and I just love the quality that they provide. You can get 10 PCBs manufactured for only $5.

This is a very simple project that only requires an hour or so and it can be replicated by anyone with a soldering iron.

Supplies

Getting the Shield PCB

schematic.png
160 -Main Edit.00_03_40_00.Still004.jpg
160 -Main Edit.00_03_45_10.Still005.jpg
1037395360865.png
1037406028213.png
20220713_100155.jpg

The PCB can be directly ordered from PCBWay on the link below.

https://www.pcbway.com/project/shareproject/3_x_Attiny85_Programmer_for_Arduino_Uno_c9b14e35.html


This is a simple board and it can also be very easily built on a prototyping board if you don't want to order it. Additionally, on the link, you can also download the Gerber files for the PCB and have it manufactured elsewhere.

Solder the Pin Headers

160 -Main Edit.00_05_42_17.Still007.jpg
160 -Main Edit.00_05_59_26.Still008.jpg
160 -Main Edit.00_06_12_18.Still009.jpg

To properly align the pin headers on the Arduino, I first used a wire cutter to cut away two pieces of 4 pins each, and I placed one of them inside pins 13, 12, 11, and 10 on the Arduino Uno.

The second header is placed on pins RESET, 5V, 3.3V, and GND.

When the programmer PCB is placed on top, the holes for the pins and the pins should be perfectly aligned to fit on the Arduino Uno and we can now solder them in place.

By soldering them this way, we can be sure that they will align properly each time that we want to use the shiled.

Solder the Quick Release Socket

160 -Main Edit.00_03_59_01.Still006.jpg
160 -Main Edit.00_06_43_09.Still010.jpg
160 -Main Edit.00_08_31_12.Still011.jpg

Next up is to solder the quick-release socket.

To do this, I first placed the socket into its holes, making sure that the handle is aligned with the notch as marked on the silkscreen. Since this handle gets in the way, I fully closed it and I turned the PCB upside down so it then presses on the socket which lies face down on the table.

To secure it, I first added solder only on its corners, and after I confirmed that it lays flat on the PCB, I continued with soldering all of the pins.

Solder the Support Components

160 -Main Edit.00_09_12_06.Still012.jpg

The shield has a few support components and the most important is the 10uF capacitor that needs to be added between the RESET and GND pins on the Arduino.

Additionally, there is a 3mm red LED for power indication and a 470Ohm resistor for the LED.

Once these components are added to the board, I first applied solder to just one of their legs and after I made sure that the components are flat on the PCB, I soldered the other leg as well.

All of the extra leg length on the bottom is then trimmed with flush cut wire snips so it is all clean and tidy.

Test the Programmer With One ATtiny IC

160 -Main Edit.00_09_48_24.Still013.jpg
160 -Main Edit.00_10_47_07.Still014.jpg
160 -Main Edit.00_11_48_00.Still015.jpg
160 -Main Edit.00_13_53_21.Still017.jpg
160 -Main Edit.00_12_59_05.Still016.jpg

The basic operation of the programmer is with just one ATtiny85 microcontroller. In this orientation, the ATtiny is placed inside the socket with pin one next to the handle.

The Arduino Uno needs to be flashed with the "Arduino as ISP" example sketch, and this will turn it into a programmer so we can then program the ATTiny as if directly connected through USB.

If you are missing the ATtiny boards from the Arduino IDE, you can check out here for the board definitions and instructions on how to install them.

After my first test, I built a circuit on a breadboard to test them out and I noticed that the sketch on the ATtiny85 was running much slower than expected, and I realized that I forgot to burn the proper bootloader to the chip. If you don't do that, the chip will only run at 1Mhz and we selected 8MHz when programming it so everything runs slow.

After the bootloader is burned, the chip needs to be reprogrammed as that will remove the current sketch.

Test With Multiple Attiny's

160 -Main Edit.00_17_04_13.Still019.jpg
160 -Main Edit.00_14_37_14.Still018.jpg

Since I now knew that the board works, I continued testing it with more than one IC in the socket.

To do this, you can add the second and third ATtiny85s in the same orientation as the first but using the next available pins which are all connected in parallel.

The programming is exactly the same as with just one ATtiny.

The last two positions on the socket are not used so they should be always left empty.

Next Steps

160 -Main Edit.00_18_48_18.Still020.jpg

This programmer is an extremely simple yet very powerful tool for making projects with the ATtiny85 chip. I'm very pleased with the final result and I will recommend that you build one for yourself.

I haven't tried the programmer with other chips but it should also work with the Attiny25 and Attiny45.

If you have ideas for projects that I can make with the ATtiny85, please leave me a comment and if you want to see more of my projects, then check out my YouTube channel.