So I went on to eBay and amazon searching for something to program these chips as I was planning on using these chips a lot in the future. After spending about an hour I just realized I was wasting my time as there was no way I was going to spend about 20-30 dollars on a simple shield.
After thinking for a bit, I decided to make a simple and easy to make, ATtiny2313 programming shield, after I made it, all I needed to do to recode any of my attinys' is to just put it in the programming shield and just in a few clicks you have your code uploaded! No need to worry if everything is wired right and make sure there are no short circuits or anything that can short out the chip and fry it or anything else of that sort.
So now in this instructable I will show you how to build one of these shields for yourself!
It costs almost nothing and takes only about 30mins or so to make it.
So lets get started!
Step 1: Materials
- 10 Micro Farad Capacitor (or similar value)
- 2 LED's
- A couple of wires
- A single row pin header strip
- A single row female pin header strip
- Soldering Iron
- Glue Gun (Or just good glue)
Step 2: Prototype and Pinout
Make sure you keep the pin-out diagram of the ATtiny2313 next to you when wiring up everything to avoid any forgetful errors that may occur.
(Pin-out of ATtiny2313 Taken from http://blog.williambritt.com/uploads/attiny2313-pinout.png)
Step 3: Working on the Actual Shield
Then connect the right pins from the male header onto the female headers according to the pin-out (Female headers are going to be used to attach the ATtiny2313 and male headers are going to be used to attach the shield to the arduino)
Then add the 2 LED's and the capacitor and connect them according to the pin-out as well, make sure the capacitor is attached the right way if its a polarized capacitor.
Then once everything has been wired up connect it to the arduino and upload a test code to make sure everything works fine (Instructions on how to do this on the next step), then once the testing is done you can add some hot-glue around the solder joints to make sure they are firm and don't make any sort of wrong connections. You could also use some electrical insulating gel/glue.
Step 4: Installing ATtiny Files
1)Installing the ATtiny files
2)Setting up Arduino as an ISP
3)Connecting the shield and uploading the code
First download this;
This download includes the files that need to be installed on the arduino IDE in order to program and use ATtiny boards with the Arduino programming environment.
By following the read-me, make sure that all the files are installed properly. As soon as they are installed, then when you go to Tools->Board, you should see a whole lot of new ATtiny options (There are ATtiny2313, ATtiny44, ATtiny84 and some ATtiny85 options).
Step 5: Setting Up Arduino As ISP
Then upload the code to the arduino by selecting the right board and right serial port in the options.
To make sure that you have uploaded the right program, in the next step you will make sure that the "Heartbeat" LED is working as it should (Fading on and off).
Step 6: Connecting the Shield and Uploading the Code
Then in the Tools->Boards, select the ATtiny2313 1Hz (Factory default sets the clock of the ATtiny2313 to 1Hz)
After selecting those 2 options then just open up your code and then hit Upload to upload the code to the ATtiny2313 with the Arduino as an ISP (Simply put, you are programming the ATtiny2313 by using the Arduino to connect it to the computer)
Once you are done uploading the code, then make sure you change the 2 options you changed back to the original so that you can upload code to the arduino again after doing this.
Step 7: What Next?
They are a lot cheaper than the Arduino (by 22-30 dollars) and they are capable of 18 I/O pins and they work with most of the common Arduino coding environment functions. The size of them is much smaller compared to the arduino as well which is very handy when trying to put things into small enclosures etc.
The only drawback of the ATtiny2313 is that some functions are not supported by it, so projects involving them cannot be done and the amount of I/O pins are limited.
But on the bright side, for small/simple projects these are great!
If you make any projects based on the ATtiny2313 or if you make this programmer, then be sure to upload a picture or a video of it and post a comment below :)