{"id":16,"date":"2013-09-28T20:03:17","date_gmt":"2013-09-28T20:03:17","guid":{"rendered":"http:\/\/mypocket-technologies.com\/?p=597"},"modified":"2013-09-28T20:03:17","modified_gmt":"2013-09-28T20:03:17","slug":"bootload-an-atmel-atmega88p-with-arduino","status":"publish","type":"post","link":"https:\/\/bitcows.com\/?p=16","title":{"rendered":"Bootload an ATmel ATmega88p with Arduino"},"content":{"rendered":"<p><img decoding=\"async\" class=\"size-full wp-image-606 alignleft\" title=\"Atmel ATMEGA88P-20AU\" src=\"http:\/\/mypocket-technologies.com\/wp-content\/uploads\/2013\/09\/IMG_5662.jpg\" alt=\"\" width=\"380\" \/>The other day I was on <a title=\"Ebay\" href=\"http:\/\/ebay.com\" target=\"_blank\" rel=\"noopener\">Ebay<\/a> looking for small microcontroller\u00a0to put into my projects. I was looking for the cheapest, smallest (TQFP package), most bang for my buck microcontroller\u00a0I could find. I came across this <a title=\"Ebay ATMega88p\" href=\"http:\/\/www.ebay.com\/sch\/i.html?_trksid=p2047675.m570.l1313.TR0.TRC0.XATMEGA88P&amp;_nkw=ATMEGA88P&amp;_sacat=0&amp;_from=R40\" target=\"_blank\" rel=\"noopener\">ATMega88P-20AU deal <\/a>. Five for $11.45 or best offer. So I offered them $10 and two and a half weeks later my new <a href=\"http:\/\/www.atmel.com\/Images\/8025s.pdf\" target=\"_blank\" rel=\"noopener\">ATMega88P-20AU<\/a> chips arrived.<\/p>\n<p>There was just ONE problem. I had no idea how to install the \u00a0bootloader and program it. So after a few hours of combing through sites looking to do this, I came across a couple that had <em>some<\/em> of what I needed, but not the full picture. So this post is to help walk you through how to install the \u00a0bootloader, and run your program on a ATMega88P-20AU (TQFP package) size shouldn&#8217;t matter in this case \ud83d\ude09<\/p>\n<p><strong>MATERIALS NEED:<\/strong><\/p>\n<ul>\n<li>ATmega88p (obviously)<\/li>\n<li>jumper wire<\/li>\n<li>SMT break out board (<a href=\"http:\/\/www.adafruit.com\/products\/1163\" target=\"_new\" rel=\"noopener\">I got mine at adafruit<\/a>)<\/li>\n<li>Arduino (I used an Arduino Uno R3)<\/li>\n<li>Solderless Breadboard<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignleft size-full wp-image-607\" title=\"IMG_5663\" src=\"http:\/\/mypocket-technologies.com\/wp-content\/uploads\/2013\/09\/IMG_5663.jpg\" alt=\"\" width=\"300\" \/><\/p>\n<p><img decoding=\"async\" class=\"alignleft size-full wp-image-614\" title=\"Atmel ATMEGA88P-20AU on the breadboard\" src=\"http:\/\/mypocket-technologies.com\/wp-content\/uploads\/2013\/09\/IMG_5664.jpg\" alt=\"\" width=\"300\" \/><\/p>\n<p><strong>THE SETUP<\/strong><\/p>\n<p>The first thing you need to do would be <a href=\"http:\/\/learn.adafruit.com\/smt-prototyping-using-breakout-pcbs\" target=\"_new\" rel=\"noopener\">solder your microcontroller to your break out board<\/a>. I&#8217;m not going to cover that here its pretty straight forward.<\/p>\n<p>After you have that complete, you will need to connect your ATmega88p to your UNO as follows:<br \/>\nUNO 5v &#8211;&gt; POWER on your breadboard<br \/>\nUNO GND &#8211;&gt; GND on your breadboard<br \/>\nUNO pin 10 &#8212;&gt; ATmega88p pin 29 (RESET)<br \/>\nUNO pin 11 &#8212;&gt; ATmega88p pin 15 (MOSI)<br \/>\nUNO pin 12 &#8212;&gt; ATmega88p pin 16 (MISO)<br \/>\nUNO pin 13 &#8212;&gt; ATmega88p pin 17 (SCK)<\/p>\n<p>BreadBoard 5v &#8212;&gt; ATmega88p pin 4,6 (VCC)<br \/>\nBreadBoard GND &#8212;&gt; ATmega88p pin 3,5,21 (GND)<\/p>\n<p><img decoding=\"async\" title=\"atmega88p\" src=\"http:\/\/mypocket-technologies.com\/wp-content\/uploads\/2013\/09\/atmega88p.png\" alt=\"\" width=\"800\" \/><\/p>\n<p><strong>THE SOFTWARE<\/strong><\/p>\n<p>The next we need to do is put the bootloader on this chip. To do this you will need to place the <a href=\"https:\/\/www.amazon.com\/clouddrive\/share?s=5iCjL84tQiwsMH0qGL9S9w\" target=\"_new\" rel=\"noopener\">attached code<\/a> in the following location. The default location on a MAC is <strong>\/Users\/[YOUR USER NAME]\/Documents\/Arduino\/<\/strong><\/p>\n<p>If you did it correctly you will see the following folder stucture<\/p>\n<p><strong>ROOT<\/strong> in this case is \/Users\/[YOUR USER NAME]\/Documents\/Arduino\/ your root could vary.<\/p>\n<pre>ROOT\n|-- atmega88p\n|    |-- boards.txt\n|    |-- bootloaders\n|    |    +-- optiboot\n|    |-- cores\n|    |    +-- atmega88p\n|    |-- variants\n|    |    +-- standard<\/pre>\n<p><span style=\"font-weight: bold;\">ARDUINO<\/span><\/p>\n<p>Now lets open up the Arduino programmer app.<\/p>\n<p>You need to set up your arduino first in order to program by choosing the sketch ArduinoISP: \u00a0File &gt; Examples &gt; ArduinoISP<\/p>\n<p>Make sure you have your Arduino board correctly choosen: Tools &gt; Boards &gt; Arduino UNO<\/p>\n<p>Then make sure your programmer is set to Arduino as ISP: Tools &gt; Programmer &gt; Arduino as ISP<\/p>\n<p>Then load the sketch to your Arduino &lt;Command+U&gt;<\/p>\n<p>Once that is complete you \u00a0are ready to bootload your chip. Assuming everything is connected correctly choose your ATmega88p board from the Boards menu: Tools &gt; Boards &gt; ATMega88p<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-625\" title=\"Screen Shot\" src=\"http:\/\/mypocket-technologies.com\/wp-content\/uploads\/2013\/09\/Screen-Shot-2013-09-28-at-12.36.39-PM.png\" alt=\"\" width=\"891\" height=\"551\" \/><\/p>\n<p>Then run the Burn Bootloader command: Tools &gt; Burn Bootloader<\/p>\n<p>You should see your Arduino&#8217;s lights flicker for a few seconds with no errors in the console and that&#8217;s it. You have bootloaded your ATmega88p chip. Now with this same set up you can put any program you like on that chip. Then disconnect the Arduino and you should see your program running with only power supplied to it.<\/p>\n<p><a href=\"https:\/\/www.amazon.com\/clouddrive\/share?s=5iCjL84tQiwsMH0qGL9S9w\" target=\"_blank\" rel=\"noopener\">PROJECT FILES<\/a><\/p>\n<p><video width=\"100%\" height=\"150\" controls=\"controls\" autoplay=\"autoplay\"><source src=\"http:\/\/mypocket-technologies.com\/wp-content\/uploads\/2013\/11\/atmega.mp4\" type=\"video\/mp4\"><\/video><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The other day I was on Ebay looking for small microcontroller\u00a0to put into my projects. I was looking for the cheapest, smallest (TQFP package), most bang for my buck microcontroller\u00a0I could find. I came across this ATMega88P-20AU deal . Five for $11.45 or best offer. So I offered them $10 and two and a half&hellip;<\/p>\n<p class=\"more-link\"><a href=\"https:\/\/bitcows.com\/?p=16\" class=\"themebutton\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[33,45],"class_list":["post-16","post","type-post","status-publish","format-standard","hentry","category-electronics","tag-arduino","tag-electronics"],"_links":{"self":[{"href":"https:\/\/bitcows.com\/index.php?rest_route=\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitcows.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitcows.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitcows.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bitcows.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16"}],"version-history":[{"count":0,"href":"https:\/\/bitcows.com\/index.php?rest_route=\/wp\/v2\/posts\/16\/revisions"}],"wp:attachment":[{"href":"https:\/\/bitcows.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitcows.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitcows.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}