I managed to accidently order an arduino with a surface mount chip. Is it still possible to program/bootload an external atmega328 chip with this arduino? From what I've read it should bootload fine, however, to program it required removing the chip from the arduino itself.
Schuyler:
I managed to accidently order an arduino with a surface mount chip. Is it still possible to program/bootload an external atmega328 chip with this arduino? From what I've read it should bootload fine, however, to program it required removing the chip from the arduino itself.
No, there is no need to remove the chip from the arduino board, just load and run the arduino as ISP sketch. Then wire to your standalone target chip. You will most likely have to disable the auto-reset function using a resistor or cap trick.
Lefty
You should still have access to +5,Gnd, Reset, SCK, MISO, MOSI pins so you can load a bootloader, yes?
And +5, Gnd, Reset, Rx, Tx for downloading a sketch?
So you shouldn't have to remove anything.
Run the Optiloader sketch on the working Arduino program the other one, see the video at the end of this thread:
http://arduino.cc/forum/index.php/topic,68183.0.html
The reason you would have to remove the (master) chip is if you wanted to use your Arduino board's USB-to-serial adapter to upload sketches onto the slave. With the master chip still on-board, you would be sending the sketch to two devices at once, which is not technically a problem -- except then both would try to reply on the same serial line, which IS a problem.
So, if you program the sketches via ICSP as well, no problem. Likewise if you instead take your freshly-bootloader'ed slave chip and connect it to a standalone USB-to-serial adapter (FTDI cable or breakout board). All is not lost.
So, still working to get this process working. I am attempting to program it now, and am assuming the bootloader is working correctly. However, since I have not successfully gotten a program to load, I don't really have a sure fired way of knowing whether it has or not (at least, i don't think.) Here is the wiring I am using while trying to PROGRAM the sketch.
http://dl.dropbox.com/u/3695731/Images/Arduino/IMG_20120326_130755.jpg
And here is the error code the Arduino IDE throws when I try to load it.
I was loading the blink sketch, nothing special. I had it set to board>Arduino Duemilanove w/ ATmega328.
It looks like you're not keeping the smd mcu in reset mode and like some else said it interferes with the communication with the dip mcu - this is an advice received in these forums.
How do you go about keeping the arduino mcu in reset mode?
Connect the Reset pin to Gnd.
As others have pointed out, if you put a jumper from the reset header to ground you will hold the onboard SMT atmega in reset limbo which will allow you to use the USB to Serial portion of the Arduino on another chip.