Pages: [1]   Go Down
Author Topic: The PERFECT Arduino Programmer.  (Read 570 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Edison Member
*
Karma: 29
Posts: 2345
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley
Logged

Anaheim CA.
Offline Offline
Faraday Member
**
Karma: 46
Posts: 2865
...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

--> WA7EMS <--
“The solution of every problem is another problem.” -Johann Wolfgang von Goethe
I do answer technical questions PM'd to me with whatever is in my clipboard

United Kingdom
Offline Offline
Tesla Member
***
Karma: 223
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Edison Member
*
Karma: 29
Posts: 2345
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Offline Offline
Edison Member
*
Karma: 29
Posts: 2345
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

United Kingdom
Offline Offline
Tesla Member
***
Karma: 223
Posts: 6593
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Windy City
Offline Offline
Jr. Member
**
Karma: 0
Posts: 90
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

Logged

Dirt Biker

Left Coast, CA (USA)
Online Online
Brattain Member
*****
Karma: 361
Posts: 17259
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Central MN, USA
Offline Offline
Tesla Member
***
Karma: 72
Posts: 7171
Phi_prompt, phi_interfaces, phi-2 shields, phi-panels
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Good use of rubber bands. smiley
Logged


Left Coast, CA (USA)
Online Online
Brattain Member
*****
Karma: 361
Posts: 17259
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Good use of rubber bands. smiley

Yep, but I got some Velcro sticky back stuff if I ever get around to it.  smiley-cry

Lefty
Logged

Pages: [1]   Go Up
Jump to: