Is This Mega2560+Wifi Board Broken, Or Do I Miss Something?

Hi all

I made 2 orders on Banggood:

On the First order, I bought 2 items:

  1. Uno+Wifi:
    https://www.banggood.com/Geekcreit-UNOWiFi-R3-ATmega328PESP8266-32Mb-Memory-USB-TTL-CH340G-Module-For-Arduino-Uno-NodeMCU-ESP8266-p-1205444.html

  2. Mega2560+Wifi:
    https://www.banggood.com/Geekcreit-Mega-WiFi-R3-Module-ATmega2560ESP8266-32Mb-Memory-USB-TTL-CH340G-Compatible-p-1205437.html

A few days later, I decided that I would like to have another Mega2560+Wifi,
so I made a second order, which included only 1 item - the Mega2560+Wifi.

In short,
those are Arduino compatible boards, that have an ESP8266 module built in.

They look like this:

Both orders arrived.

Verifying the Uno+Wifi board works well:

I connected the Uno+Wifi to the PC,
and opened a Serial Monitor,
(and made sure the DIP Swtich on the board is set to USB<->ESP8266 Communication)

And what I get is a program that is running on the ESP8266, that lists the visible WLANs in the area.

In addition, the ATmega328 on this board is running the program Blink.

So in short, the Uno+Wifi board is working well.

Verifying the Mega2560+Wifi board works well:

I then went on, and connected the Mega2560+Wifi to the PC,
opened a Serial Monitor,
(and like before, made sure the DIP Swtich on the board is set to USB<->ESP8266 Communication)

I see jibrish, on 9600baud,
and when I change to 115200baud, I still see jibrish.

Because of this, I decided to checkk all possible baudrates,
at least all the ones that the SerialMonitor enables me to choose.

Here are the results:

300baud:

1200baud:

2400baud:

4800baud:

9600baud:

14400baud:

19200baud:

28800baud:

38400baud:

57600baud:

115200baud:

As you can see,
I tested all possible baud rates, and in all we get jibrish,
just in different length…

When I saw that it’s jibrish in all baudrates, I thought that the Mega2560+Wifi board arrived defected…
But the problem is, that today I received my second order, which contains the second Mega2560+Wifi,
and it behaves exactly the same…
Jibrish in all baudrates

So now I start to think that maybe the first (and the second) Mega2560+Wifi boards are not defected…

If so, what is the problem, why do I see jibrish?

Thank you for your help

You missed 74880 baud. What do you get at that speed?

Arduino IDE's Serial Monitor does not show a 74880baud option..
See:

Does Windows 10 (Home Edition) have some built-in Serial Communication utility?

If not, what should I download that will let me try in 74880baud?

Which version of the Arduino IDE are you using?

Quite an old one: v1.0.3

It is light, loads fast,
and does not contain support for the new boards (which I never moved to).

the boot log baud rate is 74880 baud for a module with 26 MHz crystal. (for 40 MHz crystal it is 115200)

Juraj:
the boot log baud rate is 74880 baud for a module with 26 MHz crystal. (for 40 MHz crystal it is 115200)

I see..
Can you please recommend a simple and free Serial Communication utility for Windows 10 Home,
that I can choose the 74880baud and check?

On Windows XP, there's "HyperTerminal" built-in,
but in Windows 10 I don't see it..
Probably Microsoft got rid of it..

OK apparantly one possible option for this is PuTTy,
which I already got…
Completely forgot that it can do COM Ports too…

So going to check now, with 74880baud

And the result, on 74880baud:

Seems that the board works..

Which means the previous also is OK..

The only Baud Rate that worked, does not exist on my Arduino IDE version :slight_smile:

Thank you very much to you two,
I could not have solved wit without your help.

BTW after displaying this message in the screenshot, it does not respond to AT Commands..
So what is this actually? A Bootloader with nothing after it?

card5:
And the result, on 74880baud:

Seems that the board works..

Which means the previous also is OK..

The only Baud Rate that worked, does not exist on my Arduino IDE version :slight_smile:

Thank you very much to you two,
I could not have solved wit without your help.

BTW after displaying this message in the screenshot, it does not respond to AT Commands..
So what is this actually? A Bootloader with nothing after it?

yes

I see.

OK, I will flash it with a regular Firmware - AT+SDK.

Juraj,
may I ask for your opinion?

These boards (both the Uno+WiFi and the 2 Mega2560+WiFi) come with 32Mbit Flash,
unlike the Open-Smart module that I have, that has 8Mbit Flash.

On the Open-Smart module, I flashed the v1.6.2 AT, because that's the latest version I could install on a 8Mbit.

On the Uno/Mega +WiFi boards, I can flash the v1.7.1 AT, because they have 32Mbit..

Now the question:
I thought about flashing the 32Mbit with the v1.6.2 AT, instead of the latest v1.7.1 AT,
in order to get 100% consistency in the AT version, between all my boards/modules.

This idea will indeed give consistency,
but I lose the new stuff that has changed between AT v1.6.2 AT and AT v1.7.1.. (and their corresponding SDKs..)

What do you think?
Update them with v1.7.1, or go for consistency and update to v1.6.2?

Are the changes from v1.6.2 to v1.7.1 (and from SDK v2.2.1 to v3.0.1) profound and meaningful?

Thank you

card5:
What do you think?
Update them with v1.7.1, or go for consistency and update to v1.6.2?

Are the changes from v1.6.2 to v1.7.1 (and from SDK v2.2.1 to v3.0.1) profound and meaningful?

I definitely recommend the AT 1.7.1 SDK 3. Even for the esp-01 (the Lobo builds I mentioned in the other thread)
two reasons:
the SDK 3.0.0 is more stable
my almost perfect WiFiEspAT library works only with new commands of 1.7 :slight_smile:

Well, definitely 2 good reasons..
OK I will flash them with the latest firmware,
and the single module that has 8Mbit will stay with v1.6.2.

BTW, is it possible to set in PuTTy what type of [Enter] (New Line) to send?

In Arduino IDE's SerialMonitor, we have a ComboBox on the bottom of the window, enabling to select for example "Both NL & CR",
I was looking for something similar in PuTTy,
and only found this:

But according to PuTTy's help, this talks about what to do (to add) to CR/LF coming from the server,
not about what to send to the server when you press [Enter]..
Any idea regarding it?

If I may ask another thing,
In the Flash tool, on the bottom there's the BaudRate combobox.
In there, must I choose some "correct" baudrate, or else the Flashing will not succeed?
Or I can choose whatever baudrate, and it will work with every speed..?

card5:
If I may ask another thing,
In the Flash tool, on the bottom there's the BaudRate combobox.
In there, must I choose some "correct" baudrate, or else the Flashing will not succeed?
Or I can choose whatever baudrate, and it will work with every speed..?

The bootloader detects the baud rate. I usually choose the highest baud rate. If I use SerialPassthrough sketch to flash the esp over some MCU, then I must choose the baud rate I use on Serials in the SerialPassthrough sketch.

About the SerialPassthrough: It is better then switching the DIP switches on Uno/Mega+WiFi. They don't last long if switched frequently. For programming mode the momentary button can be used too.

Juraj:
It is better then switching the DIP switches on Uno/Mega+WiFi. They don't last long if switched frequently.

Yes I indeed thought about how tiny they are, and how risky it is to make any change..
Thanks for pointing it out

Seems that something happened to my flash tool…

I used the Flashing tool several times, and it worked well.

Today when I loaded it and tried to execute an “SpiAutoSet” on a board,
I get an error appearing in the Command Prompt window

“could not open port u” “the system cannot find the path specified”

Please see here:

This is how the Flashing tool’s window looks:

What might be causing this problem?

I tried it on several different modules/boards,
and of course made sure to be in Programming (and not Communication) mode,
and pressed the Reset button before starting…

And of course I am on the correct COM Port,
since I checked it via switching to “Communication” mode, and sending AT Commands,
and I received replies successfully…

Anyone familiar with this situation, or can get any hint from the Error message displayed in the DOS window?

OK there is progress.

I gave up the GUI Flashing tool,
and instead used esptool.py:

I followed the instructions there:
installed Python v3.7,
installed esptool.py via pip,
and now it works.

I can get status data from the board, and also flash the board successfully.

Also a Command Line tool is much better, since you can save your commands for future use,
which makes life much easier.

I flashed my Mega2560+Wifi board (32Mbit) with the following command:

esptool.py -p COM3 write_flash --flash_mode qio --flash_freq 26m --flash_size 4MB-c1
0x000000 boot_v1.7.bin
0x001000 .\at\1024+1024\user1.2048.new.5.bin
0x3FC000 esp_init_data_default_v08.bin
0x0FE000 blank.bin
0x3FE000 blank.bin
0x3FB000 blank.bin

(I broke it here to several lines, but in the command line it was sent all in one line of course)

Note that I chose there --flash_size 4MB-c1 because the board is 32Mbit, and the Firmware version (v1.7.1) only includes 1024+1024, so I had to use -C1.

It seems that I did everything well,
yet when I change the switch from Program to Communication mode,
and Connect to the device, then in the Bootloader's baudrate (74880) this is what I get:

Maybe the command parameters that I used are not good like I thought?

It looks like the last 3 lines hint the problem:
"mismatch map5,spi_size_map 6"

What do I need to change in my parameters to fix it?

Edit:
In the bottom of the esptool.py page,
they wrote a Troubleshooting section.

They recommend there changing from QIO to DIO.

I tried it:

Doesn't seem to solve the problem..

card5:
OK there is progress.

I gave up the GUI Flashing tool,
and instead used esptool.py:
GitHub - espressif/esptool: Espressif SoC serial bootloader utility

I followed the instructions there:
installed Python v3.7,
installed esptool.py via pip,
and now it works.

I can get status data from the board, and also flash the board successfully.

Also a Command Line tool is much better, since you can save your commands for future use,
which makes life much easier.

I flashed my Mega2560+Wifi board (32Mbit) with the following command:

esptool.py -p COM3 write_flash --flash_mode qio --flash_freq 26m --flash_size 4MB-c1

0x000000 boot_v1.7.bin
0x001000 .\at\1024+1024\user1.2048.new.5.bin
0x3FC000 esp_init_data_default_v08.bin
0x0FE000 blank.bin
0x3FE000 blank.bin
0x3FB000 blank.bin



(I broke it here to several lines, but in the command line it was sent all in one line of course)



Note that I chose there **--flash_size 4MB-c1** because the board is 32Mbit, and the Firmware version (v1.7.1) only includes **1024+1024**, so I had to use **-C1**.


It seems that I did everything well,
yet when I change the switch from Program to Communication mode,
and Connect to the device, then in the Bootloader's baudrate (74880) this is what I get:


![|500x316](https://i.postimg.cc/y8Nx96Bk/bootloader.png)



Maybe the command parameters that I used are not good like I thought?


It looks like the last 3 lines hint the problem:
**"mismatch map5,spi_size_map 6"**

What do I need to change in my parameters to fix it?

this is why I recommend the FDT.

I too was not successful with the esptool and the prebuild binaries of 1.7. there are several reports that the build is strange. the FDT corrects it somehow.

the Lobo builds are good and there is a script to call esptool

ESP8266_NonOS_AT_Bin_V1.7.1 is categorized as a Prebuild?

and what is FDT?