The ESP32 C3 Super-mini with this pin-out is working find with me.
There is one important exception I found on this link: https://docs.espressif.com/projects/esp-idf/en/v4.3.5/esp32c3/api-reference/peripherals/adc.html, it stated the following notes:
-
Since the ADC2 module is also used by the Wi-Fi, reading operation of adc2_get_raw() may fail between esp_wifi_start() and esp_wifi_stop(). Use the return code to see whether the reading is successful.
-
A specific ADC module can only work under one operating mode at any one time, either Continuous Read Mode or Single Read Mode.
-
For continuous (DMA) read mode, the ADC sampling frequency (the sample_freq_hz member of adc_digi_config_t) should be within SOC_ADC_SAMPLE_FREQ_THRES_LOW and SOC_ADC_SAMPLE_FREQ_THRES_HIGH
-
ADC2 continuous (DMA) mode is no longer supported, due to hardware limitation. The results are not stable. This issue can be found in ESP32C3 Errata https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf. For compatibility, you can enable CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 to force use ADC2.
-
ADC2 oneshot mode is no longer supported, due to hardware limitation. The results are not stable. This issue can be found in ESP32C3 Errata https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf. For compatibility, you can enable CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 to force use ADC2.
I used WiFi, I2c, Analog and Digital pins in one application all according to this pin-out, but avoiding using GPIO5 as ADC or not using it at all because it gave all kind of troubles.
I used Visual Studio Code and this platformio.ini is working fine for me:
[env:esp32c3_supermini]
platform = espressif32
board = esp32-c3-devkitm-1
board_build.mcu = esp32c3
board_build.f_cpu = 160000000L
framework = arduino
build_flags =
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
-D ARDUINO_ESP32C3_DEV=1
