Tuesday, 26 September 2017

attiny - In-place programming of ATtiny85


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



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


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...