Deal with a custom-designed Atmega4809-based board as an Arduino Uno Wifi Rev2

Hi,

I have just received a PCB that is designed using the Uno WiFi Rev 2 with some additional circuitry, essentially for sensing. The board has all the peripherals on the original Uno WiFi Rev2. What is the easiest way to program it? Can I somehow prepare it to be used as an Arduino Uno WiFi Rev 2?

Thank you.

If it claims to be a Uno WiFi Rev 2 then program it as a Uno WiFi Rev 2. Anyway, without the schematics there is no telling what sideeffects that will have.

No. It is not recognized as the Uno WiFi Rev 2.

In the device manager, the Atmega32U4 is recognized. Which is the onboard chip used to flash the Atmega4809 on the Uno WiFi Rev 2.

dm

In the Arduino IDE, no port is recognized.

Sounds like one of both chips were not set up for Arduino yet. I think you'll need to set up a dfu programmer. I only know of examples for the 16u2 on an uno or mega.

Perhaps another user has an example for the 32u4 on your board.

After that, you'll probably need to install a bootloader on the 4809

1 Like

You might be lucky with the firmware upload procedure described here:

Thank you for your reply, but this is for updating the WiFi chip on the board. Even this I can't do since the board is not recognizable on any of the COM ports when connected by USB

My bad. I don't have a Uno WiFi here, so I can't check, but if you happen to have one at your desk try copying the firmware from the 32u4 including fuses to your 32u4. It might even work if you copy the firmware from a 16u4. Then try t o upload the software to the ESP32.

Oh, you'd need anothe UNO with avrisp firmware loaded to copy and flash the 32u4 firmware.

You have to update the 32u4 first, that will make the IDE recognize the board on a port, then you should update the 4809 with a bootloader. After that you will be free to update the wifi chip.

1 Like

OT: Is there a sane reason why are there 3 different processors on the board and not just the ESP32?

I like the idea of a 32u4 and an ESP32 on the same board. The USB capabilities of the ESP32 are lacking and would be nice offloaded.
However, I agree if you're to the point of adding WiFi to a 4809, then you probably need an ESP32.

I have been looking for the firmware of the 32u4 but no luck. It would be very helpful if you can provide me a source for it.

Per post #4, I recognize the symptoms but I don't have the fix.

Would have told you already if I did

1 Like

The 32u4 on your board is lacking the mEDBG firmware which is the usb to updi interface.

You may be able to follow the procedure given here

You may be able to get the mEDBG firmware which gets loaded onto the 32u4 of the promicro onto the 32u4 of your board.

3 Likes

Thank you. It worked :grin:

I used a Nano as an ISP programmer to program the 32u4 using avrdude.
I used the following command specifically

.\avrdude.exe -c avrisp -p m32u4 -b 19200 -P COM6 -U flash:w:mEDBG_UPDI_1.13.hex

I copied the mEDEBG_UPDI_1.13.hex from the following repo on github:

https://github.com/MCUdude/microUPDIcore/tree/master/avr/firmwares

Then the board was detected by the Arduino IDE as an UNO WiFi Rev 2 and I was able to use the firmware updater to program the WiFi chip.

3 Likes

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.