Technical reference manual for Argon-ESP32 connection

I’m trying to create my own firmware to load onto nrf52840.
What I understood is:

  1. Argon connects nrf52840 and ESP32 using UART,
  2. ESP32 is already programmed and accessible using AT commands (CLI)

However, I am quite confused, which signal (0 or 1) should I put into BOOT_MODE, WIFI_EN, HOST_NWK?

My question is:

  1. Is there a technical reference manual regarding the setup between nrf52840 and ESP32?
  2. If not, is there example source codes regarding the setup (using APIs of GPIO and UART level)?

Many thanks in advance!

On the Argon the the ESP32 does connect by UART serial to Serial2 and it uses esp-at, the AT command interface.

This is how you get the ESP32 to boot from user firmware manually. You’ll be doing this directly from your nRF52 code, but it should be obvious how to translate it.

    WiFi.off();
    delay(5000);

    // Enable ESP32
    _log.trace("rebooting ESP32");

    pinMode(ESPBOOT, OUTPUT);
    pinMode(ESPEN, OUTPUT_OPEN_DRAIN);
    digitalWrite(ESPBOOT, 1);
    delay(100);
    digitalWrite(ESPEN, 0);
    delay(100);
    digitalWrite(ESPEN, 1);
    delay(100);

    // Set up serial
    _log.trace("Starting serial");
    Serial2.begin(921600, SERIAL_FLOW_CONTROL_RTS_CTS); // 115200

There is no documentation, however the Argon schematics are open source. This is the fork of esp-at.

Note that the Argon uses the ESP32 in CMUX mode, and the esp-at build does not have multi-socket enabled. It’s going to be a lot of work implementing CMUX in native nRF52. You may want to consider also rebuilding the esp-at with AT-based multi-socket and server enabled instead of CMUX.

1 Like

It helped a lot!
Well, I’m not going to implement multi-socket behavior, but it is also good to know that there’s a way.
Thank you, and have a nice day.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.