Argon's UART Communication to ESP32

I am sending “AT\r\n” to the esp RX pin (tested on D9 and signal is good) but am not receiving the OK message back.

Upon startup I receive a message over UART from the ESP saying:

ets Jun  8 2016 00:22:57

rst0x1 (POWERON_RESET),boot:0x13 (PI_FAST_FLASH_BOOT)
configsip:0, SPIWP:0xee
clk_drv:0x00,q_dv:0x00,d_drv:0x00,cs0_drv:0x00,d_drv:0x00,wp_drv:0x00
mode:DI, clock div:2
load:0x3fff0018,en:4
load:0x3fff001c,len:756
oad:0x40078000,len:4892
load:040080000,len:6476

The AT signal that is sent seems to be correct and I am receiving signals back from the ESP, so what could it be? I’m beginning to wonder if the AT Command firmware isn’t installed on the ESP?

This is the firmware that’s installed on the Argon’s ESP32 NCP

1 Like

Does this firmware come pre-installed on the chip or when is it installed?

If I am receiving a UART signal at 115200 Hz and the ESP baud rate (as per your link) is set to 921600 Hz, then the ESP on my board doesn’t have this firmware installed on it?

Welcome, Perhaps back up a little and tell us what you are trying to do - often that will allow more pertinent help or perhaps valid alternatives - or even code that someone else has used?

1 Like

I am using a custom repo that has several platforms available on it and am attempting to port in the Argon. This repo doesn’t allow anything but the app to be installed (no bootloader) and uses JLink to program it.

Initially, when i flashed the Argon I have to wipe all memory, however I don’t believe this would have affected the ESP as it doesn’t have any direct connect through the FTDI or the Jlink?

In order to integrate the WiFi I need to send commands over UART and can’t use the Particle OS repo. I am able to send UART data from the external pins (D9/D10) to a terminal over an FTDI cable and can see the commands are being interpreted correctly. As soon as I switch pins to the ESP’s UART I am not getting a response (I am able to get the startup response from the ESP though).

Ok - for this level of (re)engineering I would suggest you get a DSO and attach it to the various pins to see exactly what is happening - a FTDI is probably not the right tool at this stage of your project.

I checked it on a DSO and it returned the same message - I should’ve mentioned that :sleepy:. The difference in the baud rate is making me think it’s the firmware on the ESP was wiped or not installed?

Are you using flow control? If you take a look at how DeviceOS configures the UART that is connected to ESP32, you’ll see that RTS/CTS flow control is expected.

3 Likes

Then why not try to port it so it works with the actual argon, rather than a ‘connectivity module’ on the argon?

What project are you working with, and why can’t you implement it on the argon as-is?

Just to answer this too: It's there out-the-box.

1 Like

UPDATE

I didn’t have UART flow control on but it still didn’t work. Tested on an external board (programmed with particle-iot/argon-ncp-firmware) and it worked.

The booterloader sends at a startup message at 115200Hz but the main program runs at 921600Hz.

The message from the bootloader is also different between the internal and external board with the same program on it, making me think the internal esp may have been wiped?

I too am looking at the Argon ESP connection.
I think that the factory settings in the firmware are stopping the AT commands being interpreted properly.

I am having a look over the weekend, so DM me and we may be able to work it out.

Billy…

Hey testing,
You’ll have a lot of “fun” getting the communication with ESP32 on an argon board working as the firmware has been customised by Particle. I spent days attempting to get the modem to accept some basic AT connect commands…

I used circuit-python to re-flash the ESP32 back to stock as the Particle firmware is a custom build that does not allow access to the standard AT command set.

A quick google search will help you find the information you need.