Initial set up for UNO with Wi-FI (XC4411)

Hi,

I purchased this board - Uno with Wi-FI XC4411 - from Jaycar.
Jaycar provides a downloads section with software and manual, i.e. https://www.jaycar.com.au/uno-with-wi-fi/p/XC4411

After downloading the software, i followed the instructions in the text file that comes with that download.

The below are the next steps and issue

  1. Connect board to pc via USB

  2. Follow this instruction in the text file
    If you haven't already, install the ESP8266 Boards addon as per the XC3802 manual located on the product page:https://jaycar.com.au/p/XC3802

The code in this zipfile is used as an example for our new XC4421 and XC4411 boards.

First attempt to install failed, but second succeeded.

  1. Configure dip switches as per manual (i.e. 3,4 are on, the others are off.)

  2. Open arduino.ino and press upload

**** Here is where the issue occurs ***

I get the following error
An error occurred while uploading the sketch
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x79
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x79
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x79
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x79
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x79
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x79
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x79
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x79
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x79
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x79

Any guidance would be greatly appreciated.

1 Like

Getting started with the Arduino Uno WiFi

Arduino Uno WiFi Arduino Uno WiFi (Retired)

ESP-LINK: Wifi-Serial Bridge w/REST&MQTT
(The esp-link firmware connects a micro-controller to the internet using an ESP8266 Wifi module)

this is the Robotdyn Uno+WiFi board

https://robotdyn.com/uno-wifi-r3-atmega328p-esp8266-32mb-flash-usb-ttl-ch340g-micro-usb.html

use the DIP switches to switch the USB chip between ATmega and the esp8266

https://www.google.com/search?ie=UTF-8&oe=UTF-8&q=robotdyn+uno%2Bwifi&domains=https%3A%2F%2Fforum.arduino.cc&sitesearch=https%3A%2F%2Fforum.arduino.cc

Thank you Juraj,

I think i have one of the chips now programmed, i.e.

  • After setting switches 5,6,7 to ON
  • Choosing 'Generic ESP8266 Module (leaving upload speed unchanged (i.e. 115200))
  • Relevant Port
  • Upload

I can then turn of switch 7

  • Open Serial monitor (with same baud 115200)
  • Press 'reset'

and see

Garbage then
'server Started!
~OK|

So i am thinking that chip is programmed?

When it comes to programming the MCU (through opening the pre-supplied 'Arduino.ino') selecting

  • Board = Arduino uno Wifi
  • Port = (same port as just worked previously)
  • Switches = 1, 2 ON
  • baud (same as above, i.e. 115200)

I get...

Sketch uses 4272 bytes (13%) of program storage space. Maximum is 32256 bytes.
Global variables use 445 bytes (21%) of dynamic memory, leaving 1603 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xd6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xd6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xd6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xd6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xd6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xd6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10:

Is there a setting or something i am missing?

ps, thank you for your previous support. Very grateful.

doesn't 1,2 connect ATmega to esp8266? You need 3,4 to connect ATmega to USB chip.

don't play with DIP switches to much, because they want last long. put AT firmware into esp8266, wire esp8266 to a pair of SoftwareSerial pins on Uno header to RX/TX pins on esp8266 header and then use the board as Uno with esp8266 AT firmware on SoftwareSerial

Thank you for the reply and my apologies (yes i meant switched 3, 4 ON)

My goal was is wireless GPS, and the attached made it look so easy.

I am googling how to do follow your advice, i.e.

"put AT firmware into esp8266, wire esp8266 to a pair of SoftwareSerial pins on Uno header to RX/TX pins on esp8266 header and then use the board as Uno with esp8266 AT firmware on SoftwareSerial"

May i enquire

am i asking the right questions to achieve my end game i.e. wireless GPS using above mentioned components. If not (hopefully there is a very simply solution?)

assuming (with your assistance) we are working towards that, can i please ask

  1. How do i put AT firmware into esp8266
    or looking at reply 3 in this post Robotdyn atmega328 uno r3 + Wifi. How to use it? - Networking, Protocols, and Devices - Arduino Forum
    should "AT firmware already be there"?

  2. Where you mention "wire esp8266 to a pair of SoftwareSerial pins...".
    Do i wire
    RX from ESP to RX of UNO &
    TX from ESP to TX of UNO &
    (i can refer to your reply #1 in Robotdyn atmega328 uno r3 + Wifi. How to use it? - Networking, Protocols, and Devices - Arduino Forum for those pins)

  3. Use the board as Uno with esp8266 AT firmware on SoftwareSerial.
    So at that point, can i connect the XC3712 to the XC4411 (as per attached) and expect to see NMEA somewhere?

Sorry for being so new to all of this.
Your support (and previous posts) really helps

XC3712-manualMain.pdf (410 KB)

SoftwareSerial on pin 6 and 7 for example. RX/TX is hardware Serial and the 1,2 switch connects to it, which prevents upload and debug prints.

You can download the AT firmware here AT | Espressif Systems.
I recommend ESP8266 NonOS AT Bin V1.7.1. Don't try 2.0, it is very different (ESP32 AT firmware build for esp8266).

To flash it, use esptool. GitHub - espressif/esptool: Espressif SoC serial bootloader utility

The command to flash the AT firmware 1.7 binaries to any module with at least 1 MB flash memory is:

esptool.py write_flash --flash_size 2MB-c1 0x0 boot_v1.7.bin 0x01000 at/1024+1024/user1.2048.new.5.bin 0x1fb000 blank.bin 0x1fc000 esp_init_data_default_v08.bin 0xfe000 blank.bin 0x1fe000 blank.bin

Don't change the 2MB-c1 setting. The AT binaries are build for 2MB-c1 partitioning.

With AT firmware 1.7.x you can use my WiFiEspAT library to publish data. It is in Library Manager. (It doesn't support HTTPS connection.)