Can anyone give me the list of microcontroller ICs that I can program using Arduino Uno/Mega's ISP? (I'm done burning bootloader and then uploading sketch on ATMega328-PU (not ATMega328P-PU))
This is not 100% complete .. we need to add Crossroads boards
ok... and thanks man
My programmer, which runs Nick Gammon's code, can program many chip types:
http://www.crossroadsfencing.com/BobuinoRev17/
Link to Nick's code is here
http://www.crossroadsfencing.com/BobuinoRev17/Programmer.html
And all the chips it currently supports:
338 // see Atmega datasheets
339 const signatureType signatures [] PROGMEM =
340 {
341 // signature description flash size bootloader flash fuse
342 // size page to
343 // size change
344
345 // Attiny84 family
346 { { 0x1E, 0x91, 0x0B }, "ATtiny24", 2 * kb, 0, 32, NO_FUSE },
347 { { 0x1E, 0x92, 0x07 }, "ATtiny44", 4 * kb, 0, 64, NO_FUSE },
348 { { 0x1E, 0x93, 0x0C }, "ATtiny84", 8 * kb, 0, 64, NO_FUSE },
349
350 // Attiny85 family
351 { { 0x1E, 0x91, 0x08 }, "ATtiny25", 2 * kb, 0, 32, NO_FUSE },
352 { { 0x1E, 0x92, 0x06 }, "ATtiny45", 4 * kb, 0, 64, NO_FUSE },
353 { { 0x1E, 0x93, 0x0B }, "ATtiny85", 8 * kb, 0, 64, NO_FUSE },
354
355 // Atmega328 family
356 { { 0x1E, 0x92, 0x0A }, "ATmega48PA", 4 * kb, 0, 64, NO_FUSE },
357 { { 0x1E, 0x93, 0x0F }, "ATmega88PA", 8 * kb, 256, 128, extFuse },
358 { { 0x1E, 0x94, 0x0B }, "ATmega168PA", 16 * kb, 256, 128, extFuse },
359 { { 0x1E, 0x95, 0x0F }, "ATmega328P", 32 * kb, 512, 128, highFuse },
360
361 // Atmega644 family
362 { { 0x1E, 0x94, 0x0A }, "ATmega164P", 16 * kb, 256, 128, highFuse },
363 { { 0x1E, 0x95, 0x08 }, "ATmega324P", 32 * kb, 512, 128, highFuse },
364 { { 0x1E, 0x96, 0x0A }, "ATmega644P", 64 * kb, 1 * kb, 256, highFuse },
365
366 // Atmega2560 family
367 { { 0x1E, 0x96, 0x08 }, "ATmega640", 64 * kb, 1 * kb, 256, highFuse },
368 { { 0x1E, 0x97, 0x03 }, "ATmega1280", 128 * kb, 1 * kb, 256, highFuse },
369 { { 0x1E, 0x97, 0x04 }, "ATmega1281", 128 * kb, 1 * kb, 256, highFuse },
370 { { 0x1E, 0x98, 0x01 }, "ATmega2560", 256 * kb, 1 * kb, 256, highFuse },
371
372 { { 0x1E, 0x98, 0x02 }, "ATmega2561", 256 * kb, 1 * kb, 256, highFuse },
373
374 // AT90USB family
375 { { 0x1E, 0x93, 0x82 }, "At90USB82", 8 * kb, 512, 128, highFuse },
376 { { 0x1E, 0x94, 0x82 }, "At90USB162", 16 * kb, 512, 128, highFuse },
377
378 // Atmega32U2 family
379 { { 0x1E, 0x93, 0x89 }, "ATmega8U2", 8 * kb, 512, 128, highFuse },
380 { { 0x1E, 0x94, 0x89 }, "ATmega16U2", 16 * kb, 512, 128, highFuse },
381 { { 0x1E, 0x95, 0x8A }, "ATmega32U2", 32 * kb, 512, 128, highFuse },
382
383 // Atmega32U4 family - (datasheet is wrong about flash page size being 128 words)
384 { { 0x1E, 0x94, 0x88 }, "ATmega16U4", 16 * kb, 512, 128, highFuse },
385 { { 0x1E, 0x95, 0x87 }, "ATmega32U4", 32 * kb, 512, 128, highFuse },
386
387 // ATmega1284P family
388 { { 0x1E, 0x97, 0x05 }, "ATmega1284P", 128 * kb, 1 * kb, 256, highFuse },
389
390 // ATtiny4313 family
391 { { 0x1E, 0x91, 0x0A }, "ATtiny2313A", 2 * kb, 0, 32, NO_FUSE },
392 { { 0x1E, 0x92, 0x0D }, "ATtiny4313", 4 * kb, 0, 64, NO_FUSE },
393
394 // ATtiny13 family
395 { { 0x1E, 0x90, 0x07 }, "ATtiny13A", 1 * kb, 0, 32, NO_FUSE },
396
397 // Atmega8A family
398 { { 0x1E, 0x93, 0x07 }, "ATmega8A", 8 * kb, 256, 64, highFuse, true },
399
400 // ATmega64rfr2 family
401 { { 0x1E, 0xA6, 0x02 }, "ATmega64rfr2", 256 * kb, 1 * kb, 256, highFuse },
402 { { 0x1E, 0xA7, 0x02 }, "ATmega128rfr2", 256 * kb, 1 * kb, 256, highFuse },
403 { { 0x1E, 0xA8, 0x02 }, "ATmega256rfr2", 256 * kb, 1 * kb, 256, highFuse },
Yeah, how do I get my 1284P boards on that website?
Shouldn't Arduino as ISP be able to program any microcontroller that supports ISP programming? So basically the entire Atmel atmega and attiny product lines (excepting some very small tiny's)...
CrossRoads:
Yeah, how do I get my 1284P boards on that website?
It's Wikipedia... You just need an ID to edit.
Ray
DrAzzy:
Shouldn't Arduino as ISP be able to program any microcontroller that supports ISP programming?
Maybe. I believe the STK500 protocol is limited to 16 bit addresses which limits programming Flash to 32 k.
So basically the entire Atmel atmega and attiny product lines (excepting some very small tiny's)...
It is my understanding that the tiniest of the ATtinys does not support Serial In System Programming. I believe "TPI" is used instead.
I think the limit is likely 64 kWords (a.k.a. 128 kBytes), cause the mega1284p seems to work fine with things based on the STK500 (e.g. optiboot, and the ArduinoISP sketch)
I believe the STK500 protocol is limited to 16 bit addresses which limits programming Flash to 32 k
.
I think the limit is likely 64 kWords (a.k.a. 128 kBytes),
Nope: thanks to a clever improvement in avrdude 6.1 or higher, you can program the full 256 kByte range of e.g. an arduino mega. The improvement consists of avrdude sending a "load extended address byte" command before addressing a given memory range. I does this by sending the "universal" stk500 commands.