Difference between revisions of "AVR Programmer"
(5 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
This board was designed as a way to burn AVRs in mass production. You simply copy a hex file to an SD card, and this board will use that file for programming. It can burn fuses, boot loaders, and write to EEPROM. In other words, this can be used to set configuration data on the target AVR. It can even read back EEPROM that was written previously. | This board was designed as a way to burn AVRs in mass production. You simply copy a hex file to an SD card, and this board will use that file for programming. It can burn fuses, boot loaders, and write to EEPROM. In other words, this can be used to set configuration data on the target AVR. It can even read back EEPROM that was written previously. | ||
+ | |||
+ | This project was inspired by Nick Gammon's project here: http://www.gammon.com.au/uploader In fact, 99% of the hard work came from the example code posted there, so check all of that out first. | ||
Because this was designed for mass production, many fail-safes are included. Status LEDs on the board indicate the programming success or failure. | Because this was designed for mass production, many fail-safes are included. Status LEDs on the board indicate the programming success or failure. | ||
− | + | {{#evt: | |
+ | service=youtube | ||
+ | |id=https://youtu.be/7H8aQ1mWUy4 | ||
+ | |dimensions=560x315 | ||
+ | }} | ||
== Schematic == | == Schematic == | ||
Line 17: | Line 23: | ||
== Purchase == | == Purchase == | ||
− | + | Might have a few left... | |
+ | |||
+ | [[File:tindie-larges.png|link=https://www.tindie.com/stores/kdcircuits]] | ||
== Parts == | == Parts == | ||
The parts list can be downloaded [http://www.kevindarrah.com/wp-content/uploads/2018/09/AVRprogrammerBOMv1.xlsx **HERE**]. This can be directly uploaded into [https://www.digikey.com Digikey] if you'd like. | The parts list can be downloaded [http://www.kevindarrah.com/wp-content/uploads/2018/09/AVRprogrammerBOMv1.xlsx **HERE**]. This can be directly uploaded into [https://www.digikey.com Digikey] if you'd like. | ||
+ | |||
+ | For ICSP cables, I use [https://www.amazon.com/gp/product/B075PLZK9X/ref=oh_aui_search_asin_title?ie=UTF8&psc=1 these] | ||
+ | |||
+ | Or sometimes the target uses pogo style [http://www.tag-connect.com/TC2030-IDC-NL Tag Connect] | ||
+ | |||
+ | Don't forget to pick up a [https://www.tindie.com/products/13817/ USB-Serial Converter] set for 5V and Power ON | ||
== Assembly == | == Assembly == | ||
Line 35: | Line 49: | ||
== Code == | == Code == | ||
Download [https://www.kevindarrah.com/download/arduino_code/AVR_programmerCODE_9_24_18.zip HERE] | Download [https://www.kevindarrah.com/download/arduino_code/AVR_programmerCODE_9_24_18.zip HERE] | ||
+ | |||
+ | Note that to compile the code for the programmer, you may need to install the SDfat library - I'm just using the one on Nick Gammon's page that was archived. |
Latest revision as of 21:39, 29 January 2019
...Back to Projects:
Introduction
This board was designed as a way to burn AVRs in mass production. You simply copy a hex file to an SD card, and this board will use that file for programming. It can burn fuses, boot loaders, and write to EEPROM. In other words, this can be used to set configuration data on the target AVR. It can even read back EEPROM that was written previously.
This project was inspired by Nick Gammon's project here: http://www.gammon.com.au/uploader In fact, 99% of the hard work came from the example code posted there, so check all of that out first.
Because this was designed for mass production, many fail-safes are included. Status LEDs on the board indicate the programming success or failure.
Schematic
Purchase
Might have a few left...
Parts
The parts list can be downloaded **HERE**. This can be directly uploaded into Digikey if you'd like.
For ICSP cables, I use these
Or sometimes the target uses pogo style Tag Connect
Don't forget to pick up a USB-Serial Converter set for 5V and Power ON
Assembly
Note that the dots on the board for the three LEDs actually indicate the ANODE side:
Programming
You will still need to burn a boot loader into the Programmer board itself, so go and see the programming section of the 328Board wiki page.
Then see this for more information on the actual usage of the board: Atmega chip stand-alone programmer to upload .hex files
Code
Download HERE
Note that to compile the code for the programmer, you may need to install the SDfat library - I'm just using the one on Nick Gammon's page that was archived.