ATmega328 with Arduino Duemilanove Bootloader

Replacement:DEV-10524. We are now using the newest Arduino Optiboot (Uno) bootloader. This page is for reference only.

The name says it all on this one. An ATmega328 in DIP package, pre-loaded with the Arduino Duemilanove (16MHz) Bootloader. This will allow you to use Arduino code in your custom embedded project without having to use an actual Arduino board.

To get this chip working with Arduino IDE, you will need an external 16MHz crystal or resonator, a 5V supply, and a serial connection. If you are not comfortable doing this, we recommend purchasing the Arduino Uno board that has all of these built into the board.

Atmel's ATMega328 8-Bit Processor in 28 pin DIP package. It's like the ATmega168, with double the flash space. 32K of program space. 23 I/O lines, 6 of which are channels for the 10-bit ADC. Runs up to 20MHz with external crystal. Package can be programmed in circuit. 1.8V to 5V operating voltage!

Replaces:DEV-08846

Tags

Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • arduino1324 / about 14 years ago / 2

    I when out and bought one of theses hardly knowing anything about it. When i got it in the mail i was so excited. I already had a programmer to program it. I wired it up and started basic programming. I was very happy to know that there were 12 Io pins a 6 pwm pins. Today i just figured out that there were 19 Io pins. I'm so happy with this product. I have been coding for about 1 year. I'm about fluent with the code. I also would rate this product 11/10 because of how easy it is to program. I've bough many of these and not one failed me !!!
    I love arduino SOOO much!!!
    i recommend this product to everyone

  • EyeTic / about 15 years ago / 2

    Any chance of restocking those b4 Free Day?

    • jwm20 / about 15 years ago / 1

      If these aren't in stock by Free Day, can they be backordered as part of a Free Day order? Would that incur extra shipping charges? Normally I wouldn't mind, but these are cheap enough that shipping could cost as much as the parts, and I might just want to wait until they could be part of a bigger non-Free Day order....

    • tinynormous / about 15 years ago / 1

      Third that.

      • Clint- / about 15 years ago / 1

        fourth that. but doesn't it say that back ordered items are available on free day? maybe I am just imagining things.

    • smartroad / about 15 years ago / 1

      Second that! :D

  • Member #301982 / about 13 years ago / 1

    Regarding comment of Member #67029 about debugWire on Arduino boards: It's not the lockbits but the capacitor (usually 100 nF) on the reset line. I followed the instructions about removing it at http://husks.wordpress.com/2010/02/21/modify-an-arduino-for-debugwire/ and that worked.

  • Benny72 / about 14 years ago / 1

    Being that this has the Duemilanove bootloader, can I program it in an Uno board ?

    • Loudhvx / about 14 years ago / 1

      Yes. That's what I do. The only difference is you have to select Duemilanove as your board type in the programming environment.

    • ThinkerT / about 14 years ago / 1

      Yup. I think it is the same bootloader, just a different USB chip.

  • ThinkerT / about 14 years ago / 1

    Is it possible to burn a different bootloader onto this? I got one of these chips awhile ago and just found the Metaboard project. It uses a USBasp bootloader so you don't need the FTDI chip.
    Can I put the USBasp on and replace the current one?

  • Pardon me for my Nubee'ness, just learning the arduino, but i want to make sure, can i put this chip on a UNO board, program it the way i want, then remove it to use in a custom circuit or breadboard? (of course with the required crystal, loading caps, etc.)

    • zombiedog / about 14 years ago / 1

      Yes you can do that. You may need to select Tools >> Board >> Arduino Duemilanove or Nano w/ATmega328 though.
      Check this out: http://www.theparsley.com/ardiono/diy/

      • zombiedog / about 14 years ago / 1

        its actually: http://www.theparsley.com/arduino/diy/
        sorry typed too fast %-)

  • ElGuru / about 14 years ago / 1

    Hi,
    Sorry for my ignorance but I am very new at this.
    How do I burn my arduino code?, I need an arduino board?
    or i need to buy this also?
    http://www.sparkfun.com/products/8165
    or this?
    http://www.sparkfun.com/products/718
    I need mount this atmega in a pcb, not in a arduino board.
    Thanks!

  • andrew_a / about 14 years ago / 1

    I was working with a system with mixed voltages (5V and 24V), and [yes, you guessed it] seem to have messed up/fried some of my digital outputs (8-13) do to an inadvertent connection.
    If I swap out the current AT328 on the Duemilenove I have with this, will all be fine, or is there a buffer chip that has been destroyed as well?

  • Member #208248 / about 14 years ago / 1

    hey guys, I'm new to standalone microcontrollers. I was wondering if it was necessary to have the arduino bootloader on board if you were going to flash it using the method mentioned in the following link. http://arduino.cc/en/Tutorial/ArduinoISP
    -Thanks

  • Scube / about 14 years ago / 1

    When can we expect these back in stock?

  • Member #93210 / about 14 years ago / 1

    Is this the regular 328, or the 328P?

    • Member #93210 / about 14 years ago / 1

      Totally brain farted. I just realized that I can just click on the picture and check the model number on the chip.

  • dimitristzortzis / about 14 years ago / 1

    Can we get these in other packaging formats? :) thanks!

  • jma89 / about 14 years ago / 1

    Apologies for the really newb question, but how much current can a digital out pin source on this thing at 5 VDC? I'm looking at using a pin to enable a wireless transmitter that'll suck down 20 mA and I'd like to avoid using a transistor if I can. (Mainly because I'm too impatient to order one and wait for it to arrive. :-P)
    Trouble is ATMega's datasheet didn't list how much current this thing can source/sink on its various pins.

    • Young Maker / about 14 years ago / 1

      get a $.15 transistor from radioshack, if you have to!

      • straylight / about 14 years ago / 1

        a $.15 transistor? from radioshack? what are you smoking? they charge like $.99 for 1 of them...

    • pocketscience / about 14 years ago / 1

      It's around 40mA per pin from memory, with a total chip current of ~200mA. Though I wouldn't be going much above 20mA per pin honestly.

  • Member #196464 / about 14 years ago / 1

    so i can drop this in the uno and just go right????

  • Member #44494 / about 14 years ago / 1

    Do these work in the UNO?

  • ironyeti / about 14 years ago / 1

    Does someone know where I can find an EAGLE part for with with appropriate pin labels and footprint?

    • ajrahim / about 14 years ago / 1

      You could use the 'MEGA8-P' in the library (it's supposed to be a good match)

  • jonh / about 14 years ago / 1

    I bought some of these for a non-arduino project, because naked 328s were out of stock (here and digikey and mouser and everywhere else). Turns out the arduino configuration sets the fuses to use an external oscillator. I was programming them in-circuit with an adafruit usbtiny, and my circuit had no external oscillator, so they were unprogrammable.
    A friend rescued my chips with his fancy-pants AVR-brand dev board (with oscillator). If you don't have one, you can use this circuit:
    http://www.seanet.com/~karllunt/fixavr.html
    In any case, this is a non-issue for people who (a) are using these with arduino, (b) are using them with a board that has an external oscillator, or (c) just order the factory-default chips, now that they're in stock again.

  • Member #67029 / about 14 years ago / 1

    Warning!! For anyone using this as non-arduino, I've had a problem where after enabling debugWIRE, I can no longer communicate to the chip, either to debug or disable debugWIRE. I believe it has to do with the arduino bootloader having lockbits enabled which causes problems with debugWIRE. I don't have another one to try disabling lockbits before enabling debugwire, but this is my best guess from the documentation.

    • Member #301982 / about 13 years ago / 1

      It’s not the lockbits but the capacitor (usually 100 nF) on the reset line. I followed the instructions about removing it at http://husks.wordpress.com/2010/02/21/modify-an-arduino-for-debugwire/ and that worked.

      (Sorry, I also posted the same thing as an independent comment instead of this reply because there was no "reply" link shown. Now it is. Weird website...)

  • odriew / about 14 years ago / 1

    You can upload Arduino code using the Arduino IDE and an ISP:<br /> <br /> http://arduino.cc/en/Hacking/Programmer<br /> <br /> you don�t need the bootloader, nor a serial connection, but you do need an ISP (I prefer USBtinyISP). Helpful, I think, if you don�t have a serial connection.

  • Crum / about 14 years ago / 1

    I have completed the project of getting one of these as a stand-alone project in a breadboard. I have a video and instructions on how to do so at:
    sites.google.com/site/aaroncrum
    I purchased the ATMega328, the 16Mhz resonator, and the 28 pin DIP holder from this site.

    • Member #14341 / about 14 years ago / 1

      Hi everyone, <br />
      <br />
      I was just wondering if anyone got the ATMega 328 to work with a Arduino NG (ATMega-8)? <br />
      <br />
      I replaced my really old NG with an ATMega 328 but do not see it as an option in my board selection in Arduino IDE. All I see are Arduino ATMega-8 and ATMega-168.<br />
      <br />
      Any advice would be much appreciated.<br />
      <br />
      <br />
      Thanks lots.

  • Luka / about 14 years ago / 1

    [noobquestion]Ok, I'm not really familiar with this stuff, but basically you can just slide this thing into the Arduino Uno (or any compatible one) to program it, and then use it in a circuit just like it were a full sized Arduino board, only with the stuff listed above (5V power supply, a serial connection and a 16MHz crystal or resonator)?[/noobquestion]

  • roybean / about 14 years ago / 1

    hi,
    I have one of these chips running fine at 16Mhz, but I need to change to 8Mhz so I can run at 3.3V. I know I need to replace the external crystal to 8Mhz, but what else am I going to have to do? with some searching on the forums, I really have not found a clear cut answer yet.
    Do I need to create a new bootloader or something?
    Bootloaders frighten me, although I have ordered a programmer to defend myself with.
    Many thanks in advance for any help.
    Phil in Austin, texas

  • nebulous / about 14 years ago / 1

    Is this a flash quadrupling drop in replacement for the Atmega8 in my old Arduino NG board, or will it only replace the 168?

  • This is very easy to use on a breadboard or in your own prototypes. I have written a simple tutorial on how to do so here: http://wp.me/pQmjR-rm

  • calle / about 15 years ago / 1

    A tip when using this:
    Use a good pcb to mount it on, since the crystal is very sensitive.
    It took me a long time to under stand that it was my prototype pcb that was leaking current to the resonator so it did not oscillate.

  • MrGoogfan / about 15 years ago / 1

    well, after reading the comments, idk if i want to buy one. the bootloaders seem screwed.

    • We had a small run where the boot loader didn't get properly installed. This issue has since been resolved. If everything works, you don't hear about it. If something doesn't work, you hear about it ten times over. Our mistake! It's fixed now though.

  • bjohnson777 / about 15 years ago / 1

    Mine didn't seem to come with much of anything flashed onto it. It didn't blink the onboard LED of my Arduino Duemilanove like the original 328 did. I couldn't upload a sketch to it, either. I spent the extra dollar to avoid building the parallel ICSP cable for now... but ended up doing it anyways. After a manual bootloader flash, the LED started blinking like it should and would accept the sketch upload. The basic test seemed to run ok.
    If anyone else decides to do the parallel cable under Debian/Lenny, there are a few quirks that are easy enough to work around.
    Run: mknod /dev/parport0 c 99 0 ; chmod 666 /dev/parport0
    Don't make the cable too long. Maybe use 100 ohm resistors instead of the higher value ones in the schematic.

    • zskatona / about 15 years ago / 1

      I got 3 of these about two weeks ago, but didn't try to use until now. I got the same symptoms: doesn't blink the led, can't upload a sketch. This is the first time this happens (manufactured 1007: 7th week of 2010).

  • calle / about 15 years ago / 1

    think of the fact that you will need two 20nF capc if you chose to use the 16MHz crystal instead of the http://www.sparkfun.com/commerce/product_info.php?products_id=9420

    • NOI7734 / about 14 years ago / 1

      actually its not 20nf caps, the best setup is to run 2 22pf caps from the crystal legs to ground, I read 20 nf somewhere and tried it, but it locked up the avr, fortunately when I found an accurate source of information and got the 22pf caps the avr and crystal were both still fine.
      in short, you need 2 22pf caps, 1 22uf electrolytic cap (radial lead, axial lead wont work...that means it has to have an positive and negative, cant be non-polarized) 16mhz crystal, 5 volt voltage regulator, and a 10nf cap.
      any questions see:
      http://www.instructables.com/id/Perfboard-Hackduino-Arduino-compatible-circuit/
      ^I've done this it works perfect^

  • rickburgen / about 15 years ago / 1

    Could we get the eagle part for this?

  • carolinamarksman / about 15 years ago / 1

    Can you buy just the ATmega 328 and burn the bootloader yourself? I have the Arduino program and it has an option to "burn bootloader". I'm very new to this so please forgive this if it's a stupid question.
    I'm trying to make a printed circuit board that has an arduino (and much other stuff) all on it. I want the low cost of putting the chip on without using a Pro Mini, but this chip is still out of stock.

    • Lavalamp / about 15 years ago / 1

      I think you burn the bootloader on with a "burner thing"( Forgot the actual name) through the ICSP on the Duemilanove. But I'm new too. So get a second opinion. Good luck!

  • flimshaw / about 15 years ago / 1

    I see that this can you can drop this into Duemilanove, but can this be dropped into the Diecimila board without any modifications?

  • sdcharle / about 15 years ago / 1

    I used the ITP tutorial for wiring up a breadboard Arduino (http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard) and I get behavior where it blinks once, but then pauses and blinks more and more rapidly, and then stops. I am going to wire up the FT232 breakout board next, but was a bit puzzled by the behavior at this checkpoint - is this the preloaded program or is the preloader program the plain old blink, and something getting wacked with the timing?

    • Canary / about 14 years ago / 2

      I also had the same problem and found the solution from http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1287536657.<br />
      You need to reset manually during the upload procedure or add a capacitor 0.1uF between the RESET pin of the ATmega328 and the DTR pin of the FTDI breakout board.<br />
      It would have been happier if I could find this simple answer from SparkFun here.

      • Member #113758 / about 14 years ago / 1

        I just received 3 of these today for breadboard fun. Had the same issue. First attempts to program sketch failed. Followed your thread, and now I am up and running. If you use the FTDI BOB to program, either properly connect the DTS or manually push the reset button at the right times. The instructions from the forum thread: "The boot loader only looks to see if there is a program to down load for a few seconds after reset. Unless you auto reset the board you have to hold down the manual reset, click upload, wait for the size message to appear, wait two more seconds and then release the reset."

    • lqbert / about 13 years ago / 1

      I was getting the same behavior even as I was writing this post... however, I decided to try the "Uno" board option on the Arduino IDE, and BINGO... I have a 1Hz blinking LED on pin 13...
      I have the .1uF cap and 10k resistor setup as described by others on the Reset pin being pulsed by DTR.

      • Member #106287 / about 13 years ago / 1

        I have am Arduino Duemilanove that I dropped one of these into. I was getting the same avr-dude error saying it was out of sync, but then changing the Board to Arduino Uno in the tools menu let it upload properly.

        I think I ordered the wrong atmega368... (Needed Duemilanove, not Uno). Apparently I can still program the Uno bootloader chips just fine, though.

    • The blinking behavior you describe appears perfectly normal. My 328P does the same after I wired it onto a breadboard, and I've successfully loaded a sketch so I know all's well. I guess the bootloader blinks the LED a little differently than my other 328P based Arduino-ish setup. shrug --Michael

    • 13 / about 15 years ago / 1

      Exactly the situation I'm in. Used the ITP tutorial, built my own setup using the FT232R Breakout and am now wondering if the bootloader is messed up or if it's something else with my circuit. The LED does the single blink, speed-up-blink, stop, that you described. Also when trying to upload programs using the Arduino software I'm getting a 'not in sync' error. Waiting for the USBtinyISP to come in and I'm going to try starting from scratch and bootloading all new, but... I think I'm missing something. Did you ever resolve your issue?

      • 13 / about 15 years ago / 1

        well I got the USBtinyISP and did a Burn Bootloader with the Arduino software. The LED now blinks @ the 1MHz I originally anticipated. Although I did get a "Done Burning Bootloader", I still got a lot of 'usb errors' in the status bar of the Arduino software. But as far as I can tell, I've made one small step in the right direction...

  • Quazar / about 15 years ago / 1

    It would be great if you offered a variant of this item with an Arduino Bootloader compiled for 20MHz.

  • lostangel556 / about 15 years ago / 1

    Any chance of getting an SMD version of this chip?
    I want to make my own version of the arduino pro mini for an project so i can integrate everthing i need on the same board.

  • Fuzzy2 / about 15 years ago / 1

    so...crystal vs ceramic resonators: any preference? Haven't done this stuff in awhile, can't remember what's used for what.

    • PresidentOfAwesomeness / about 15 years ago / 1

      I'm pretty sure that crystals are less stable than resonators, so I would just use the resonator.

      • mmgood / about 14 years ago / 1

        Umm, no. A quartz crystal with the needed two 18-to-22 pF capacitors is going to be orders of magnitude more stable and accurate than a typical ceramic resonator. Ceramic resonators are cheaper, and easier to connect, but they're usually only rated at + or - 1/2% accuracy. Wristwatches, on the other hand (oh look! wordplay!), use quartz crystal elements because you can routinely get better than 10 parts per million accuracy with them.
        Strictly, both are "resonators", but common tech parlance calls just the looser tolerance part that.
        Cheerio.

        • Kamilion / about 14 years ago / 1

          Hey, thanks, that helped me a lot!
          Just picked up five bare chips, some 16Mhz and 20Mhz crystals and a baggie of 22pF capacitors with my Free Day 2011 lump!
          Would have gone for the cheaper resonator option if it hadn't been for your helpful post!

  • Shifted / about 15 years ago / 1

    When will more of these be in stock?

  • jmjordan / about 16 years ago / 1

    Can the internal resonator be used instead of an external clock with the Arduino bootloader?

    • It really can't. The internal osc has a pretty sloppy tolerance(+/-10%!). In the olden days, Arduino bootloader running at 19200bps, you could use the internal osc and get it to work, off the shelf (no user calibration). But with the new, snappier 57600bps based Arduino boot loader (on this IC), you have to use an external osc.

      • domino14 / about 14 years ago / 1

        The internal oscillator isn't as bad as the specs say. I have used it with a 250000 baud Zigbee module several times with no problem. It can also be tuned. It has a lot of jitter, but not enough to matter.

        • MattTheGeek / about 14 years ago / 1

          Well, I guess someone has to try it out and see if it works. What i would say would be "YMMV"
          Yet again, a crystal that expensive. However for staving students, it may be a problem. ;)

  • wiggles / about 16 years ago / 1

    Can this be swapped for a 168 on an arduino duemilanove without any modifications?

  • Nicola / about 16 years ago / 1

    ohh finally, i was waiting for this guy :)

  • wow, 10 year old me was really annoying. Forget this comment ever existed.

Customer Reviews

No reviews yet.