Introduction: Simple Programming Board ATtiny2313

About: 31 years old tinker and diy hobbyist. From Oulu, Finland. IG @mkarvonen_instructables
This is a small tutorial how to make your own programming board for ATtiny2313. I made the first board in school about a year ago and now i decided to make a new one and better that you don't need to solder and fix all the time because the copper will come off from the board. As you can see in the few pictures, it's not very useful feature.

FIRST OF ALL! Prepare to read this to get the understanding of the chip used!




To program the chip and connect it to the computer i used a AVRISPmk2, That is the blue box that connects to the isp port on the circuit board

Unfortunately i do not have many pictures of the new boards back side and how it was made as i tough't i would not make a instructable about it but here i am bored alone in the home and making it.

So for the project you will need tools, components and few computer programs.
You can build this to a normal bread board and its probably much easier way to do this. I made the circuit because i had the chance do do it . :) 

Here is the board in testing and in use.




Tools used:
Soldering iron (solder)
Glue gun
Side Cutters
Computer (If possible i suggest that use an old laptop that is not in active use, much easier to use a computer that has only one function and it wont mess up anything)

Tools and suff needed to make the circuit board it self:
CNC mill (i used a mill my school had)
Copper board for the circuit
Programs for making the board. I used Pads logic for the raw schematic for the circuit and then converted it to PADS layout to arrange the components to the board. And finally made the images for the mill (program that i can't remember as i did this in school) If you (or your friend) has got an CNC mill and know how to use it you will find out a method to do this :) sorry for the lack of information on this.

Stuff and components used:

-Upper side of the circuit

Copper wire (as much as you need it)
4 resistors 320 Ohm
2 push buttons
Legs for the mounting the ATtiny2313
one 8MHz chrystal (not sure of the components name but its the one left side of the ATtiny2313 in the picture)
Pins for the ISP connector
Pins for the I/O ports (if you want put some leds to this port)

-Behind of the circuit

8 SMD resistors (3MOhm) for the I/O ports (not needed if you don't want them there. I put them there because i mostly run LEDs on the board so they wont burn so easily)
1 SMD  (2 uF)capacitator to the main power lead
2 SMD capacitators (4 uF) to the chrystal 

Stuff to the casing if needed. 



I made the casing for holding the circuit board and the bread board so it will become a portable system that is easy to move and handle.




Step 1: The Board Itself

As i said before, The board is designed with PADS logic and then it was imported to PADS layout. These programs can be used for free in demo mode and small builds like this its just we need. I'm not going to give a lecture about how to use the program (even i don't know even the half of it after using it for a few years for small builds like this) The program can be found HERE.

I
f you don't fancy a idea of learning to use the program you can do this to a bread board easily. Instead of the SMD components use regular components.

As you can see the pictures are taken from my old board (the new looks identical) and it was pretty beat up. I took the old components from this board that i needed to the new one. But you can use the picture for looking what components goes where from following the copper leads.

In the last picture there is the old board and one un-tested programming board for SMD ATtiny2313 made with the same program as the old board 

Step 2: Soldering the Board

Just solder everything on its own place.

Soldering the SMD components can be difficult at first but practice makes perfect! But with the right technique you will make it!
I have been soldering all kind of components for several years and practice hasn't gone waste. 

Step 3: (optional Step) Make the Casing for the Circuit

I found the perfect casing for the circuit and there was also room for bread board to enable quick installation for components without soldering all the time. This also makes the board itself very portable to move without fearing that something might broke in the process. This step is optional and does not need to be done to get the circuit working.

My "program box" is made from metal. The good side of metal is that it is very solid for impact or if it gets crushed it wont let down easily. But since its made from metal it is conductive and that means bad things to electronic devices if they short circuit.
So if packing in a metal box make sure that it wont happen.

I made stands for the circuit out of hot glue so that the circuit will stand up enough that any of the components legs wont short the circuit. After i secured the circuits standing with more hot glue. The bread board had a glue in the bottom so it didn't need any other glue.

Step 4: Test the Board If It Works. and Program It!

Now is a good time to install the last program to the computer. This where all the work pays off. Also install the drivers for the AVRISPmk2. 

Download THIS program and install it. The program is ATMEL AVR stufio, this program allows you to write to the ATtinys flash memory, and thus programming it.
The program is completely free. Download it and install. The program also allows simulation of the board if you don't have the board.

Check the pictures of the program as i explain the simple use of the program to get you started.

Picture 1: Press new project from the left side of the screen and screen will pop up, after that press the first choice from the list and give your project a name.

Picture 2: Next screen will pop up. this is where you will select what kind of IC are you programming. Select ATtiny2313 from the list and press OK.

Picture 3: Delete everything from the screen and paste my code provided to the screen and press F7 to build the project.
*************************************************************************************************************************************

#include <avr/io.h>  //define these or it wont work. google for more information
#define F_CPU 1000000UL
#include <util/delay.h>

int main()   //start of the main loop
{

DDRB = 0b11111111; //define portB


while(1) {

  PORTB = 0b01111111; //define port used in this case 0 means on and 1 means off because the circuit is controlling ground.
  _delay_ms(500);     //time before the process ends in milliseconds

  PORTB = 0b10111111;
  _delay_ms(500);

  PORTB = 0b11011111 ;
  _delay_ms(500);

  PORTB = 0b11101111;
  _delay_ms(500);

  PORTB = 0b11110111 ;
  _delay_ms(500);

  PORTB = 0b11111011;
  _delay_ms(500);

  PORTB = 0b11111101 ;
  _delay_ms(500);

  PORTB = 0b11111110;
  _delay_ms(500);

  PORTB = 0b11111101;
  _delay_ms(500);    

  PORTB = 0b11111011;
  _delay_ms(500);

  PORTB = 0b11110111 ;
  _delay_ms(500);

  PORTB = 0b11101111;
  _delay_ms(500);

  PORTB = 0b11011111 ;
  _delay_ms(500);

  PORTB = 0b10111111;
  _delay_ms(500);

}

}

*********************************************************************************************************************************************


Picture 4: Press tools and then press device programming (or press Ctrl+Shift+P)

Picture 5: screen will pop up. Define the programming device and the chip and press apply. Then press Memories and find your test program for the board. You can use the .hex or .elf file and press program  this will take few seconds and if everything gone right it should work. Attach 8 leds to the board cathode side facing the IC chip and you got a Knight Rider light. For those too young to understand look here and be amazed.

Step 5: Making the Portability and Programbility 2.0

I found my self continually ripping of the wires by accident of from the board. This was a problem so then i had an idea! I will solder the leftover component legs to a hand full of right size and length wire to assure they wont rip out easily an there will no be any leftover wire after pushing it to the bread board or to the programming board. Also added some fitting sock to the tip so it is nice and clean.


But then i had the most awesome idea by date to this project. I should buy a container for all of this junk. So i was in my local market shopping for food and saw this neat box for 3 euros in then junk bin. So i Bought it and guess what? All the junk fits in to it nice and clean and this helps if you have to carry the stuff along!



This was the build. i hope you enjoyed reading this an inform me if you build one! 
ThankyouforreadingmyalmostunderstandapleEnglis im sure there is lots of mistakes in my writing but if something is absolutely gone off the hill inform me :D.

Also check my older projects!
Do you want more? Inform me what you would like me to build! Follow me and be the first to see my new builds.
New ones coming soon! Happy buildings!

-Peace!

Microcontroller Contest

Participated in the
Microcontroller Contest