AVR USBasp Programmer : Design and Development

AVR architecture has an In-System Programming ability which means It can be programmed just via 6 of its pins namely: 
  • Ground
  • Vcc
  • MISO
  • MOSI
  • SCK
  • Reset
These pins are to be connected to an AVR Programmer which connects directly to the computer from where the program is loaded.

The following flowchart shows the entire process:
The AVR Programmer is nothing but an AVR itself (atmega8 in our case). It recieves the program from the computer and then programmes its target through SPI.

The ATmega8 on itself runs a USBasp program for its operation as a programmer.

The Schematic for it is as follows:



The Priority for routing this circuit was to occupy as little as possible clad and to have a symmetric design.


The Missing connection depicted by the DRC is because ATmega8 (and most Microcontrollers) have more than one ground,which as I have tested are internally shorted, so this glitch won't affect the working of our design.

Few 3D Views of our programmer:

Front View

Rear View

Peace Out!

Used:
Proteus 8.4
USBasp Programmer Docs

Developing a Slimmer AVR Development board

There are many variants of AVR available from market for training and development. However you can't leave your expensive development kit onto a project.

There was a need for a cheap and functional board that can be left with the project and which doesn't cost much either.So I designed it


Late  Night Schematic Design
PCB Layout

Front 3-D View 

Rear 3-D View
Everything Looks Good!
Dimensions are 5 cm and 5 X 1.68 = 8.4 cm
Done in Proteus 8.4.

SELF ETCHED PCBs

AVR ATmega32 Development Board



AVR DEV BOARD WITH MOTOR DRIVER L293D

AVR DEV BOARD WITH MOTOR DRIVER L293D :Cleaned


8051 Microcontroller board with Motor Driver, RF Decoder(HT12D) and 433MHZ RF Receiver 

Remote control for driving a RC car via 433MHZ RF module