I am using attiny88 and the usbasp programmer. Right now I am burning 1 micro at a time. But it is a time-consuming process during the production. Is there any way to burn multiple microcontrollers at a time just using 1 programmer? If I want to roll out my own software to do such a thing, what should be the procedure to do so and what are the thing will I need? Thankyou
Is there any way to burn multiple microcontrollers at a time just using 1 programmer?
If your micro uses JTAG as its programming interface, and you can arrange to connect the micros you want to program together in a JTAG chain, you may be able to do this. I'd be surprised if the software that comes with the vendor's programmer supports it, though.
Some other options:
Get a gang programmer and program the parts before loading them on the board.
Make a pogo-pin fixture to speed up connecting and disconnecting the programmer from the board, and speed up your existing process.
Hire a programming service to program the parts for you. Your assembly vendor can probably either do this or recommend a third party to do it. This can be reasonable for batches of maybe 50 or 100 or more parts.
Order the parts pre-programmed. This is probably only reasonable for batches of 5,000 or more parts.
It sounds to me like you produce smaller batches that do not justify buying expensive programming equipment.
We usually have the controllers pre-programmed by the manufacturer. For your Attiny88, check out microchipdirect.com
Microchip offers free samples of the programmed devices. Labeling is cheap, too. I recommend printing the 4-digit firmware checksum on the device so that you can check later in what state the Attiny is. At least have a color dot on the device so that you can verify if the device is programmed at all.
This way you can also avoid mounting exoensive programming connectors on you board. This alone will compensate for costs of pre-programming. (Better have the connector footprint in your layout, though, you might need it later to fix bugs in produced batches.)
As mentioned in other answers, there are several options to increase flashes per hour:
- A gang programmer.
- Multiple programmers and a bit of software to operate them.
- Standalone programmers. (eg: ISPnub)
- A bootloader with one-to-many support.
Regarding the bootloader, for one product I've developed a CAN-bus bootloader that supports multiple nodes while only transmitting the actual binary once. With a binary of half a MB this saves a lot of time.
But since you have an ATtiny88 I suspect this is beyond the capabilities.
Other methods are to only flash a tiny bootloader during production and load the final firmware during testing. This also allows to stock produced units and flash the latest firmware right before shipping.