The PERFECT Arduino Programmer.

The Perfect programmer would have to be an Atmega328p (or if it's possible to fit the ISP sketch and change the pin configuration... an Attiny85) on a PCB board.

Ideally the perfect flavor would consist of a a ZIF Socket for the chip to be programmed either an Attiny series or an Atmega328p, mounted on the board would have to be a 5v regulator, a USB input and a Mega8u2 and obviously the pre programmed with the ISP sketch on either an Attiny (if possible to keep costs down) or an Atmega328p.

(The user using it)
End Result - You place the chip to be programmed into the ZIFF socket, you plug in your USB cable, go to Arduino, select your chip to be programmed (eg attiny85) select Arduino as ISP, now upload your blink sketch and use pins accordingly.

you'd be able to carry it around with you and a couple of chips, and program anytime anywhere! - please tell me this has been done :slight_smile:

Certainly it has been done... in your mind... flesh it out and make it real, Then make it Great.. That's what a good design engineer does.

Bob

The problem with that approach is that every time you want to modify the program in your home-made board, you need to remove the microcontroller and put it in the programmer. Then move it back again before you can test the new program. You'll probably find that the program isn't quite right, so you modify the program and repeat the process a number of times. And you can't use SMD microcontrollers this way.

It's more practical to put an ICSP header on the board and program/reprogram the chip in-situ.

dc42:
The problem with that approach is that every time you want to modify the program in your home-made board, you need to remove the microcontroller and put it in the programmer. Then move it back again before you can test the new program. You'll probably find that the program isn't quite right, so you modify the program and repeat the process a number of times. And you can't use SMD microcontrollers this way.

It's more practical to put an ICSP header on the board and program/reprogram the chip in-situ.

That's how I program the ATTiny's i currently have? (lift them in and out when done, that's the point of a programmer?)... How do you go about it?

Besides, I could use a row of male/female header pins on the output/inputs of the chip you're programming or even a few LED's with 300 ohm resistors in series to prevent it interfering when flashing over SPI.

cjdelphi:
How do you go about it?

I always include a 6-pin ICSP header in my board designs, whether I'm using stripboard or a PCB. I build them with a new, unprogrammed atmega or attiny chip. I'm careful that the SPI pins are not used to drive any heavy loads, or connected to ground or Vcc via rotary encoders or other switches that might not be open during programming, or driving any devices that might be upset by the signals present during programming. After completing and inspecting the board, I program the chip in-situ using an ICSP. I used to use my Arduino as the ICSP, but now I have an AVRISPmkII. If I want to change the program, I just reprogram the chip in the same way.

What about something like this? http://aztecmcu.com/catalog/i105.html

I use mine so much I have dedicated an older Duemilanove to it.

Putting an ISP connector onto your board is another way to go, but you still need a programmer. I would imagine you also need to allow for ISP in your circuit design. You could easily have things attached to the SPI pins that would prevent you from using them for ISP.

dc42:
The problem with that approach is that every time you want to modify the program in your home-made board, you need to remove the microcontroller and put it in the programmer. Then move it back again before you can test the new program. You'll probably find that the program isn't quite right, so you modify the program and repeat the process a number of times. And you can't use SMD microcontrollers this way.

It's more practical to put an ICSP header on the board and program/reprogram the chip in-situ.

Doesn't have to be a either or situation. Just have the 'programmer' have both the ZIP socket and a six pin ISCP male header pins so a simple IDC cable would work for external target chips. That somewhat how I have my USBtiny programmer setup with a small header board for a mounted ZIF 28 pin for 328p chips, or just move the ICSP IDC cable to a external target board. Of course I can't handle ATTiny chips on the ZIP. One also has to make provisions or work around the need to power the target chip either by programmer supplying Vcc or allowing the target to supply Vcc. The USBtiny programmer has a jumper chip for that option.

Lefty

Good use of rubber bands. :slight_smile:

liudr:
Good use of rubber bands. :slight_smile:

Yep, but I got some Velcro sticky back stuff if I ever get around to it. =(

Lefty