Go Down

Topic: Most efficient way to program bare 328 chips (Read 2855 times) previous topic - next topic

osmosis311

Back again with another n00b question.

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.

What's the best path forward?

Thanks!

larryd

No technical PMs.
The last thing you did is where you should start looking.

osmosis311

Would these work?

http://www.ebay.com/itm/New-Tiny-USBASP-AVR-Programmer-Adapter-10-Pin-Ribbon-Cable-USB-ATMEGA8-ATMEGA128-/171281699831?hash=item27e12f53f7

http://www.ebay.com/itm/AVR-Minimum-System-Development-Board-ISP-Atmega16-Atmega32-NO-Chip-/281329298082?hash=item4180886aa2

larryd

No technical PMs.
The last thing you did is where you should start looking.

osmosis311

Is there anything wrong with simply using an Uno to program 328 chips as needed?

billhowl

#5
Sep 27, 2015, 02:45 am Last Edit: Sep 27, 2015, 02:46 am by BillHo
Is there anything wrong with simply using an Uno to program 328 chips as needed?
Yes, you can put a ZIF socket on the Uno to program 328 chips as needed.


osmosis311


retrofiesta

^^
That's what I've done with mine! :)

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.

Jason.

larryd

#8
Sep 27, 2015, 05:49 am Last Edit: Sep 27, 2015, 05:58 am by LarryD
Bootloading chips with Nick Gammon's bootloading program:




No technical PMs.
The last thing you did is where you should start looking.

GoForSmoke

Bravo Larry!

What's the velcro on the USB port box for? That's where I ground my jumper-buttons.
1) http://gammon.com.au/blink  <-- tasking Arduino 1-2-3
2) http://gammon.com.au/serial <-- techniques howto
3) http://gammon.com.au/interrupts
Your sketch can sense ongoing process events in time.
Your sketch can make events to control it over time.

OldSteve

#10
Jan 12, 2016, 02:11 pm Last Edit: Jan 12, 2016, 02:17 pm by OldSteve
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.):-

Please do not PM me for help. I am not a personal consultant.
And others will benefit as well if you post your question publicly on the forums.

Robin2

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.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

DVDdoug

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

larryd

Quote
What's the velcro on the USB port box for? That's where I ground my jumper-buttons.

Insulation between the UNO and its shield, if used.

No technical PMs.
The last thing you did is where you should start looking.

CrossRoads

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/
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up