Apologize if there are another similar question posted before.
I have an arduino UNO wich I use to programm the bootloader into an Atmega328P-AU (32 TQFP), but before I program the arduino UNO with the ArduinoISP sketh and run "burn bootloader" option, I have the next answer:
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
I'm using an external 16MHz crystal with two 22pF caps. Also, the PC6 pin (RESET) is connected to a 10uF cap to ground.
Additionally, I checked the connection acording to the next convention:
Digital pin 13 arduino UNO -> pin 17 SMD chip (SCK)
Digital pin 12 arduino UNO -> pin 16 SMD chip (MISO)
Digital pin 11 arduino UNO -> pin 15 SMD chip (MOSI)
Digital pin 10 arduino UNO -> pin 29 SMD chip (CS)
5V -> VCC
GND -> GND
You'll get 0x000000 from both wiring problems, OR if the chip is set (via the fuses) to use a crystal, but no crystal is present.
For example, if you build a standalone '328p-pu, intending to use the internal 8mhz oscillator (I don't recommend this - it's so poorly calibrated that serial may not work), and then choose Uno as the board and do burn bootloader, the first step of the process will set the fuses, then it leaves and re-enters programming mode to write the bootloader to the flash - at this point, if you didn't have a crystal, but had a board that used one selected, you'll get the 0x000000 signature. This is a very common way to soft-brick atmega's (you need to either put a crystal on, supply an external clock signal, or use HV programming to revive them at that point) - I recommend using MiniCore instead of the stock board defs when working with standalone boards.
It sounds like this is a custom design - are you sure you didn't mess up the board design? Post the schematic and layout if you want someone to check it. Lots of people forget the decoupling capacitors, but the '328p doesn't work reliably without them.