Firmware and flashing the ESP32-C6 (coprocessor of the ESP32-P4 in the Seeed Studio reTerminal D1001)?

Hello.

I am making some good progress on the D1001, but now want to look into the ESP32-C6 coprocessor inside. Seeed Studio has provided a binary firmware for the C6, but the git does not contain the source code of this firmware. I would like to be able to build and flash code myself to this C6.

On the schematics (and on the pcb) you can see a pin header for the UORXD and UOTXD pins of the C6 which -I guess- could be used for flashing/debugging…

I’m guessing that the C6 is factory loaded with the stock esp-hosted-mcu slave firmware provided by Espressif as I cannot determine from the schematics of the D1001 that extra functionality was added to it, other than the esp-hosted and esp_wifi_remote functions.

Hi there,

I don’t think it works in a way you can benefit from it , probably break the bridge connection.

Is writing custom C6 firmware worth the squeeze?

Unless you are developing a specific custom network protocol: No.

  • Espressif Hosted / SDIO Slave Architecture: The P4 talks to the C6 across a high-speed SDIO slave interface using Espressif’s standard esp-hosted / wireless bridge firmware. The binary Seeed supplies is the compiled network slave firmware that allows the ESP32-P4 (running ESP-IDF) to see the C6 as a standard Wi-Fi / Bluetooth network interface adapter.

  • Breaking the Network Stack: If the user replaces the C6’s firmware with standalone custom code, the ESP32-P4 loses all Wi-Fi, BLE, and cloud capability unless they manually write an alternative IPC transport over UART or SDIO.

  • Espressif Source is Open: If they genuinely want the source code for the C6 slave binary, they don’t need Seeed’s proprietary code—it’s based on Espressif’s open-source esp-hosted or standard AT firmware repository.

Also the the flash mode entry is not standard. SO there’s that.. :crossed_fingers:

Because the main ESP32-P4 application chip lacks integrated radios, Seeed put a dedicated ESP32-C6 on the board purely as the wireless connectivity coprocessor (handling Wi-Fi 6, BLE 5, and 802.15.4 / Thread).

HTH
GL :slight_smile: PJ :v:

Well, I will keep the bridge, I just want to add some code to it. The C6 U0RXT and UOTXD pins are accessible on the pcb and I would like to use these to connect a uart device to it and use Espressifs Custom Peer Data Channel (built into the esp-hosted thing) and relay that uart comms to the P4.

Hi there,

WOW,
:grin:

Cool but Lofty.. :crossed_fingers:
Those Are indeed the correct pins, SO…YOLO my Guy.:smile: :+1:

GL :slight_smile: PJ :v:

Pls , keep us posted. :wink: