I have trouble programming my ESP32-C3 2MByte board with the Arduino framework. (It’s working with the Arduino IDE).
I found hints in other topics for the .ini file, for the .csv file etc, unfortunately all of my efforts failed. Compiling and upload is succesful, but the firmware is not working.
Could you please upload a working blink or other simple working example for the 2MByte ESP-C3-32S board? Schematics is the same, as the Espressif M1 board, just the flash is smaller.
What is your current
platformio.ini? You should start from Broken ESP32-C3 config/build after moving to arduino-esp32 v2.0.0-rc1 - #5 by basirk and apply the known fixes (remove
qio), then adapt partition table and variant as needed.
Which configuration are you using in the Arduino IDE for reference?
Hi, thank you for the fast reply.
platform = espressif32
platformio/tool-esptoolpy @ ~1.30100
framework = arduino
board = esp32dev
board_build.mcu = esp32c3
;board_build.partitions = huge_app.csv
board_build.partitions = custom_part.csv
board_build.variant = esp32c3
board_build.f_cpu = 160000000L
board_build.f_flash = 80000000L
board_build.flash_mode = qio
board_build.arduino.ldscript = esp32c3_out.ld
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x6000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 0x1F0000,
The Arduino 1.8.15 IDE conf:
Board: “ESP32C3 Dev module”
Upload speed: 921600
CPU freq: 160MHz (WiFi)
Flash freq: 80MHz
Flash mode: QIO
Flash size: 2MB (16Mb)
Partition scheme: Default 4Mbyte with spiffs (1.2MB app/1.5MB spiffs
Core debug level: None
I removed the QIO (what is it?), and it’s working now!
Thank you very much!
The flash connection mode (Quad-I/O). Something is not working correctly with that in general, or your board is connected via DIO (Dual-I/O) to the flash chip.
This is my board:
The Arduino IDE is working with the QIO setting.
I had to remove the RTS and DTR connections, and use the buttons, because the serial monitor is not working with that connections (the terminal resets the uC).
monitor_dts options to set the state of these lines when the serial monitor opens, you probably don’t need to remove them.
Correct, setting them to 0 is working.