Unable to program Arduino Uno R3 via USB

I have recently purchased 20 Atmega328p-pu microprocessors.
I have on many occasion programmed them using my Arduino Uno as the AVR Programmer.
I recently purchased a USBTinyISP AVR programmer and have tested it on my Uno and all my individual processors by uploading the blink sample application via the ICSP connector. I am using the 1.0.6 IDE and am no longer able to upload sketches to my Uno or processors unless I use the USBTinyISP to do it. I get the sync 0x00 or 0x30 errors. I have spent one hundred attempts and several evening so far trying to figure out what happened.

The only thing that I can guess is that using the USBTinyISP changed all the chips to use external clocks only and I do not have any crystal oscillators. Again, this is a guess. I'm not all that familiar with the internal fuses of the processor.

Does anyone know how I can change all my processors back?

Thank you in advance.

You've probably overwritten the bootloaders on your processors. You can probably write them back using the USBTinyISP AVR but instead of picking an example sketch, use the bootloader code for the processor in question.

Set up the new processors on a breadboard, use a working Uno to provide a clock signal while you program the new parts with the AVR programmer. Be sure to select a board type that uses internal oscillator.

The processors no longer work on a breadboard. I programmed them with Blink while they were in the Uno R3, but then when I breadboard them and hook up a LED it does not blink while connected to pin 13. I'm not sure if something changed between versions of the IDE, but stuff isn't working as it once did. All help is appreciated.

I was able to revert my 2560's back and can program them via the USB port now but none of my 328's can be updated unless I put them in the UNO and update them via the ICSP header.

Hi,

The processors no longer work on a breadboard. I programmed them with Blink while they were in the Uno R3, but then when I breadboard them and hook up a LED it does not blink while connected to pin 13.

So they still work back on the UNO board.
If so, can you post a circuit diagram of your breadboard circuit please, CAD or a hand drawn circuit in jpg, png or pdf format.

Thanks, Tom..................... :slight_smile:

Yes, they all work if I put them back into the UNO

I have 5 volts on pins 7 and 20, GND on 8 and 22. 100 Ohm resistor on 19 going to the leg of an led with the other leg going to ground.

Hi, have you fitted crystal and caps? They are needed.

Tom... :slight_smile:

I think you need to load a bootloader for a board type that uses the internal processor while the chips are loaded in the Uno so there is a clock source.
None of the boards in the 1.0.6 list jump out at me as meeting that, so you're going to "create" one by adding this into the file /Arduino/hardware/arduino/boards.txt.
The Low fuse byte setting of 0xF2 should change the clock source to internal RC oscillator.

The data used the 3.3V/8MHZ Promini for the rest of the settings.
Restart the IDE after copying this in (edit with Wordpad).

##############################################################

int8MHz328.name=Arduino DIP (3.3V, 8 MHz) w/ ATmega328

int8MHz328.upload.protocol=arduino
int8MHz328.upload.maximum_size=30720
int8MHz328.upload.speed=57600

int8MHz328.bootloader.low_fuses=0xF2
int8MHz328.bootloader.high_fuses=0xDA
int8MHz328.bootloader.extended_fuses=0x05
int8MHz328.bootloader.path=atmega
int8MHz328.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
int8MHz328.bootloader.unlock_bits=0x3F
int8MHz328.bootloader.lock_bits=0x0F

int8MHz328.build.mcu=atmega328p
int8MHz328.build.f_cpu=8000000L
int8MHz328.build.core=arduino
int8MHz328.build.variant=standard

##############################################################

Use Tools:Board:click the new board type
Tools:Programmer & select your programmer.
Then Tools:Burn Bootloader and go thru your chips.
Well, 1 to start, make sure this works okay.

I'll give this a try thank you.

Thank you Crossroads,

I was able to use this board info that you provided and uploaded it to my uno R3 via the usbtinyisp and am now able to program my uno r3 via usb once again.

Also, when I uploaded blink to the chip, the chip works on my bread board once again. I am able to upload blink to the chip while it's breadboarded via the usbtinyisp too.

The only thing missing now is that I can not use my Uno R3 as my ISP programmer as i once did.

Well, I don't know what to say there. Maybe it can't handle chips that are not running at 16 MHz.
I've never used it - I moved to Atmel AVR ISP MKii a couple of years ago for programming '1284P chips and haven't used anything else since.

Just as an FYI:

I figured out what happened with all my ATMEGA328P chips not working on my breadboard anymore. My older laptop was using the IDE version 1.0.5r2 and my newer laptop was using 1.0.6
The board configuration for the UNO was changed between version. These 3 lines changed.

low_fuses from 0xff to 0x62
high_fuses from 0xDE to 0xD9
extended_fuses from 0x05 to 0xFF

This explains why my stuff was working so differently now. I would complain that they didn't mention the change anywhere, but I never read the release notes so I don't know if they did or didn't.

Hmm, my 1.0.6 that I downloaded 9/14/14 still has ff/de/05.

I just downloaded IDE 1.0.6 again, and boards.txt has:

uno.bootloader.low_fuses=0xff
uno.bootloader.high_fuses=0xde
uno.bootloader.extended_fuses=0x05

in the Uno section. Wonder how you got something different?

I don't know. I think I had upgraded that machine from 1.04 to 6. Regardless. At least I know the problem. I was able to put a crystal on pin 9,10 and can use the chips on a breadboard now. I don't know enough about fuses yet. Can you tell me how to set it back to use the internal crystal or is there a reason to use the 16MHz external? I already bought 10 crystals, so for future reference. :slight_smile: