5

I am used to using an AVR ISP programmer to update the firmware on my project. My project is open hardware, and I'd like to offer pre-programmed controllers for sale to save others having to buy a programmer (if they're that stingy).

To make life easier on me, I am going to build a little board with an ISP programming header wired up to a ZIF socket so that I can do this all assembly-line like.

The fuses are going to be set during programming as they would for an Arduino Uno - so they'll be set for a 16 MHz external crystal oscillator.

While programming is taking place, must the crystal be present?

Again, I don't need to actually have the controller run - all of the I/O pins are going to be NC (apart from the ISP ones).

Is it enough to have a 10K resistor between reset and Vcc, a single decoupling cap and nothing else other than the ISP lines wired up?

nsayer
  • 1,543
  • 1
  • 18
  • 35
  • 1
    did you know you can have Digikey program them for you for $50 fixed + $0.25 a chip or something like that? – vicatcu Aug 22 '13 at 16:25
  • @vicatcu No, that's good to know. However, I don't think I'm going to have sufficient volume to justify that at first. And yet, I am considering building a ~$30 thing to do the job. Go figure. – nsayer Aug 22 '13 at 16:26
  • @vicatcu Where did you get those prices? Personal experience with them? I can`t find any prices online. – user2461391 Aug 22 '13 at 20:43
  • @user2461391 Yes personal experience, contact the custom department and get a quote. For example see the red text here http://www.digikey.com/product-detail/en/ATMEGA328P-AU/ATMEGA328P-AU-ND/1832260 – vicatcu Aug 24 '13 at 02:52

2 Answers2

3

Best thing to do would be to design your programming board to include a 10k ohm pullup on Reset and a 100nF capacitor near the VCC pin of the chip (whether or not you populate them, but you might as well for a manufacturing jig). Some ISP programmers require the chip to be powered separately as well. You do not need any crystal circuitry in place for programming a blank off the line AVR (as they come running off the internal oscillator), but if trying to reprogram a chip that is fused for an external crystal, you will need a comparable crystal and load capacitors in circuit (unless you use a high voltage programming mode).

vicatcu
  • 22,499
  • 13
  • 79
  • 155
  • Good to know. I will include the crystal. I was going to populate the resistor and capacitor, definitely. And I do envision a need to reprogram chips - if I have an inventory of programmed ones and release a new firmware version, I'll want to redo the inventory. – nsayer Aug 22 '13 at 16:42
  • 1
    dont forget 22pF load caps on the crystal too – vicatcu Aug 22 '13 at 16:44
2

Enter avrdude -cv on the command line and you'll get a list of programmers that avrdude supports. There is at least one that is based around an ATtiny and a UART<=>USB cable, but I forgot exactly which one. Google is your friend, there are professional programmers and DIY programmers, both at various prices and features.

jippie
  • 33,033
  • 16
  • 93
  • 160
  • What in the world does that have to do with the question at hand? – nsayer Aug 23 '13 at 00:22
  • Lot of the DIY programmers are entirely open hardware, you can check how others did it. – jippie Aug 23 '13 at 05:48
  • Yes, but ALL of the DIY programmers I've found are ISP programmers - they program a chip that is in a working circuit. I have not found any that program just a bare chip. That's what I'm trying to make here. – nsayer Aug 23 '13 at 13:48