Electronic – In-place programming of ATtiny85

attinyattiny85isp

I've been playing around with an idea for a little hand-held gaming device using a Nokia 5110 screen and an ATtiny85.

The ATtiny is programmed using my Genuino UNO as ISP.

I was wondering if it's possible/sensible to include a breakout connector on the attiny pins so I can just plug it in whenever I want to update the code, rather than having to remove it from the gaming device? I'm worried about how signals from the ISP would interfere with the other devices connected?

I used Fritzing for the very first time to create a diagram of what I'm thinking of so far (I've breadboarded parts of it with the UNO instead of the ATtiny, and I haven't actually tested sharing the clock & data pins with the 3 controllers yet! The real thing would have more buttons and LEDs!)

enter image description here

Best Answer

Yes, it is very common to put a 6-pin ISP header on your board to allow the AVR to be reprogrammed in place. Even the Arduino has one of these on it.

Here is a nice application note from Atmel describing the typical pinout of the header along with some suggestions on how to make sure there will not be conflicts with the normal operation of the programming pins...

http://www.atmel.com/images/doc0943.pdf

If you plan on mass producing the board, you can even avoid needing the header by using this handy connector...

http://dangerousprototypes.com/2012/12/10/isptouch-header-less-isp-connector-for-avrs/

...or this one...

http://www.tag-connect.com/

Finally, you can connect directly to the chip itself using a chip clip like this ...

http://www.amazon.com/8-Pin-Gold-Plated-SOIC-Spacing/dp/B00DDE7N3C