Programming devices in a conveyor belt fashion?

Go To Last Post
12 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello,

Does anyone have any suggestions for a tool that could be used for programming AVR devices in a conveyor belt fashion, i.e. so that you just plug in a device and click program, detach it and plug in the next device, click program, etc (command line would do as well). JTAG is the preferred programming interface but hints for others are welcome, too.

AVR Studio has a feature suggesting that such use has been considered, but it doesn't seem to work quite. The last tab in the programming window says "Auto", enabling programming, fuses and lock bits with a single click, but: you can't save and load programming settings and when you swap device you'll have to connect again and do the settings all over again.

Thanks for any advice you can give.

-Vesa

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Check out buttload, its a portable programmer, you upload the hex to a butterfly via avrisp, and then you can program an avr anywhere with it, and just keep switching avrs out and upload the same hex.

www.fourwalledcubicle.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the hint, I put that in store for possible serial-programmable implementations in the future.

Vesa

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think POnyProg can do what you're asking for, it has a feature where you can decide if you want to program fuses and eeprom etc. You still have to turn off Vcc to AVR before switching to another chip.
I don't know if you can use JTAG with PonyProg, I use serial interface (ISP).
http://www.lancos.com/prog.html

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The stk500 module in avrstudio has a command line interface nnd can be called from a batch file with different paramaters, etc. Run the exe in a console window to see the options

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
you can't save and load programming settings and when you swap device you'll have to connect again and do the settings all over again.
I do lots of Mega 8 this way. I have a ZIF socket mounted on veroboard (with the rest of the necessary bits). You will only need to setup your fuses and lockbits once at the beginning of the programming session...AS LONG AS you don't change pages from the Auto programming otherwise Studio will read the fuses or lockbits and mess up your programming. Another way of "saving" your setting is to keep a programmed chip on hand with the correct fuses and lockbits, then let Studio read the chip and use it as a template.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Before looking for a real unit to do this task give a clue as to budget and quantities. There is equipment made for this but most users of small microcontrollers are too narrow in their view point to spend money on one.

Yes I am getting grumpy!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bitbasher wrote:
...but most users of small microcontrollers are too narrow in their view point to spend money on one.

Narrow???

That statement in itself is a very narrow minded statement!

Maybe its just got more to do with my narrow minds understanding of my budget then anything else...

I'd be inclined to make that type of statement about most people not wanting to buy books on the basics like electronics and programming but...

I've bought my share of programmers over the years - they can get quite expensive, especially compared to the cost of an STK500 or ATAVR-MK2. And to be honest, I'd rather spend my money on books!

How about just doing what JS suggested... If you want JTAG, get a Dragon. If the microcontroller you are using is supported by the Dragon, it has a proto-area where you could make a perminent programming fixture dedicated to the microcontroller that you are programming.

Otherwise, you can use an STK500 or an ATAVR-MK2 with a little jig and a ZIF socket.

You can avoid reality, for a while.  But you can't avoid the consequences of reality! - C.W. Livingston

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey,

You could also look into avrdude - a command line programmer interface.

-Colin

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Carl
When I say narrow I mean narrow. If you are looking at a conveyor belt of units you just do not want to mess about with development kit. Have a look at the cables that come with the Jtagice and other such tools and they will not stand up to the rigours of a production line.

Yes I am getting grumpy!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OK, so maybe I don't quite understand what you are looking for, but how about building yourself a small programming fixture using pogo pins? Then wrap AVRdude in a script.

I'm thinking here of a dumb board that brings out a header that a plain old AVRISP II can be plugged into once and for all and never unplugged until you wear it out and replace it. The header is routed to pogo pins that are placed somplace where it is convenient for you to put pads or vias on your production board. Then build a frame for the fixture that locates your board precisely and holds it against the pogo pins. Thes could be machined stainless steel or MDF and hot melt glue, depending on your budget and who you are trying to impress.

Final step is to create a production programming script as a wrapper for AVRdude that puts up a nice prompt that says: "Hit enter to program."

Seems to me that if you do this, then all the nice ladies on the programming line will have no problem putting in a board, hitting enter, removing board, lather, rinse, repeat, all shift long. And it is cheap. And it reduces your manufacturing cost by getting rid of the header and replacing it with pads.

Is this what you had in mind?

-dave

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:
I do lots of Mega 8 this way. I have a ZIF socket mounted on veroboard (with the rest of the necessary bits). You will only need to setup your fuses and lockbits once at the beginning of the programming session...

Thanks for sharing that idea. It inspired the following solution, which we implemented: We tampered with the flat cable between the JTAG and the circuit board so that the JTAG gets power (Vcc & GND) from another cable even if the circuit board is disconnected. According to preliminary tests, it works OK!

That was done using an Olimex USB JTAG and some circuit boards with ATMega32 MCUs and AVR Studio as the PC software.

Thanks to everybody for your input and ideas. The problem seems happily solved. :-)

Vesa