Custom PCB program uploading problem

I designed a PCB For a 9x9 led matrix display. I used a Atmega 328 AI TQFP microcontroller and connected it using the same schematic as the Arduino mini. While uploading to the board using a sparkfun 5v ftdi programmer, I recieved the following:

Verbose Output:

avrdude: Version 5.4-arduino, compiled on Oct 9 2007 at 11:20:31
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

System wide configuration file is "/Volumes/Arduino/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/CaseyGross/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/tty.usbserial-A700fbGW
Using Programmer : stk500v1
Overriding Baud Rate : 57600
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv: . [f6]
avrdude: stk500_getsync(): not in sync: resp=0xf6
avrdude: Send: Q [51] [20]
avrdude: Recv: W [57]
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x57

avrdude done. Thank you.

This is my schematic for the board so you guys can check to see if its a hardware problem

Did you put a bootloader on the part?
If not, need to start with that using an AVR ISP programmer, connects to +5/Gnd/Reset/MISO/MOSI/SCK

100nF caps between the Vcc pins & Gnd would have been good, especially when switching larger currents for LEDs.

You have a 328, or a 328P? They have different signature bytes, might be a factor also.

ATmega328 0x1E 0x95 0x14
ATmega328P 0x1E 0x95 0x0F

Its an atmega 328p. I used an atmega 328p-AU chip from an arduino mini.

Thank you for the quick response!

Try uploading using a manual reset.