Ham Radio
Ham Radio, Electronics, Software and more...

Home » Electronics » PIC Microcontrollers » Arduino Uno32 Bootloader Reprogramming (Arduino Uno32 Bootloader Reprogramming)
Arduino Uno32 Bootloader Reprogramming [message #985] Mon, 05 September 2011 20:29
root is currently offline  root
Messages: 208
Registered: December 2004
Senior Member
Some Ardruino boards were shipped with bad bootloaders. When you try to burn a new program, the programmer will throw an error like this:

avrdude: verifihoneyion error, first mismatch at byte 0x0000
0x0c != 0xff
avrdude: verifihoneyion error; content mismatch

Many people are having these problems with these boards. If you are having these problems you need to burn a new bootloader.

Connect to the Uno32 with a terminal program (like puttytel). Set the baud rate to whatever COM port the Uno32 is connected to and use 115200 for the baud rate. As soon as you connect, type !!! and then you should see something like this:

Explorer stk500V2 by MLS V1.0

Then type ? (question mark)

Bootloader>? CPU stats
Explorer stk500V2 by MLS V1.0
Compiled on = Apr 24 2011
CPU Type = 32MX320F128H
GCC Version = 3.4.4 Microchip MPLAB C Compiler for PIC32 MCUs v1.11(A)-2010050 4
DEVID = 5090A053

You will see the compile date.. This bootloader in this example was bad.

After the new bootloader was burned (file is attached). The problem should disappear. You must cycle the power. If you connect the Uno32 again with a terminal you will see the new compile date.

How do you reprogram the Arduino Uno32 bootloader?

This is a good question. There isn't anything that has a very good documentation for doing this. Some posts may tell you to return the board. If you can't understand the following, then it would be better to send the board back. BUT, this type of thing should really be learned if one isn't sure how to do this.

First the Arduino Uno32 board that was purchased, didn't have any pins installed (soldered) on the board for the ICSP section. You must take solder a 6 pin header to the board in order to use it.. I do not know why they didn't come with it in the first place. You can get header pins from Mouser or Digi-Key.

Then you will need a programmer that will program via the ICSP. A PICkit 2 in this case was used to reprogram the bootloader. A 12V power supply (doesn't need 12V, 9V will probably do just fine) was used to power the Arduino Uno32 board while this was being accomplished. If you don't power the Uno32 board, you will probably be drawing too much current for both the PICKit and the Arduino board. Hooking them in series to program will fail. The PICkit software will throw an error message saying the voltage is too low or wrong as soon as you load the program.

Open the PICkit software while the equipment is hooked up, load the hex file and burn! The Uno32 board needs to be restarted when completed. This should complete the process. If you don't have a PICkit, you can use any other programmer than has an ICSP port.

Hope this helps anyone that is having problems with their Arduino Uno32 boards... It isn't so intuitive and there isn't very much supporting documentation for it...
Arduino Uno32 ICSP
Arduino Uno32 ICSP

[Updated on: Mon, 05 September 2011 20:33]

Report message to a moderator

Previous Topic: PIC Assembler Directives
Goto Forum:

Current Time: Sat Dec 10 05:08:55 EST 2022

Total time taken to generate the page: 0.03878 seconds