Arduboy Bootloader

I have made a Arduboy Clone with a atmega32u4 Pro Micro 3.3v . I would like to use the arduboy Uploader from but I cant seem to get it to work. I can upload games with
avrdude -p atmega32u4 -P COM9 -c avr109 -U flash:w:game.hex
Any help would be great.

You might want to tag @eried … actually, I just did it.

1 Like

I did get the Ardubuy Manager working after changing drivers. This was a pain, I had to change the second COM Driver… It would show com10 then when I told it to transfer it would go to com9… I had to update the com9 (for my PC) driver to Arduino Leonardo to work. I grabed drivers from Arduboy Driver Installation [Windows & OS X]

I still cant use the arduboy Uploader from

I would say the issue here is that your 3.3V Pro Micro is not presenting the VID / PID that the uploaders are looking for… and worse, even if you did alter the VID / PID of your board, all of the hex files you are trying to upload will have been compiled for 16MHz but the 3.3V Pro Micro runs at 8MHz??

It is a 16MHz version. I am just running it with the J1 pin disconnected so I can run it with a 3.7 Lipo. My board works with the hex files download from How do I edit the VID / PID for my board.

This is the board I have

You would need to burn the Leonardo bootloader… Do you have a programmer, or a second Arduino board you could use as a programmer?

The other option would be to ask @eried to please add support for compatible boards to the uploader? (like @Mr.Blinky’s uploader does)

Yes I have an Uno. I have set it up as an ISP… I tried a couple bootloaders on it pro micro, SparkFuns Ver, and also Leonardo.

What are the VID/PID needed. I see in the Arduino IDE boards.txt file, the Leonardo has:

This didn’t seem to work.

I don’t know what that uploader is looking for, but Leonardo should work - can you confirm that you have burned the Leonardo bootloader, and the board presents itself as a Leonardo when you plug in USB, and the uploader still does not work?

(might need to also upload a sketch compiled for Leonardo after burning? There are two sets of VID / PID - one for the sketch and one for the bootloader)

I loaded the Leonardo bootloader again…

Still no luck.

…and uploaded a sketch compiled for Leonardo as well?

I did, I just did the Arduboy Hello World Example with the Leonardo board selected, but It still didn’t work.
The Hello world worked just not Arduboy Uploader.

Hmmm… maybe delete those COM ports that you manually installed and let them automatically reinstall themselves? :face_with_raised_eyebrow:

…one other thought - did you upload Hello World via the Uno as ISP? if so, does uploading Hello World directly without the ISP work too?

I can upload it directly to the Pro Micro without problem. I have downloaded the Source for Arduventure and can even upload that directly…

…might be something going on with your particular installation of Windows and whatever serial implementation @eried’s uploader uses then? Hopefully he can shed some light…

1 Like


I can try to add support for your board. Check in the device manager, under com ports the VID and PID of your Arduino:

Then, reset it and check again (fast, you have 8 seconds).

The current supported ones are:

Chinese vendors like to put the Arduino Micro bootloader on these Pro Micro boards. This is easily noticed when they are put in bootloader mode (using reset or open/close com port @ 2400 baud) : both Rx and Tx LEDs will light up while there is no activity.

The bootloader should be replaced by Arduino Leonardo one (or my Cathy2K /Cath3K bootloaders).

Arduboy and ATMEGA32U4 Arduino variants usually contain two USB devices: A bootloader serial device and an Application serial device. On windows these appear as two seperate com ports and a driver must be installed for each.

An uploader must be able to detect one of these ports. Some sketches have the Application serial device removed to save space (Arduventure, Evade 2) making it impossible to upload normally. Arduboy must be put in bootloader manually to be able to upload.

Looking at @eried’s source, the uploader supports Leonardo and SParkFuns version and uses Windows Management Instrumentation ( WMI ) to detect the port. To see if the WMI functions properly and the port is detected on your PC you can try copy and pasting the following line at the command line (WinKey + R > cmd) :

WMIC PATH Win32_SerialPort WHERE "(PNPDeviceID LIKE '%VID_2341%PID_8036%') OR (PNPDeviceID LIKE '%VID_2341%PID_0036%') OR (PNPDeviceID LIKE '%VID_1B4F%PID_9205%') OR (PNPDeviceID LIKE '%VID_1B4F%PID_9206%')" GET name, DeviceID, PnPDeviceID

To list all serial ports on your PC, you can copy and paste the following:

WMIC PATH Win32_SerialPort GET name, DeviceID, PnPDeviceID

If you get an error running these commands. Check and make sure the Windows Management Instrumentation is enabled and running (Winkey + R > services.msc)

1 Like