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?

  • 1
    \$\begingroup\$ did you know you can have Digikey program them for you for $50 fixed + $0.25 a chip or something like that? \$\endgroup\$ – vicatcu Aug 22 '13 at 16:25
  • \$\begingroup\$ @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. \$\endgroup\$ – nsayer Aug 22 '13 at 16:26
  • \$\begingroup\$ @vicatcu Where did you get those prices? Personal experience with them? I can`t find any prices online. \$\endgroup\$ – user2461391 Aug 22 '13 at 20:43
  • \$\begingroup\$ @user2461391 Yes personal experience, contact the custom department and get a quote. For example see the red text here digikey.com/product-detail/en/ATMEGA328P-AU/ATMEGA328P-AU-ND/… \$\endgroup\$ – vicatcu Aug 24 '13 at 2:52

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).

  • \$\begingroup\$ 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. \$\endgroup\$ – nsayer Aug 22 '13 at 16:42
  • 1
    \$\begingroup\$ dont forget 22pF load caps on the crystal too \$\endgroup\$ – vicatcu Aug 22 '13 at 16:44

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.

  • \$\begingroup\$ What in the world does that have to do with the question at hand? \$\endgroup\$ – nsayer Aug 23 '13 at 0:22
  • \$\begingroup\$ Lot of the DIY programmers are entirely open hardware, you can check how others did it. \$\endgroup\$ – jippie Aug 23 '13 at 5:48
  • \$\begingroup\$ 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. \$\endgroup\$ – nsayer Aug 23 '13 at 13:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.