1
\$\begingroup\$

So I got an ATmega328P in a 32 pin TQFP package, along with the breakout board shown. I have connected the pins in accordance with the datasheet. I added the decoupling capacitors after searching online for possible solutions. I also connected all the Vcc (including AVcc) and GND pins appropriately. I place the IC on top of the pads, I cannot solder it due to some constraints but I am sure this is making a valid electrical connection. However, on my PC avrdude shows the following error

C:\avrdude -p m328p -c usbasp

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware up
date.
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


avrdude.exe done.  Thank you.

Is there anything that I am missing? What could be the problem here. enter image description here

\$\endgroup\$
  • 1
    \$\begingroup\$ Something is connected in a wrong way. No, the foto is not enough to tell. \$\endgroup\$ – Turbo J Aug 3 '17 at 15:46
  • 6
    \$\begingroup\$ Also, the pins are not necessarily laying perfectly flat. No guarantees without soldering. This chip is easily hand solderable. \$\endgroup\$ – Chris Knudsen Aug 3 '17 at 16:05
  • 1
    \$\begingroup\$ At the very least push down on the chip to help make contact, but there are no guarantees that will work. \$\endgroup\$ – Tom Carpenter Aug 3 '17 at 17:22
  • \$\begingroup\$ So no guarantees without soldering? \$\endgroup\$ – hacker804 Aug 4 '17 at 2:26
2
\$\begingroup\$

What could be the problem here.

Some of the possible problems include:

  • I place the IC on top of the pads [...] I am sure this is making a valid electrical connection.

    I respectfully disagree that you can be sure every (necessary) pin is making a good-enough electrical connection, with the ATmega328P TQFP package just "laying" on top of the breakout PCB.

    In the past I have seen a junior engineer try the same "trick" (different MCU) and again, they failed to program it - but all worked OK once it was correctly soldered.

    I cannot solder it due to some constraints

    So fix your constraints (whatever they are) which are preventing you from doing that soldering. For example, if your constraint is lack of suitable soldering equipment, then try to borrow the equipment, or ask someone else who has the equipment to do the soldering for you, or use the DIP version of the ATmega328P etc.

    Until the ATmega328P IC is correctly soldered to the breakout PCB, you are probably wasting your time.

  • That one picture of your breadboard, from an angle, and not including the full paths of all the jumper wires, makes it impossible for anyone reading your question to independently verify that the wiring is correct. You might have a problem there, which we cannot tell you about, since we cannot see all the jumper wiring.

  • From the amount of breakout PCB pin length which is visible above the breadboard (e.g. see the photo where IC pin 32 plugs into the breadboard), you either have long pins soldered to that PCB or the breakout PCB might not be fully inserted into the breadboard.

  • Looking at the soldering of the pins onto the top of the breakout PCB, they are a concern as several of them are "balls" of solder around the pin, instead of the solder flowing onto the PCB. This suggests the solder may not have made a good connection to the track on the breakout PCB, and again, that could cause problems for you.

    To illustrate the above two concerns, I have used part of your photo and highlighted them:

    potential problems marked on excerpt of original photo

Since your error message is the most general one (i.e. the PC software cannot detect the ATmega328P via the USBasp programmer) then your problem can also be almost anywhere else, in addition to the list I have given above e.g. internal damage to the breadboard contacts causing poor or nil contact, due to a previous excessively large pin being inserted; or the ATmeag328P might be fake; or your USBasp programmer is faulty; etc.

However, I suggest starting with the simple issues listed above first.

|improve this answer|||||
\$\endgroup\$
0
\$\begingroup\$

I had the same problem. It is even in your avr or the connections. If you fused wrong at the first time then your avr can stop responding the data transmission from your computer. Try other avr devices. If it continues giving the same error, you can understand that problem might not from your avr.

I also know another important solution, which can be related to this topic. But I really don't sure, because to be honest I forgot it. However, check the link, because I did not see a 10k resistor in the picture.

|improve this answer|||||
\$\endgroup\$
0
\$\begingroup\$

tough to see what's going on with a schematic. but in generally you don't need anything to program and execute code on those chips.

  1. make sure that your wiring is correct;

  2. make sure that the target is powered;

  3. make sure that your fuse setting is correct;

  4. make sure that the reset of your tools, both hardware / software, are working.

that's pretty much it.

|improve this answer|||||
\$\endgroup\$
  • \$\begingroup\$ So those capacitors are redundant? \$\endgroup\$ – hacker804 Aug 7 '17 at 10:56
0
\$\begingroup\$

I place the IC on top of the pads, I cannot solder it due to some constraints but I am sure this is making a valid electrical connection.

This is a bad assumption. Because the IC has more than 3 pins, its mechanical support is statically indeterminate and it's almost certain that many of the pins will not quite be touching the surface of the pads on your breakout PCB. Think about how a 3-legged stool is stable but a 4-legged stool or table is always at least slightly wobbly.

Furthermore, it looks like the pads on your PCB have been finished with HASL, and the pins on the IC are tin-coated copper. This is common practice and provides corrosion protection during storage, and good solderability. However, it is not a good surface finish for two conductors that are simply in very light mechanical contact, because a thin insulating oxide layer can form which will act as an insulator. Gold or silver would be a better coating.

If you have a good reason not to want to solder the IC (perhaps you're building a production programming fixture and will later be soldering the ICs onto a different board), you can use a pricey Zero Insertion Force socket, or perhaps make up something with sharp springy pogo pins.

|improve this answer|||||
\$\endgroup\$
0
\$\begingroup\$

You probably bend the pins to some extent that TQFP bottom side is making contact before some pins.

If you absolutely do not want to solder it and want to push your chances, you can try bend all the pins slightly inwards so they protrudes forward than chip's bottom casing.

Also, if you are going to do this more than one time (eg. burning a bootloader to chips before soldering), there are TQFP adapters in the market for this exact job.

TQFP adapter

|improve this answer|||||
\$\endgroup\$
  • \$\begingroup\$ Yup. I ordered this one from China. Will update when it gets here, hopefully. \$\endgroup\$ – hacker804 Aug 7 '17 at 10:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.