Arduino: Atmel-Flash-Station



Finally not always using Arduinos:
Every time i nearly finished a project, I'm annoyed about using an arduino again, which uses a lot of space and isn't really necessary. A small stand-alone-controller would totally be enough. While prototyping the Arduino-PCB is a cool thing, but afterwards, when everything is finally assambled, the arduino needs a lot of space, which could be used for other things, like less case.

After some research about how to burn your code onto microcontrollers with an arduino, I went to Conrad (a big computerstore in Germany), to buy all the parts, which I needed for this project:

You should put the stuff onto your breadboard like this:



It's important to put the 10μF capacitor between Reset and GND. Without this one, I wasn't be able to flash a single controller.
HINT: For flashing code to the arduino itself, you have to remove the capacitor. If not: Nothing will happen.

Sorry, but my breadboards never look as clean as in the picture above:

The Atmega's pins are mapped like this:


Now you have to flash the "ISP"-Sketch onto the Arduino. This sketch is stored as an example. You will find it in "File -> Examples":


This will work as always:
Choose your Arduino in "Tools", click the right port and upload the sketch.


Now you have to modify the Arduino IDE, to add your Atmel to the boards selection.
Open the boards.txt with you chosen editor.
You'll find the configfile in (arduino folder):

Arduino\hardware\arduino\avr\boards.txt

It seems like something were changed on parsing the file, by the IDE. All examples I found on the net, weren't working anymore. So i tried and red a lot to reassamble a working one:

##############################################################

atmegasa16.name=ATmega328P Stand Alone (Arduino as ISP)

atmegasa16.vid.0=0x2341
atmegasa16.pid.0=0x0043
atmegasa16.vid.1=0x2341
atmegasa16.pid.1=0x0001
atmegasa16.vid.2=0x2A03
atmegasa16.pid.2=0x0043

atmegasa16.upload.tool=avrdude
atmegasa16.upload.protocol=stk500
atmegasa16.upload.maximum_size=32768
atmegasa16.upload.maximum_data_size=2048
atmegasa16.upload.speed=115200

atmegasa16.bootloader.tool=avrdude
atmegasa16.bootloader.low_fuses=0xFF
atmegasa16.bootloader.high_fuses=0XDF
atmegasa16.bootloader.extended_fuses=0x05
atmegasa16.bootloader.unlock_bits=0x3F
atmegasa16.bootloader.lock_bits=0x0F
atmegasa16.bootloader.file=optiboot/optiboot_atmega328.hex

atmegasa16.build.mcu=atmega328p
atmegasa16.build.f_cpu=16000000L
atmegasa16.build.board=AVR_UNO
atmegasa16.build.core=arduino
atmegasa16.build.variant=standard

##############################################################

This text has to be added to the end of the file.
After saving it, restart the Arduino IDE, so the changes will be read in.
Now you will find the Atmega, as a new entry in "Tools -> Boards":



After you clicked the Atmega in "Boards", change the programmer to "ISP":

Now you have to write a bootloader onto the Atmega. So just click on "Burn Bootloader" in "Tools".
Just for your information: This will not burn a real bootloader, it will just set some fuses and clock rate:


Finished! Yeah! Now you are ready to send your own sketches to the Atmel. You should use the "Upload Using Programmer" function in "File":


Hint: The green LED is showing the heartbeat, orange is RX/TX, red will light up, if an error occures.


Flash an ATtiny
So now you are able to flash an Atmega. But sometimes it doesn't make any sense, to use such a big μC. If you just want to light some LEDs or read sensor's data, the small μCs are the chosen ones:
Okay, they a slower and only have five pinouts, but they are smaller and a lot of cheaper.
So if you want to flash your code to this babies, you have to rearrange some cables at your breadboard:



The pins of an ATtiny-85 are mapped like this:


If you want to add an external crystal to the ATtiny, the Pins 2 and 3 are used for that (the ones between Reset and Ground).
Flashing them with your Arduino IDE is a bit more complicated, as using the Atmega, but definitely no black voodoo magic:
Click on "File -> Preferences" and add the following URL to the end of the field "Additional Boards Manager URLs":

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

If some URLs are already stored in there, just seperate the URLs by comma.


Now switch to "Tools -> Boards -> Boards Manager" and search for an entry named "attiny". Install the package and restart your IDE. Now are able to choose the ATtiny in "Boards" as well:

After you clicked onto "ATtiny", you have to specify the type of your ATtiny, by clicking on it within the new displayed submenu.
Now it's the same like before:
Burn the "bootloader" and use your Arduino as an ISP-programmer.



Because I didn't want to leave the stuff on a breadboard, I build a nice, black case for it and soldered everything into a big, fat "blob":


You can download the files, to print the case, from Thingiverse.

For flashing different controllers, you only have to switch one cable:
The socket place in the middle, is used to flash the Atmega, the socket on top to flash an ATtiny.
It's also possible to change the crystal. Depends on wether you want to use one, or not.
Here some pictures which are showing my godlike soldering-skills ;) :



And because of "reasons", I did a small video about building this station (in german only):

29 Comments

RoyalHeadwear wrote on 10-17-2016 00:59:
Hey,
Ich bin gestern wegen dem Killswitch über deinen YouTube-Kanal gestolpert und hab mich dann noch am Rest festgeschaut. Ich überlege das Konzept von deinem Flasher für einem Flasher auf Raspberrybasis zu übernehmen. Jetzt bin ich hier bei deiner verkablung etwas uns schleudern gekommen. Du verbindest ja quasi den Resetpin vom Attiny/Atmega mit dem gleichen Ausgang des Arduinos der auch den Heartbeat auf die grüne LED liefert. Warum stört der Heartbeat nicht den Atmel-Controller?
flazer wrote on 10-17-2016 09:34:
Moin.
Oh verdammt. Ne, du hast völlig Recht. So wird das Nichts. Ich hab die entsprechenden Bilder mal angepasst. Richtig ist:
RST - 10,
HB - 9,
ER - 8,
PR - 7
Du Fuchs!
RoyalHeadwear wrote on 10-17-2016 11:29:
Hey.
Das erklärt natürlich den Salat, den das ganze in meinem Hirn verursacht hat :D . Danke auf jeden Fall für die schnelle Reaktion! Habe ich das richtig verstanden, dass du den 10nF Kondensator da nur brauchst, um dem Arduino klar zu machen, dass er nur Kram weiterleiten soll? Der würde dementsprechend bei meiner Raspberryvariante wegfallen.
Maludo wrote on 10-28-2016 14:58:
Ich hab ne Frage: Könnte man anstatt dem 10 µF Kondensator auch nen kleineren oder größeren hernehmen?
TobinatorXXD wrote on 11-28-2016 21:07:
Ist es notwendig den Aref Pin (21) am Atmega328p auch an die 5v Spannung anzuschließen?
Haruto wrote on 12-11-2016 15:29:
Ich verstehe nicht, was das bedeuten soll:
Was bedeutet "flashen", was bedeutet "Beschreiben"?

"Wichtig ist vorallem der 10μF Kondensator zwischen Reset und GND. Ohne den war ich nicht in der Lage auch nur einen Controller zu flashen.
Hinweis: Zum Beschreiben des Arduinos, muss der Kondensator jedoch entfernt werden, sonst passiert da nämlich gar nix mehr."
Genderman2 wrote on 12-27-2016 14:34:
Hi Flazer,

was ich mich immer bei deinen Videos Frage, was für ein 3D Zeichenprogramm nutzt du?
Jonny wrote on 03-02-2017 17:25:
funktioniert die Schaltung mit einem Arduino UNO prinzipiell gleich? Ich bekomme nämlich beim Bootloader brennen den Fehler: "avrdude: verification error; content mismatch"
Chris wrote on 03-02-2017 18:01:
Prinzipiell ja. Ist aber schon wieder länger her, dass ich mich damit beschäftigt habe.
Schau mal hier vorbei, da macht das jemand:
https://www.frag-duino.de/index.php/maker-faq/35-programmieren-eines-atmel-atmega-328p-mit-dem-arduino-uno-bootloader
Jonny wrote on 03-03-2017 10:57:
Mensch, bin irchtig begeistert von deiner schnellen Antwort. Nach ewiger Bastelei habe ich nun immerhin den Bootloader auf dem Atmega328. Das Hochladen von Sketches klappt aber immer noch nicht. Auf der Arduino Website gibt es eine Anleitung, bei der zum Sktech hochladen der Atmega von der Arduino-Platine entfernt wird. Darauf hab ich aber eigtl. keinen Bock. Bei deiner Methode bleibt der Chip doch auf dem Arduino oder?
Jonny wrote on 03-03-2017 11:12:
Achso, ich Depp. Du nutzt ja nen Nano. Mittlerweile scheint mir mein Problem allerdings mehr ein Software-Problem zu sein. Hab das Gefühl, dass die Arduino IDE nicht wirklich Lust auf ISP hat.
Jonny wrote on 03-03-2017 12:46:
Na super, jetzt hatte ch gerade das erste Sketch auf dem 328p zum laufen bekommen...ich versuche ein neues Programm draufzuladen....nur die Rote "Error" LED leuchtet noch und nun ist der Arduino om Computer nicht mehr zu erreichen. Wenn die Arduino ISP sich die Boardinformationen holt steht da "BN: unbekanntes board". Hab dann den atmega328p-pu auf das Arduino-board gesteckt, den ich zuvor geflasht habe. Damit wird der Arduino auch wieder als Arduino UNO erkannt. Allerding kommt beim Flashen die Fehlermeldung: "....programmer is not responding...."
Jetzt hab ich meinen Arduino glaub irgendwie zerstört xD
Jonny wrote on 03-03-2017 13:40:
Frag mich bitte nicht wie, aber irgendwie geht jetzt alles....nachdem ich ca 10 mal die chips hin und her getauscht und usb kabel gewechselt hab (hat nichts gebracht) lies sich der original chip auf einmal wieder flashen und somit auch die anderen chips wieder mit dem booloader beschreiben.....läuft jetzt top..vielen dank
LuLive wrote on 03-18-2017 21:17:
Wofür ist denn der Quarz gut ? Und brauch ich den zwingend ?
flazer wrote on 03-19-2017 14:26:
Der Quarz ist dafür da, um den Takt zu halten. Der interne Taktgeber ist da etwas ungenau.
Ein Leser wrote on 04-23-2017 22:53:
Mit welchem Programm erstellt du die Sachen die dein 3D Drucker drucken soll?
Ethador wrote on 04-24-2017 21:19:
Das müsste www.tinkercad.com sein.
Ich nutze Fusion360, ist für den Hobbybereich (nicht kommerziell) kostenlos für 1 Jahr und beliebig verlängerbar.
AnthonySeitA wrote on 07-18-2017 14:45:
english essay written filipino writers
<a href=http://writingservicestop.com/>help me with homework
</a> essay services
<a href="http://writingservicestop.com/">integrated science homework help
</a> discovery education science homework help
Cuba wrote on 07-23-2017 23:54:
Hi,
Ich versuche jetzt schon seit Wochen die Atmel-Flash-Station nachzubauen, treffe aber leider laufend auf Probleme, nachdem ich die Meisen beheben konnte habe ich noch ein hoffentlich letztes.
Ich habe als erstes als frage welchen Editor du benutzt, ich benutze Macintosh und komme nicht so ganz klar. Du würdest mir sehr helfen, wenn du einen verlinken würdest.
RoyalHeadwear wrote on 07-24-2017 19:01:
Hi Cuba,
der "Editor", der da auf den Screenshots abgebildet ist, ist die Arduino Entwicklungsumgebung, die man unter https://www.arduino.cc/en/Main/Software für alle gängigen Betriebssystem runterladen kann (oder direkt für den Mac: https://www.arduino.cc/download_handler.php?f=/arduino-1.8.3-macosx.zip)
Cuba wrote on 07-24-2017 22:01:
Vielen Dank!!
@RoyalHeadwear
Cuba wrote on 07-26-2017 10:03:
Hey, ich habe jetzt erst nachgucken können. Ich habe mein Problem leider falsch beschrieben. Tut mir leid. Ich suche nicht, wie ich angenommen hatte, den editor, sondern eigentlich nur die ´Boards.txt´für Mac. Ich habe in den arduino liberies nachgeguckt aber nichts gefunden. Ich habe natürlich auch ausführliche google-suchen gestartet, bin aber auch hier nicht zu einem Ergebnis gekommen.
flowomoto wrote on 09-19-2017 09:59:
Hey Chris, ich hab die Schaltung als Adapter-Platine zum aufstecken auf einen Arduino Uno auf der Arbeit fräsen lassen. Vielen Dank für den Blog :) hast du damals nen Weg gehabt den Stand-Alone ATMega ohne externen Quarz zu betreiben? Also die Interne Clock zu benutzen letztendlich?
Marianar wrote on 10-12-2017 08:38:
Lexapro 10 Mg Weight Gain Obsessive Compulsive Disorder How To Apply Testosterone Cream Before Exercise . Prozac Pharmacy Online Sale Excess Tylenol For Babies Provera Metformin And Clomid Trying To Conceive Test Synthroid During Pregnancy What Are The Side Effects Of Lexapro Weight Gain Does Lexapro Cause Anger . Online Pharmacies No Prescription Apo Tylenol Calculator Dose Early Cure With Prednisolone Or Acyclovir In Bell's Palsy -
https://kisyn.org/penegra-bonus-pills-penegra-no-prescriptions - https://kisyn.org/penegra-bonus-pills-penegra-no-prescriptions http://dtsold.sunykorea.ac.kr/node/776934 - Buy Didanosine Online Order, Buy Didanosine Fast Deliery http://www.totbox.training/forums/topic/generic-buy-t-ject-60-cheap-fedex-delivery-buy-t-ject-60-tablets-online - Buy T ject 60 Uk Cheap No Prescription http://www.today-myanmar.com/forums/forum/yangon-2 - Buy Gimalxina Cheap No Prescription, Buy Gimalxina Paypal http://www.alobrasil.com/es/node/972742 - Order Supra Online Overnight No Prescription Omeprazole Otc Anda order!. flagyl cheap no prescription required canada flagyl for sale codposted in Welcome: Buy Flagyl - Click here Flagyl Online Cheap Flagyl UK. to How Long To Get Prednisone Out Of Your Hair http://www.alobrasil.com/es/node/970969 - Maxalt Online That Takes Mastercard Alphamox http://piqac.org/forums/forum/discussion-generales-ouvertes-aux-consultants-stagiaires - Generic Phenytoin Get BONUS for every order, Phenytoin Online Overnight Mastercard http://ccdsystems.com/forums/topic/buy-ofloxacin-without-rx-cheap-ofloxacin-fast-delivery - Ofloxacin Fast Delivery http://www.ayamedical.co.il/forums/topic/buy-esomeprazole-generic-price-buy-esomeprazole-online-echeck - Esomeprazole On Sale No Prescription Vertigo Migraine Treatment In this paper, effective and systematic steps in the mathematical simplification and reduction of physics-based lithium-ion (Li-ion) battery models to improve c.
Franzanolf wrote on 10-13-2017 07:04:
cialis cialis levitra chart
http://cialisatwalmart.com - cialis over the counter walmart
effectiveness cialis versus cialis
<a href="http://cialisatwalmart.com">cialis over the counter at walmart
</a> - related:www.cialis.com/
leukozytenvermehrung cialis
RamonzWhini wrote on 10-13-2017 17:05:
cialis erection vs normal erection
http://cialiswalmartusa.com - cialis over the counter at walmart
buy cialis soft
<a href="http://cialiswalmartusa.com">cialis over the counter at walmart
</a> - soft tab cialis
continued use of cialis
StezenCoene wrote on 10-13-2017 19:03:
vigara
http://cialisatwalmart.net - cialis over the counter at walmart
cialis pills for men
<a href="http://cialisatwalmart.net">cialis over counter at walmart
</a> - cialis and alcohol consumption register
buy cialis online overnight delivery
ZillysAlova wrote on 10-13-2017 19:59:
http:&47;&47;hort.net&47;+13r+viagra
http://viagrawithoutdoctorprescr.com - viagra without a doctor prescription
viagra and alcohol use registered users
<a href="http://viagrawithoutdoctorprescr.com">viagra no prescription
</a> - viagra for daily use online past 12 months
viagra.co.uk
JazesCoift wrote on 10-13-2017 23:46:
order cialis online canada
http://viagrawithoutdoctorprescr.net - viagra without a doctor prescription
buy cialis uk
<a href="http://viagrawithoutdoctorprescr.net">viagra without doctor prescription
</a> - cialis 20 mg coupon username
cialis bivirkninger
Name or Nickname:
Comment: