USBTiny and MK2 burned out when using ISP

okay so imade a little dev board
it has a 328p driving an lcd
and another zif socket to program a separate 328p

Ive been using it just fine and it uploads my hex files just fine
but last night it burned my only two programmers

I wonder perhaps my understanding of how to wire ISP is wrong?

I assumed the VCC pin of an ISP header goes to the same source that the 328p is getting power from, or does it go to the Power Pin of the uC?

i have provided the image of the board layout, sorry no schematic.

Normally my usbTIny is able to power up the uC , but the MK2 always give me an error and says the device voltage is not where it needs to be so it obviously doesnt power the uC so i have to power it up form another source
with of course common grounds.

an input voltage of 9v is being applied to 7805
and from there i power the chip

and the port that the isp is on is not being used for anything, only portc to drive the lcd

its weird because you figure if something was wrong it wouldnt upload my hex files , but it did,
perhaps leaving the isp header connected while turning on the board fried my USBTINY
but why did it fry the MK2 if it REQUIRES the chip to be externally power since it does not give it juice.

I would really appreciate some insight since i plan to get more programmers now and keep using the board
or make another one but if my understanding of how to route the ISP is wrong then this will become a rather expensive lesson to learn

eddiea6987:
i have provided the image of the board layout, sorry no schematic

Other side?

eddiea6987:
Normally my usbTIny...

USBtinyISP? From adafruit?

It looks OK to me, that's the top view, right? Pin 1 of the ICSP header being on the top left?

You are right, the AVRISP MK2 requires you to provide power to the chip you are programming.

Are you using the recommended value and type of input and output capacitors on the 7805? I'm wondering of there is the regulator may be oscillating.

Another possibility is that you had a ground loop between the 9V supply and the PC that was programming the Arduino, and that something else in the house caused a ground transient. To guard against this, you can use a battery to power the board when programming, or run the power supply and PC (and nothing else) from the same socket block.

there is no other side , its a single sided layout , the rest of the layout if thats what your asking for is just another 328p set up with a zif socket ,
being that the entire board works flawlessly and my hex files upload just fine i am beginning to think it indeed has to do with the grounds , i will try the
battery approach as stated ,
or perhaps power the board via the PC's USB while programming that way there will not be a grounding issue.