I have made a project on a breadboard using ATMEGA328P-PU (standard Arduino Uno chip) which all works fine. I have been programming the HEX files generated by Arduino software version 22 directly to the chip. I am not using a boot loader as I am programming via the ISP. All is fine at this point.
My problem is that when I change the micro controller to an ATMEGA328P-AU (SMD version) I am unable program the chip! It lets me read the fuses initially (I get extended 0xFF, high 0xD9 and low 0x62 (default) no problem but as soon as I try to change them I get an error.
After this error I am not able to do much with the chip. All fuses read 0x00 and so does the chip signature! (I must have damaged it)
It seems to let me write to the flash but then fails on a verify. It’s like the chip accepts a write to the flash but it does not actually write the flash or anything! I have tried AVR studio 4 and AVR dude and get the same results. I am using a Olimex AVR-ISP500 programmer. I have fried two chips already (not fun as they are SMD) and Google’d quite a lot but not had much luck.
Is there anything thay I must consider when using the SMD version? I have looked at the Arduino UNO smd schematic and I think that my schematic is right.
Is there any difference between these two chips apart from the package? I have treated them the same but I must be doing something wrong.
PU and AU markings refer to package type only right? Thats what I make from the datasheet.
I have included the schematic just in case I have done somthing stupid, this which works fine with the ATMEGA328P-PU all I have done is substituted the micro controller for the SMD version ATMEGA328P-AU.
I have ordered some more chips and I am going to have a another go.
They should be the same with respect to programming. Did you account for the fact that the pin numbers are different between DIP and SMD packages? For example, pin 1 on the DIP is PC6 while pin 1 on the TQFP package is PD3.
But if you already read the fuses then chances are good you already knew that
There's no SD card plugged in when you try to do this, is there?
--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons
Definitely, Pins on the TQFP package are totally different to the DIP package, one is 28 pin and the other 32 pin, was a little confused with pins 19 and 22 in the TQFP package, are they additional analogue ports? Can the Arduino software use them? (maybe for another post)
When trying to flash the micro controller I removed the SD card as I did not want to run the risk of scrabbling it and the fact that it sits on the SPI bus I am sure that it would affect the programming the micro controller.
If the ATMEGA328P-AU and ATMEGA328P-PU in your eyes are the same in respect to programming then something that I am doing must be wrong.
Do you think that I am ok to treat the ATMEGA328P-AU as if it was a ATMEGA328P-PU?
Is it possible the resistors on the ISP lines are causing the problem. A quick of the programmer's datasheet says this programmer is more susceptible to certain components on these lines because it uses 560 ohm series resistors. Can you remove the two 1.8k resistors that are on the ISP lines and see if it works?
Yes, you can treat them the same (and yes, the SMT version has additional analog ports).
I'm out of ideas, other than you are doing something to damage the hardware How are your soldering skills? Are you dwelling too long on soldering the SMT device?
--
The Rugged Motor Driver: two H-bridges, more power than an L298, fully protected
The circuit basically has ~5k ohm pulldown resistors on the MOSI and SCLK lines but not the MISO line. I was wondering if the resistance was not "weak" enough and might interfere with the write operation.
I must admit that I was a little shakey about soldering this, but I did have these boards made up in a fab house and did not find it hard to solder. I did test all my joints ( I have included a picture, sorry about quality). I think that it must be something that I am doing with respect to programming. I had two boards made up and I did try without the 1.8K resistors and had the same result. I was thinking that the potential dividers were causing a problem but as I said this was working with the ATMEGA328P-PU chip fine.
My main concern was that these two chips were different.
Then it is in the wrong place. It MUST be close to the VCC/GND pins of the microcontroller. As it is, it is close to the AVCC pin, which does you no good.
If you're feeling lucky and your hands are really steady try soldering an SMT cap (0603?) directly between pins 4 and 5. Don't short circuit anything!
--
The Beat707: MIDI development system with 14-track MIDI drum machine sequencer / groove-box software
Do you mean remove the one you have now? I don't see that as helping, but it is OK for testing. I don't think you will see any improvement in your programming situation.
--
The DIN Rail Mount kit for Arduino: quickly attach your Arduino to standard DIN rail
Hello!
Running into some problem as jpablo.
Using STK500v2 compatible programmer http://download.avt.pl/INSTRUKCJE/AVT5125.pdf
Able to program with it standard Arduino boards and self maded clones without any problems.
Everything went fine till moment i want to make board with 328P-AU TQFP chip.
Triple check all circuits, exchange quartz and all capacitors. Unable nor read chip signature nor program chip.
Same circuit on breadboard with 328P-PU chip works and programmed as expected.