Programming virgin atmega328p (32tqfp) with USBtiny problem

My project seemed simple:
I have a breakout board for atmega328p (tqfp). I'm using a 16MHz oscillator with the prerequisite 16pF caps. I'm connecting only the 6 pins from the programmer.
I'm using Arduino SW 1.8.8 using the usbtiny programmer from Sparkfun.
I set the board to Arduino Pro, or Pro Mini.
I made 4 boards. 3 of them I get the response "avrdude: Device signature = 0x000000"
one of them gets "avrdude: Device signature = 0xffffff"
I beeped them all, no accidental connections to GND or VCC.
I also tried using a simple ceramic oscillator, as well as no external oscillator. No difference.

The chips are from Digikey, not eBay. They're ATMEGA328P-AURCT-ND
The programmer works, I can program the same chip on a redboard.
I've done the same thing years ago without any problems. What the blazes am I doing wrong?

The crystal doesn't matter when you attempt to flash the bootloader since the factory default fuse settings use the internal rc oscillator. If avrdude doesn’t run, it’s still set for internal rc clock.

What’s wrong is anyone’s guess since you posted no documentation.

Sorry- what documentation is missing? I was trying to list all pertinent info that I could think of.
I was just trying to burn a sketch (blink) no bootloader.

The schematic is very simple:
MOSI connected to MOSI (15)
MISO connected to MISO (16)
SCK connected to SCK (17)
/RES connected to /RES (29)
GND to GND (3 & 5)
VCC to VCC (4 & 6)
Pullup to +5V on /RES
And there’s a 100nF decoupling cap on the board near VCC/GND

It would be helpful to see a picture of the board and a schematic.

WattsThat:
The crystal doesn't matter when you attempt to flash the bootloader since the factory default fuse settings use the internal rc oscillator. If avrdude doesn’t run, it’s still set for internal rc clock.

It does matter. Depending on which board is used, via IDE, the fuses go first so the MCU can be bricked immediately.

It really is JUST a breakout board. See attached. I thought I screwed up the soldering, used too much heat and bricked the chip etc. The last one I soldered at 250°C, applying heat for less than 10 seconds per side. Probably more like 3 seconds. I don’t see how I could have over-heated the chip. I’ve soldered worse with higher heat for much longer. Every leg I use beeps through OK.
What really baffles me is that I used the exact same breakout board and programmer years ago with the same chip. Made a few of them. No problem with a single one.

TQFP Breakout.png

The goal here is to create the circuit in the attachment. I had 3 PCBs made, installed just the 328p, some caps and the oscillator on one of them. Tried to program with “blink” and no communication. That’s when I started using the breakout boards to see if I maybe screwed up the schematic.

Atmega 328p and Max31865.pdf (93.1 KB)

Both the reference schematic and breakout board photo are missing the 10k reset line pull-up. In addition, the datasheet recommends Avcc(18) and the Agnd(21) pins be connected even when not in use.

Which board (plus processor and clock options if available) are you selecting in the IDE for the bootloader upload?

FWIW, I just tested a 328PB in an Uno with the Avcc(20) and Agnd(22) pins lifted. I was able to flash a bootloader and then download to it via serial. It ran a blink sketch okay. Your mileage may vary...

I normally test the ISP program attachement in Avrdudess by asking it to scan for and identify the microntroller attached to the ISP.

With some wiring setups, and maybe the connecting wires from programmer to microcontroller were too long, I have ocaisionaly had inconsistent results with most of the common ISP programmers.

The one that always works, and its because you can slow it right down by reducing the ISP frequency, is the Pololu one.

Not sure if reducing the ISP frequency functionality exists in the other ISP programmers.

The schematic shows a cap between the isp reset pin and the avr reset pin. That’s wrong.
I can’t tell what going on on the breakout board.