Arduino pro mini: can only upload once

Hello, I have an arduino pro mini that I'm trying to program. I found a way to upload one sketch, but the next always gives a "verification error, content mismatch".

The pro mini is a 3.3V, 8MHz version (clone). Here are the steps I follow to program it:

  1. Upload the arduino ISP program to an Uno R3, with baud rate set to 19200.
  2. Burn bootloader to the pro mini using the Arduino as ISP.
  3. Upload the arduino ISP program to an Uno R3, with baud rate set to 57600.
  4. Upload my sketch.

Using other sequences of steps, I cannot get any useful results. Usually avrdude throws an out of sync error. That woule be fine, but the real problem is that the next time I upload any sketch, I get the verification error. My only guess is that the bootloader becomes corrupted after every upload. Making small changes to the sketch and re-uploading requires me to follow steps 1-4 all over again, which is frustrating. Does anyone have any idea what might be wrong and how to fix it, if it is fixable?

Rather than use another Arduino you would be better off buying a serial programmer / UART. They are very cheap and almost invaluable when dealing with boards that done have serial enumeration such as the pro mini's

I have always found that using another Arduino often needs the ISP sketch to be re-loaded to the programmer Arduino.

If you upload your program using the Arduino as ISP then it over writes the bootloader you have just installed

Thank you for your answers.

ballscrewbob: Rather than use another Arduino you would be better off buying a serial programmer / UART. They are very cheap and almost invaluable when dealing with boards that done have serial enumeration such as the pro mini's

I have always found that using another Arduino often needs the ISP sketch to be re-loaded to the programmer Arduino.

It's a cheap, quick solution as I have all the parts on hand. Plus I saw nothing inherently wrong with that. Do you mean the ISP sketch needs to be reloaded to the programming Arduino after every use? If so, is there any reason why?

hammy: If you upload your program using the Arduino as ISP then it over writes the bootloader you have just installed

Wait, so Arduino as ISP automatically corrupts the bootloader? I was under the impression that it's exactly the same as using a different programmer. Or is the bootloader only used for the first upload?

anvoice:
Thank you for your answers.

It’s a cheap, quick solution as I have all the parts on hand. Plus I saw nothing inherently wrong with that. Do you mean the ISP sketch needs to be reloaded to the programming Arduino after every use? If so, is there any reason why?

That has been my finding but that is not to say it is always that.
As for reason that might be local to my setup I really dont know.

I have a selection of cheap programmers including ICSP, JTAG etc. and always found them more reliable.

  1. Upload the arduino ISP program to an Uno R3, with baud rate set to 19200.

Then Select Board: Arduino Pro or Pro Mini Processor: Atmega328p (3.3v ,8 Mhz) 2. Burn bootloader to the pro mini using the Arduino as ISP.

At this point you have set the fuses and flashed the bootloader.

Then select the sketch you want to load and Use Sketch:Upload using Programmer.

Sketch should now be loaded and bootloader erased.

Doesn't matter because you are using the programmer to load sketches.

Try this and see if it works. Later if you decide to use a USB to TTL adapter , you will have to burn the bootloader again.

I have been using a nano as an Arduino as ISP programmer for over a year and have not had to reload the Arduino as ISP program.