I bought a bunch of pre-bootloaded 328 chips from Adafruit. I'm looking for the simplest, most efficient way to program them.
Does it make the most sense to simply pop out the chip from an Uno and insert the chip every time I need to program it?
There are obviously TONS of home-made projects that can do programming, why is there no such thing as a pre-assembled board you can buy, with a ZIF socket, where you can connect USB and easily program chips.
I did buy an Arduino ISP shield off of Ebay a while back though as you can't use the UNO with ZIF socket above to program an ATTiny or a 1284p.
So now I have a cheap China Uno clone and the ISP shield permanently stuck together and I use that if I need to program a chip.
I'm currently building an adaptor so I can put a Pro Mini onto pogo pins and program that in the same way.
I just use a USBASP, and made boards to accomodate ATMega328P, ATtiny85 and ATtiny84 chips. The boards don't need to be etched, and can easily be knocked up on veroboard or similar prototyping boards.
Only a little messing around to make the boards, USBASP programmers are cheap, and then you're set up forever with no messing around, and no need for a bootloader. (You still do the "Burn Bootloader" step, though, to set the fuses.)
With the right cores installed, you can use internal or external oscillators and set most fuses to suit the project.
This pic shows the ATMmega328P and ATtiny85 programming boards and the USBASP programmer. (I hadn't made the ATtiny84 board yet when it was taken.):-
All those pictures look very complicated. I just program mine with an FTDI cable. I have a few header pins on my PCB or breadboard and I can connect the cable easily when needed.
The "modern" way of doing it is "in-circuit programming". That is, build the circuit board and program the chip AFTER it's installed/soldered.
That's how you program a normal Arduino, except that with the bootloader you can use the USB port so you don't need a separate programmer. If you're buying bootloaded ATmega chips and your circuit board has a USB port, I'd suggest you program you Arduino the normal way...
One of the slickest things about the Arduino is that the Arduino board is also a programmer!
Where I work we have some older products where the flash and PLD are programmed in stand-alone programmers with ZIF sockets. Then, the programmed parts are installed in sockets on the production board.
Our newer products are in-circuit programmed using a separate JTAG programmer. The only "extra" hardware on the production board is the JTAG header.
If you make or buy a programmer, you can do the same kind of in-circuit programming and you won't have to buy bootloaded chips. That's what I suggest if your final-board doesn't have a USB port and/or your chips don't have the bootloader pre-programmed, or if there's some other reason you can't do it the normal way...
One can also use a standalone programmer. I worked with Nick Gammon for this one - put your file on SD card, connect to the ICSP header, select the program (0 to F or 00 to FF depending on the programmer, I have both single display and dual display), and press Start: http://www.crossroadsfencing.com/BobuinoRev17/
That card supports has buffered 3.3V outputs also, so 3.3V cards can be programmed by putting the ribbon cable on the other target header.
I have a 3D printer coming also, will see if I can come up with a case for it.
@OldSteve
I hope those inline holes are not in your kitchen table
All those pictures look very complicated.
Not that bad. You do have to commit a dedicated 328 to do the programming, i.e. solder a socket to its pins.
The zif makes it very very easy to burn boot-loaders once this circuit is made up.
No PCB needed.
CrossRoads:
So "elders" are folks 10-15-20 years older than me now?
I think printing is slow enough that doing our own creations will be time consuming enough.
Oh oh, sounds like you are getting up there It happens to all of us.
I think I'll probably be sticking with wood and glue. And CNC.
BTW, We are are preparing to send Boston a load of the white stuff, keep your snow blower handy.