AVR Development board, Step-by-Step-Tutorial

How to build an Atmega8 development board

Building your first AVR 28-pin development board

In the image you can see a perforated board and a 28 Pin dip socket. Place the socket as shown in the image, but do not insert the microcontroller until you have completed with the entire board; just hold your excitement for a while.

dev_boardAtmega8 Schematic

If you are lucky enough to find a board with letters and numbers along the columns (sequence of vertical grids) and rows, (sequence of horizontal grids) then use that as a guide. I have virtually added pin numbers for the socket in the first image. The pin in the left top corner is PIN-1; Count downwards and then continue from bottom-right. The top-right corner pin is PIN-28. (Atmega8 microcontroller is numbered in a similar fashion)

To give you a clearer picture, I have added a schematic builder (yeah, I came up with this word), which is an Atmega8 microcontroller image and its pins; as you read the tutorial, I add colored lines to indicate connections and make you feel more comfortable and confident.

Turn the board to the other side and you see the perforated board with copper layers around each hole. This is generally known as Copper side of the board where you solder the pins and component leads. You can also see the leads of 28 pin DIP socket in this image.


Solder the four corners of the socket as shown in the image. If this is the first time you are soldering, you may not have acceptable results. To avoid that, find a circuit board in an old radio and try practicing how to solder.

Soldering tips:


Get your 40 pin male header and break them into smaller pieces. These headers act as connectors to external peripherals like programmer, motor, LED etc. The headers breakaway easily with your fingers;

Break and arrange the male headers as stated below:


Now carefully add three headers to the board. The first pin of the first header (5-pin header) goes to PIN-2 of the socket. The first pin of the second header (4-pin header) goes to PIN-11 of the socket. The first pin of the third header (6 pin header) goes to PIN-28 of the socket. Make sure that there is a gap of 4 columns between the headers and socket (you will understand later why there is a gap of 4 columns).
Also, the first pin of the socket is the reset pin and does not have a header; we will later connect this pin to reset line.

Note: For those who would like to save this pin, you can still add a header to this line and use reset pin as an I/O pin, but you need to program RSTDISBL fuse and handle a lot of complications. Better be it as reset pin, as used in this board.

Headers in boardAtmega8 Schematic

Flip the board and solder the individual pins of each header together. As you can see in the image, I have first soldered individual pins to the copper pad and then connected them together. These lines are later connected to power (+ve of the battery) and act as a bus which supplies power across the board.


Now place another set of similar headers next to existing headers. Insert a 4-pin header and a 5-pin header towards the left of existing ones and 6-pin header towards the right side of existing header. These headers will be later connected to ground (-ve of the battery).

4 pin header into board Atmega8_dev_board_schematic_1

Solder the ground lines together as shown in the image. Do not short the power lines and ground lines; if you have a Multimeter, check for connectivity and remove and re-solder if you have accidently soldered ground and power bus lines using solder wick.

solder ground pins Atmega8_dev_board_schematic_2

Now it is time to add more headers for signal lines (call it I/O lines, control lines or whatever, but understand what they are used for). These header pins are directly connected to the 28-Pin socket (which means, directly to the microcontroller pins) and acts as a connection between the microcontroller and the external world.

Pull out, cut and strip the wire you bought and bend them as shown in the image. The wire length should be approximately equal to length of three holes of your Perfboard. This is a bit of art and you really need to take time to cut and bend the wire perfectly. If you have three different colored wires, spare the red and black wires and use the third colored wire (yellow, orange or white).

Tip: Although multi-strand wires are easier to solder, it is superior to use a single strand wire for your board as the multi-strand wires stray and may short the connections.

cut wires to app size

Make atleast 20 of them and if it took more than few minutes to cut these wires, take a break and come back :)

We will add headers for signal lines one by one. On the right side of the board, there are two headers with 6 pins in each. Add one more 6 pin header to the left of it.

insert signal pinsAtmega8_dev_board_schematic_3

Carefully insert the wires you just cut, into the holes as shown in the image. Each wire should connect a header pin to the respective socket pin (the socket pin in the same row).  

insert cut wiresAtmega8_dev_board_schematic_4

Bend the wire edges as shown in the image. This is to make your soldering process easier while holding the wires in place.

bend wires to hold

If the solder iron is still on, wipe it over a damp sponge and clean the tip. Solder each wire to the header pin and further to the socket pin. Do not short the header pins, or the socket pins to each other. Solder it exactly as shown in the image. If you successfully complete this step, then rest of soldering is cheese.

solder wires

Similar to the right side, add headers to the left side of the board where there are already two headers. Add the same number of headers to the right side of existing headers and insert wires between the header and the socket. (5 pin and 4 pin headers)

add more signal pins Atmega8_dev_board_schematic_5

If you have already guessed it, then yes, we will repeat the same process followed (i.e, while adding previous signal header). Carefully solder the socket pins to the header pins one after the other. As mentioned before, do not short the header pins to each other, or the socket pins to each other.

solder signal pins in right

Tutorial index:

  1. Introduction to AVR Board and Parts required
  2. Building the board- Part I
  3. Building the board- Part II
  4. Building the board- Part III
  5. Building the board- Part IV
  6. Adding LCD header (Optional)

Do you have anything to say?
Visit the Forum to discuss, learn and share anything related to robotics and electronics !!

rss feeds

Featured Videos


Recent Articles

Atmega8 Development Board

A great step-by-step tutorial on building your own Atmel AVR based Atmega8 development board. The board is ideal for beginners with detailed explanation and pictures More...

L293D Motor Driver

For robots to do work, you need to know how to control a motor. L293D is a cleverly packed IC which can control two DC motors in both directions: forwards and reverse. Here is a detailed explanation of building a board based on L293D ICMore...

Hobby Servo Tutorial

Servo Motor is a device which uses error-sensing feedback signals to determine and control the position of a motor shaft. The term "servomechanism" closely relates to servo motors..More...

Blinking LED Tutorial

This is similar to what we achieve in any "Hello World" program. However, it is not just limited to blinking LED but scratches the surface of AVR-GCC programming... More...

Kindly Donate

If this site has helped you, then kindly consider a Donation to say "Thank You!!". Donation might help us keep all this information available for free and also pay for the resources.

If that is difficult, then a simple "Hi" in the forum would still do good :)