ESP8266 WiFi Module SoC - Arduino

Hello Everybody,

I need some help with a recent purchase I made that seems not to be working - https://www.sparkfun.com/products/13678. This is the ESP8266 WiFi module. As I said, I recently bought this module from you and I tried to install and use it both paired with a Artemis Red Board or by itself - however, it seems it does not respond to the AT command set on the serial line.

I am trying to use the module on its own, however there are many confusing tutorials out there - especially when it comes what needs to be flashed to set it into arduino-compatible mode.

Accessing the module: Config #1

To access the module, I used a Arthemis RedBoard where I connected the RESET to GND so that it would act as a passthrough. Then I connected the RX and TX on the WiFi module to RX1 and TX1 on the Artemis RedBoard respectively. I also connected the 3.3V to both the 3.3 pin and the EN one.

As I said, I connected the module through the RedBoard and provided the 3.3V to the module via a separate power supply while the RedBoard was powered via the USB-C connector.

At this point, I expected to be able to open the Serial Monitor, set it to 15200 8 N 1 and type AT (LR and CR enabled). Unfortunately I do not get any response from the module. I see the module using ~70mA and I can see a WiFi where I can actually connect to (AI-THINKER_7DE19F). The name of the WiFi is also quite strange.

Accessing Module: Config #2

Not getting anywhere with the above configuration, I used the Serial and Serial1 interfaces on the Artemis to “emulate” the pass-through - this allows me to set the serial config independently between Artemis/USB and Artemis/WiFi. Also here, not much success. Trying with different Speeds and config of the Serial, but, so far, nothing comes out of the module.

Can you please help me to understand what is going on? At this point I am running out of options and It’s been a bit frustrating and I am wondering if the problem is not me but the module that is not working properly.

Please Help!!!

Hello,

This is an interesting problem. I’ve moved it to the Artemis Development Boards due to the fact that there could be an incompatibility with the Artemis boards. Have you tried multiple modules?

Can you provide any pictures of your set up to help better visualize what you’re working with?

Thank you for your time and patience.

Hi Brandon,

I have not tried other modules… because I only have the one :frowning: Attached are the images for the setup. Here’s the Arduino in Bypass mode with the RX1<->RX and TX1<->TX connections:

In this configuration, when turned on, the ESP8266 pulls ~0.71 A, which is consistent with the specs. Also, when I pull down the IO0 to put it into programming more, the module pulls ~0.54 A, which is consistent with not having the radio enabled.

And here’s the configuration of the ESP8266:

In theory, with the bypass configuration, I expect I would be able to open the console from the Arduino IDE, set the Serial parameters, and use the AT commands… but no matter what the Serial params are, I do not get any reply to the AT commands (tried with ‘\n’ and both ‘\n\r’).

I also tried with the Arduino also in “normal” configuration and using the Serials to see if I could get anything out of the module, but I do not get very far. I was first using the SerialPassThrough demo, but that was not working. So I modified it to try some different setting on the Serial1 (the code is ugly but I hope easy to understand the concept - by sending 1,2,3…6 to the Serial, the program setup the Serial1 params, sends the AT command and waits for the output… but I get either nothing, garbage, or something that resembles an echo of the AT command (I also tried to see if the serial was working correctly on the Artemis by connecting RX1 ↔ TX1 in bypass mode and see the echo printed on the console).

Not sure what other tests I can do now. Do you have any suggestions/ideas ?

Any idea?

Try swapping your RX and TX pins.

Swapping TX and RX was the first test I tried - no success :frowning: However, I ordered the USB-To-Serial module and see if I could access the Serial with the module… and… TADA!!! It worked - I can now see the output of the device. It seems some debug data is being printed on the console. Indeed, if I let the module run, I get this output (not with the AT but just waiting…):

11:53:23.820 -> chksum 0x63
11:53:23.820 -> load 0x3ffe8000, len 776, room 8 
11:53:23.820 -> tail 0
11:53:24.061 -> chksum 0x02
11:53:24.061 -> load 0x3ffe8310, len 552, room 8 
11:53:24.061 -> tail 0
11:53:24.061 -> chksum 0x79
11:53:24.061 -> csum 0x79
11:53:24.061 -> 
11:53:24.061 -> 2nd boot version : 1.5
11:53:24.061 ->   SPI Speed      : 40MHz
11:53:24.061 ->   SPI Mode       : DIO
11:53:24.061 ->   SPI Flash Size & Map: ⸮S⸮⸮⸮512KB+512KB)
11:53:24.061 -> jump to run user1 @ 1000
11:53:24.061 -> 
11:53:24.061 -> o{⸮⸮⸮⸮⸮⸮⸮⸮⸮[Kk⸮⸮⸮⸮⸮o⸮r⸮⸮g|⸮⸮⸮|sd⸮⸮r⸮$⸮d⸮l`⸮⸮s⸮l⸮l⸮l`⸮⸮{⸮dǟ

Does this seem correct? It seems to refer to a 2nd boot version… mmm… now I am not sure how to proceed… shall I use the Arduino IDE to flash a simple sketch? I noticed that the IDE is trying to flash the NONO fw (expressif 2.2.19) … will that let me use the AT codes?