Go Down

Topic: Help Burning Bootloader on SMD ATMEGA328P (Read 12172 times) previous topic - next topic

nicman

Hi,

I need to burn a bootloader on a "virgin" ATMEGA328-AU (SMD) chip purchased from Mouser.  I currently have a genuine Arduino Duemilanove, with the DIP ATMEGA328P.  I have the Arduino 0022 IDE, as well as the WINAVR suite (not too familiar with it).  With instructions found in this forum, and help from several of you, I successfully burned a bootloader on a "virgin" DIP ATMEGA328P (with Arduino as ISP)...  I have NOT been able to do the same to the SMD ATMEGA328P.  The difference is that my SMD 328P is already soldered on to the PCB containing the rest of the components for the project.

I want to reduce the variables... so I'd like to burn the bootloader on another "virgin" SMD 328P.  It's the last one I have, so I want to get it right. Can you please help to answer these questions?

1) First of all...  can anyone confirm that you're able to use the ATMEL ATMEGA328P-AU?  I think the answer is yes, as it seems equivalent to the 328P that's on the Arduino UNO SMD (slight difference in package and pin type).

2) What is the preferred way to connect my Arduino to the SMD 328P chip?  Can I connect them per the instructions listed here (obviously accounting for the pin-out differences)?
http://arduino.cc/en/Tutorial/ArduinoToBreadboard

3) What is the preferred bootloader to use?  There's the Arduino UNO SMD bootloader (http://arduino.cc/blog/2011/01/20/issues-with-the-new-arduino-uno-smd-edition/), and there's this Optiboot bootloader (http://www.sparkfun.com/tutorials/247), and I stumbled upon another one called Optiboot_v3 (don't remember where I got downloaded it from).

4) Any other recommendations?

Thanks in advance!

johnwasser

How do you plan to connect the SMD processor to a breadboard?

If you are going to use the processor in a custom board you should probably include an 6-pin ICSP header in the design.  Then you can program (or re-program) the process in place.
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp
See who has no social life: https://forum.arduino.cc/index.php?action=stats :)

westfw

#2
Aug 01, 2011, 02:45 am Last Edit: Aug 02, 2011, 04:45 am by westfw Reason: 1
Use the Beta optiboot mentioned here: http://arduino.cc/forum/index.php/topic,64105.0.html

and let me know of any problems.

madworm


If you are going to use the processor in a custom board you should probably include an 6-pin ICSP header in the design.


Better make that a 'must' instead of 'should'. It will save you from a lot of grief later on.

nicman

I got impatient yesterday… so I took a chance and attempted to burn the bootloader (before the reading the responses I received today, obviously).

Here's what I found:

Q: First of all...  can anyone confirm that you're able to use the ATMEL ATMEGA328P-AU? CONFIRMED…  successfully burned the bootloader on this chip.

Q: What is the preferred way to connect my Arduino to the SMD 328P chip?
Don't know if it's the preferred way, but CONFIRMED that you can connect them per the instructions listed here (accounting for the pin-out differences):
http://arduino.cc/en/Tutorial/ArduinoToBreadboard
** The only changes to what was described are (1) that I used a 16MHz resonator (with built-in caps), instead of the standard crystal with external caps, shown in the picture and (2) instead of hooking up to D11, D12, and D13, I hooked up to the corresponding pins on the ICSP header.  Didn't make a difference… it worked.

Q: What is the preferred bootloader to use?
Didn't have an answer yesterday…  so I believe it loaded the standard bootloader for the Arduino UNO that comes with the Arduino 0022 IDE (opti_328p?).  Basically, I just chose "Arduino UNO" for the board, and chose "w/ Arduino ISP" in the "Burn Bootloader".  CONFIRMED that this method works.

---

Regarding John's question…  I used a spare custom PCB (where this chip will eventually live on) to make all the connections.  Then I just literally clamped the chip onto the pads (so no soldering), and burned the bootloader.  I didn't want to solder it, fearing that I would not be able to make it work.  In a way…  this modded board can be used as a jig (in a crude way) to bootload other chips.

Regarding westfw's comment…  With your new beta bootloader, are there any specific test points that you're interested in?  Is it a matter of just burning the bootloader and running a few of the sample programs?

westfw

Quote
are there any specific test points that you're interested in?

Well, there the the obvious major bugfixes (sketches over 30k, uninitialized register fix), but those have pretty much already been tested.  I suck at envisioning test cases (which is annoying.)  Mostly I'm hoping that among "many" people testing, someone will do strange things I hadn't thought of, which will either work, or not work...

Go Up