I've built a few boards by hand that functioned as Arduino clones: an ATMega328P, a crystal, some capacitors and a pull-up resistor, wired up as necessary on a piece of stripboard. These boards worked fine, as have equivalent breadboarded circuits. I didn't use a solder tail, just soldered the microcontroller onto the board.
Now that I am trying to develop PCBs, however, I've run into problems. Specifically, neither of the two boards I've tried to assemble so far have worked. I've tested each of the power and ground leads with a multimeter, poked at the interrupt line and TX/RX, and it all appears to be hooked up correctly, but avrdude can't get the board to respond. Nothing happens. When I plug the same USB interface into an apparently equivalent circuit on a breadboard, it works fine.
The two PCBs are not variants of each other - I started from scratch on the second board, since it's for a different project. In both cases I tested the ATMega328P in a standard Arduino beforehand and verified that I could program it, but after soldering it onto the board I get nothing.
The only things I can think of that the boards have in common are that they are both 2-layer PCBs with a filled plane on top for power and a filled plane on bottom for ground. (Yes, I've tested the planes and both have the expected voltage.) Obviously this is not true of my one-layer stripboard project or the breadboard circuit. Is it possible that this filled-plane design is causing problems? I'm a software guy, not an electrical engineer, so I'm kind of just guessing.
Have you run into problems like this? How did you figure out what had gone wrong? I am looking for debugging tips, experiences of common failures when trying to make a custom PCB with an Arduino-derived controller circuit, suggestions of things to check.
Is it possible that I've melted the microcontroller? Neither of the two stripboard projects used a solder tail and I had no trouble just soldering the chips in, but maybe I did something differently this time without realizing it. Is this a realistic concern?
One of the boards has a JTAG connector; the other one does not but I could solder wires onto the SPI and reset pins to create one. I also have a USB->JTAG interface, though I've never used it. Is there any kind of chip diagnostic I could run if I were to set this up?
Thanks for any suggestions or experiences you can offer!