3

I've assembled some PCBs that I had made, and I'm unable to get the ATmega2560 to respond to programming via the ICSP header. On the third board I'm trying, I have soldered on only the MCU, the ICSP header and a reset pull-up resistor.

Here are the things I've checked:

  • No shorted pins
  • Supply voltage to all the Vcc pins
  • Ground connection to all the GND pins
  • MOSI, MISO, SCK and RESET all have continuity from the header to the pins
  • The programmer works (tested with an Arduino Mega 2560)
  • That ATmega2560s are shipped with the fuse bits set to use the internal oscillator

The DSO shows RESET going low, clock, and MOSI coming in, but no MISO goes out.

What else could I check?

Isvara
  • 514
  • 4
  • 20
  • 2
    Is the `SPIEN` fuse programmed? – Ignacio Vazquez-Abrams Oct 16 '13 at 04:15
  • 2
    did you already use of the MCU? are you sure that it's intact? can you put a picture of your PCB? is the source oscilator internal or external? – Roh Oct 16 '13 at 05:18
  • It's fresh out of the package. Oscillator is internal by default. I'll check what the SPIEN default is, but it must be programmable by default. – Isvara Oct 16 '13 at 06:11
  • 1
    I hope You have checked RESET and VCC is Proper or not? Check the errata in page 431 has lot of known issues. one is IC will not work under 2.4V. One more thing is CHeck any output signal from IC to confirm IC alive or not? like Port F ("pull-up resistors on pins PF7(TDI), PF5(TMS), and PF4(TCK) will be activated even if a reset occurs.") – user19579 Oct 16 '13 at 09:08
  • 1
    there can be problems due to bad soldering (shorts with multiple pins), Check the impedance of critical pins like VCC,RESET. check impedance of other IO pins randomly – user19579 Oct 16 '13 at 09:37
  • 1
    Is the PCB masked? If not, is there a possibility of a short under the chip? Is there voltage between all the ground and vcc pins around the chip when it's powered up? Just checking continuity might not be enough - make sure power is getting to the chip. Also, check for loose pins. It may be that when you test them you're pressing them down onto the pad with the probe, but they aren't actually all soldered down completely. Check for a good solder filet on each pin. – Adam Davis Oct 16 '13 at 15:45
  • I've checked the voltages when it's powered up, and that they're not present on the adjacent pins. I specifically did this by probing the top of the pins to make sure I wasn't measuring the pads. The board is masked. – Isvara Oct 16 '13 at 16:15
  • 1
    Whether PortF pins are showing same behavior like TDI,TMS and TCK are HIGH? – user19579 Oct 17 '13 at 10:07
  • @user19579 TDI, TMS, TDO and TCK are all high. – Isvara Oct 17 '13 at 17:29
  • Happy to hear... – user19579 Oct 18 '13 at 05:34

1 Answers1

0

Okay, I figured out the problem. It was simply that avrdude was trying to communicate too quickly for the default clock (8MHz internal oscillator divided down to 1MHz). Adding the -B 3 option to avrdude to set the bitclock fixed the problem (insofar as it responds with the right device ID).

Thanks to @user19579 for the Port F hint that convinced me it was powered up okay.

Isvara
  • 514
  • 4
  • 20