I have successfully burned a bootloader and uploaded a program onto a blank (through-hole) atmega328P-PU. I did this by following the instructions on this page: http://arduino.cc/en/Tutorial/ArduinoToBreadboard. My question is: can I burn a bootloader and upload a program onto a blank SMD (surface mount) atmega328 using the same technique?
Yes. Same chip inside the plastic. 328 or 328P? Different signature bytes.
Thank you for your prompt reply. All of the atmega328 chips I have burned the bootloader on are all picopower types (atmega*P*). After reading your post I did a quick search and learned that if I want to burn the bootloader on a non-picopower atmega328 chip I will have to edit the avrdude.conf file as per this post: http://forum.arduino.cc/index.php?topic=58670.0. I am planning on purchasing the surface mount atmega328 tomorrow and will attempt to burn the bootloader on it.
By any chance were you able to burn the bootloader on SMD ATMEGA328? I am trying to accomplish the same goal! My only problem is the chip is already on a pcb without bootloader! Any info would be appreciated!
No need to bump a 1-year old thread for this. Look at dates before you reply.
The procedure for bootloading an SMD Atmega chip is the same as throughhole - you just need to look at the pinout (google image search, atmega328 pinout) and find the correct pins (assuming they didn't give you a familiar layout or 6-pin ISP header on the board it's on)
Also, does it have the other components on your board? The crystal, loading caps on crystal, and the decoupling caps (0.1uf right next to chip between power and ground)?
If it doesn't have the decoupling caps, it won't work at all, and without the crystal, you'll soft-brick the chip if you burn bootloader successfully, because that sets fuses to use crystal, but there isn't one there.
I don't understand why it is wrong for me to post to a year old thread (newbie).
I have the same chip and the same resonator used by the Arduino Pro Mini 328 (3.3V, 8MHz). From what I understand the decoupling caps are "built-in" the frequency resonator (Crystal). I also have a voltage regulator on the board. What I am trying to accomplish is powering on a 3.3v OLED screen, these components are all on a pcb.
Old threads can contain dated information, and cause confusion when others see the thread and don't see that the thread slept for a year. If the thread had lots of information in it relevant to your question, then it would make some sense... but here, it doesn't.
decoupling caps are not the same as loading caps. Loading caps are part of the resonator, and on a crystal, are connected between the crystal pins, and ground. Decoupling caps are 0.1uf caps connected between power and ground as close to the chip as possible.
What board is this you're working with, anyway?
In any case, assuming the board is free of defects, you should be able to connect up the SPI pins per the instructions for bootloading any other Arduino board; refer to pinout charts if you need to know which pins on the TQFP package correspond to the ISP programming pins.
Ok, I have the decoupling cap (0.1uF) tied between ground and Vcc, sorry for the mix up. Really quick what would happen if the cap was 10.1uF? I assume it wouldn't work?
The board I am using is a custom pcb it has a program header(For use with the FTDI Breakout from sparkfun), display header, V reg (and its recommended circuit w/ components), Crystal, Decoup Cap (0.1uF).
The Atmega chip was surface mounted onto the custom pcb before burning a bootloader which is why I am trying to figure out how to do it.
It's fine to have a larger cap in parallel with the decoupling cap, but you do need a 0.1uf cap between each Vcc pin and ground (also AVcc, now that I think about it - it's a 328 so it's got a separate pin for that), right next to the chip. Just a couple of weeks ago I had to throw a dozen boards I got fabbed into my junk bin because I had the cap too far away and they wouldn't take programming if I didn't put an extra 0.1uf cap across the top of the chip :-P
Aaah, so you didn't put in an ISP header. Put that into next rev of the board.
So again I ask - what are you asking for help with? Are you attempting and getting an error (if so what?)? If you have not gotten that far, why not? It's not clear what you want to know - connect the ISP programmer to the SPI pins, reset, vcc, power, select the programmer you're using from tools -> programmer (and COM port if it's an ArduinoAsISP or other thing that works over a serial port), and do burn bootloader.
Are the programming pins broken out? Make an adapter cable to go from the pins to sck.miso.mosi.reset.power.gnd on the programmer. Or get an smd adapter cable from hobbyking.com
The pins are not all broken out, I have 20 pins dedicated to the display(NHD-1.69-160128UGC3) in 6800 series parallel interfacing.
Since I am a newbie how would I accomplish wiring the spi and isp set up?