Help connecting to WiFi Uno R3

I recently bought a Uno R3 with WiFi from China.

Specs:
MCU-ATmega328P
WiFi-ESP8266 (8Mb flash)
USB-TTL CH340G

Link to eBay site where I bought it

However, I ran into some issues trying to use it. It connects, and lights up. The code compiles fine, but it won’t upload. I am trying to upload standard blink sketch. I have driver, and it I have chosen the port.

Do I code it like a normal Arduino Uno, and chose “Arduino Uno WiFi” as board?
Or do I program it as a ESP8266 module?

I uploaded pictures of it, and the eBay site I bought it from.
Thank you in advance :slight_smile:

(deleted)

You buy from China, You get support from China, This is NOT an Arduino product!

It's like buying a JET.COM holiday and going to Walmart for support!

Well mr. Grumpy if you didn't notice, this is the subforum where we discuss using the Arduino API in alternative hardware such as clones, bare bones etc. The product OP has purcahsed isn't even a UNO clone! It's a uno board with extended functionality. Why shouldn't we try to help out? Isn't this what this forum is all about?

Back on topic: Interesting board indeed! Are you able to get the schematic of the board? it's much easier to troubleshoot when we know how the programming and auto reset circuity is designed.

I think the ESP8266 is supposed to be controlled by the ATmega328P. My guess is that the CH340G is connected to the ATmega, and the ESP8266 and the ATmega is communicating with AT commands using software serial on the ATmega.

EDIT: It seems like you bought a clone of this board. https://robotdyn.com/uno-wifi-r3-atmega328p-esp8266-32mb-flash-usb-ttl-ch340g-micro-usb.html

It seems like GPIO0 and GPIO2 on the ESP8266 is tied to 3.3V by R14 and R15. This means the ESP cannot be reprogrammed without having to modify the board.

By looking closer at the schematic it seems like DIP switch 3 and 4 needs to be enabled to program the ATmega328P using the CH340G USB to serial chip

(deleted)

there are dip switches. the two MCUs are independent and are connected only by Serial if you switch the switches to that position. so it is the same like an Uno and an esp-01 wired over Serial

I'm Mrs Grumpy, thank you very much.

I stand corrected, sorry!

@hansibull, you are MCUdude Hans?

Thank you to both @Juraj and @Hansibull! That link will defently help me out. I'll try to program it some more, and research some more, and than i can post a guide or update if anyone want. :)

Thank you to both @Juraj and @Hansibull! That link will defently help me out. I'll try to program it some more, and research some more, and than i can post a guide or update if anyone want. :)

Glad to help! A quick guide will be useful for other users that's looking for info on how to program this board. Godt nyttår!

@hansibull, you are MCUdude Hans?

Yes, that's me!

hansibull: Yes, that's me!

then thank you for the cores. I use Mighty core with Budvar10's 1284 board and Mega core for Mega with Optiboot and do_spm tests. the do_spm on 2560 has an interesting problem I pinpointed 10 minutes ago after 3 days of experimenting and learning

Einar_Nordvik: Specs: ... USB-TTL CH340G

Have you installed the CH340 USB drivers?

I wrote the attached which may be of use

Guide for UNO+WiFi R3 ATmega328P+ESP8266, 32Mb flash, USB-TTL CH340G, Micro-USB.pdf (1.82 MB)

I have bought the same card (5 cards). When I try to upload a sketch to the Atmega part it just says “uploading sketch” for several minutes and fails at the end with just a generic “uploading failed” message.

I have tried to set board type to “Arduino Genuino/uno” and Arduino uno wifi with no luck.

Is all five cards just trash ?

Thanks for all the help :slight_smile:

bergetun: I have bought the same card (5 cards). When I try to upload a sketch to the Atmega part it just says "uploading sketch" for several minutes and fails at the end with just a generic "uploading failed" message.

I have tried to set board type to "Arduino Genuino/uno" and Arduino uno wifi with no luck.

Is all five cards just trash ?

Thanks for all the help :)

how did you set the DIP switches?