Seed Xiao ESP32C3 with esp-idf on Mac

Good morning,

I have been working with the Seed Xiao ESP32C3 under Arduino for a while and am very impressed with its performance.

I would like to use the chip for a LoRa based project due to the low power consumption. Unfortunately, I can’t get the device to work at all under esp-idf.

Having started by trying to connect an SSD1306 for debugging purposes, I roled back to a simple hello world as below:

#include <stdio.h>
void app_main()
{
printf(“hello world\n”);
fflush(stdout);
}

I get the following output, looping constantly:

Disconnected (read failed: [Errno 6] Device not configured)
Reconnecting to /dev/cu.usbmodem14201 Connected!
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40049a42
SPIWP:0xee
mode:QIO, clock div:1
load:0x3fcd6100,len:0x16b4
ets_loader.c 78
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40049a42
SPIWP:0xee
mode:QIO, clock div:1
load:0x3fcd6100,len:0x16b4
ets_loader.c 78
Disconnected (read failed: [Errno 6] Device not configured)
Reconnecting to /dev/cu.usbmodem14201 Connected!
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40049a42
SPIWP:0xee
mode:QIO, clock div:1
load:0x3fcd6100,len:0x16b4
ets_loader.c 78
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40049a42
SPIWP:0xee
mode:QIO, clock div:1
load:0x3fcd6100,len:0x16b4
ets_loader.c 78

platformio.ini

[env:seeed_xiao_esp32c3]
platform = espressif32
board = seeed_xiao_esp32c3
framework = espidf
monitor_speed = 115200
lib_extra_dirs = espidf
…/…/esp-idf-lib/components

My setup is: Mac OS 13.0, VS Code, PlatformIO 6.1.6a2.

Any help, would be very much appreciated.

Andy

Meanwhile I saw the link to the issue on Github (Seems I was being too specific with my search as it is a general feature of the C3;-)). For anyone else reading this, adding:

board_build.flash_mode = dio

to platormio.ini seems to solve the problem.