Introduction: AVR Programmer Shield

Picture of AVR Programmer Shield

Beside my Arduino instructables I also use pure ATmega328 and ATtiny85 microcontrollers. To program them I normally used a breadboard and the ArduinoISP setup with an Arduino UNO or NANO. But this was not the best solution.

So I build this programmer shield in my typical stripboard layout: Only straight lines - no crossings!

You need these parts:

  • 1x 28 pin socket
  • 1x 8 pin socket
  • 1x push button
  • 1x 16 MHz crystal
  • 1x red LED1x green LED
  • 1x yellow LED
  • Resistors for the LEDs: in my case 2x 220 Ohm (R and Y), 1x 2,2 kOhm (G)
  • 1x 10 kOhm resistor
  • 2x 22pF capacitor
  • 1x 10 µF capacitor
  • 1x male header 8 pins
  • 1x male header 4 pins
  • 1x male header 2 pins
  • 2x female header 14 pins
  • 2x female header 4 pins
  • 1x jumper
  • some colored wires

Here's now the step by step build instruction, not much words needed.

Step 1: Step 1: the Stripboard

Picture of Step 1: the Stripboard

Step 2: Step 2: Two Hidden Wires

Picture of Step 2: Two Hidden Wires

Step 3: Step 3: the Headers

Picture of Step 3: the Headers

Because Fritzing has no sockets in the library I used the µCs. The two wire are below the sockets.

Step 4: Step 4: the Wires

Picture of Step 4: the Wires

Step 5: Step 5: Resistors and the Button

Picture of Step 5: Resistors and the Button

Place the resistors by the position of your LED colors. The button is to reset the µCs.

Step 6: Step 6: Last Parts

Picture of Step 6: Last Parts

Add the LEDs, the capacitors and the crystal.

Step 7: Step 7: Bend Some Pins

Picture of Step 7: Bend Some Pins

Because of the strange Arduino header layout you have to bend some pins.

Step 8: Step 8: How to Connect?

Place it on the Arduino shield like this:

  1. Top Right pin: GND
  1. Bottom Left pin: also GND

If you bent the pins right, this should work easily.

Now you program your Arduino with the ArduinoISP example, but the shield on and program your µCs. Only one each time.

Step 9: Step 9: Nothing to Do - Only the Circuit and the Fritzing File

Picture of Step 9: Nothing to Do - Only the Circuit and the Fritzing File

Comments

mloro (author)2017-07-26

I've made it exactly as by reported schematic and it works like a charm. I have to admit that at first try it was not working but then checking it back I found out I was missing all the ISP connections to the ICs (was using a normal perfboard, not a veroboard) -_-

I still have to try it for the Attiny 8 pin ICs though.

JahFyahh (author)2016-11-11

It seems that the 10uF cap its plus side is connected to reset of the arduino board, is this correct?

mloro (author)JahFyahh2017-07-18

I noticed the same and seems very strange to me since as soon as the button is pushed the Arduino is being reset from my point of view and this does not make sense to me. Also the polarity I'm not completely sure is ok but maybe I'm wrong, I'm not an expert just an Hobbyst. I hope someone can help us with this.

JahFyahh (author)2016-11-10

Can I use this shield to program the bootloader AND upload a sketch without removing the atmega from the Uno? According to the arduino site, I need to remove the chip from the board before I can upload a sketch. (https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard)

pčemsák (author)2016-02-27

Hi. Very good intructable indeed!
Just one question... Is this bridge an "on and off" thing? What is it for, and how do you use it?

ohneschuh (author)pčemsák2016-02-29

Hello, the jumper is to control the reset of the standalone ICs by the Arduino below. In the "on" position you can program the standalone IC. In the "off" position the Arduino below only works as the power supply and don't keep the standalone IC in the reset state. In this mode you can use the standalone IC and the shield like a normal Arduino by using the female jumpers.

kgonzalez10 (author)2015-12-02

i have a question about the dotted line between 8 pin and pin 22 for ground it goes between the 328p do i pjt a wire between them or connect them pin 8 to a ground on tge left and pin 22 to a ground on the right thanks

ohneschuh (author)kgonzalez102015-12-03

No, you don't need a wire. The dotted line is shown only because of the circuit schematic. The connection to GND on pin 8 and 22 is done via the Arduino board.

kgonzalez10 (author)kgonzalez102015-12-02

it will also be helpful if you included pictures of tbe bottom of the shield to get an idea how it looks at the bottom

dmac257 (author)2015-11-28

in step 5 your diagram shows a black wire connecting ground to the third row next to the reset switch and a resistor between Vcc and pin one = high normal pulled to ground when button pushed ... in step 6 the diagram shows a red wire connected to Vcc connected to the switch and no black wire and the resistor is in a different place

ohneschuh (author)dmac2572015-11-28

Now the image on step 6 is the right one.

ohneschuh (author)dmac2572015-11-28

Ohh, sorry. I found an error in the reset circuit. All images should be updated but I forgot the image on step 6. Sorry.

M. A.G (author)2015-11-27

what is AVR PRPGRAMMER SHIELD and what does it do?

ohneschuh (author)M. A.G2015-11-28

The shield is to program ATmega328 and ATtiny85 ICs. Means burning the bootloader or upload your sketches without using the serial port.

dmac257 (author)2015-11-22

what do you use the female headers outside the chip sockets for ??

Phil_S (author)dmac2572015-11-22

Brings the pins out? Or chubbier chips.

Phil_S (author)Phil_S2015-11-24

Sorry- tongue in cheek comment.
Although, years ago, MCU chips were broad in the berth and needed special wide sockets, hence "chubbier chips".
As far as I know, all the Atmel MCU's in DIP form, are 7.62-mm wide.

dmac257 (author)Phil_S2015-11-23

chubbier chips?? .. does the Atmega328 or Attiny85 come in some weird wide body format ?

ohneschuh (author)dmac2572015-11-22

Yes, Phils_S is right. The headers are to bring all pins out. So you can leave the chip in the programmer and test your program with sensors or other devices on a breadboard.

dmac257 (author)ohneschuh2015-11-23

makes sense .. should have thought of that before i posted the question. i have all the components on a solderless breadboard now except for the smaller socket. can't wait to put it together and free up my breadboard.

TooSlowTube. (author)2015-11-23

Is the Atmega328 part of the programmer, or is it just there because you're programming it?

What's a Fritzing file? What do we do with it?

ohneschuh (author)TooSlowTube.2015-11-23

No, the Atmega328 is the device which will be programmed. You can either programm an Atmega328 or an Attiny85.

Fritzing is a program to design PCBs and also stripboards:

http://fritzing.org

In the fritzing file is the design of the project.

TooSlowTube. (author)ohneschuh2015-11-23

Thanks. I guessed the first part might be the case, but had no way to be sure, from what I'd read.

I had no way of knowing the second part, so a little more explanation of both was probably in order.

RafayJ (author)2015-11-23

Nice Photos

Dave51plus1 (author)2015-11-22

what product number/type is this strip board

ohneschuh (author)Dave51plus12015-11-22

I use that kind of strip board:

http://www.amazon.com/ST3U-StripBoard-3U-Uncut-Str...

But I bought it locally for only 2.90 € each.

Phil_S (author)2015-11-22

Well done.

I'll have a go at this because I like the "raw" IC's too, plus the "Tiny's"

Nicely presented.

Ash J (author)2015-11-17

Can you make a schematic for those who do not have the same perf board layout?

ohneschuh (author)Ash J2015-11-18

Please see my other reply.

Ash J (author)ohneschuh2015-11-19

Thanks and what camera did you use? Your photos look amazing.

ohneschuh (author)Ash J2015-11-20

I use a Nikon D7000 and a Sigma A 18-35 mm f/1.8 DC HSM lens

Ash J (author)ohneschuh2015-11-21

Thanks

tisaconundrum (author)Ash J2015-11-18

Agreed

ohneschuh (author)tisaconundrum2015-11-18

Sorry, I forgot. I put it at the end. But for an easier version look here the last image:

https://www.arduino.cc/en/Tutorial/ArduinoISP

Only the LEDs are missing.

I also include the fritzing file.

fruzan (author)2015-11-18

That's very good
Thanks

ThomasVDD (author)2015-11-18

Very nice executed project! I was searching for an atmega328 programming board, and I think I found a great one ;) Thanks for including the fritzing files :)

ohneschuh (author)ThomasVDD2015-11-18

thanks. if you already downloaded the file please do it again because I found an error in the reset circuit.

About This Instructable

35,776views

541favorites

More by ohneschuh:AVR Programmer ShieldTraffic Light without ArduinoESP8266 Weather Station with Arduino – #2 Software
Add instructable to: