{
  "metadata": {
    "id": "espressif-esp32-c3-devkitm-1-n4x",
    "name": "Espressif ESP32-C3-DevKitM-1-N4X",
    "type": "mcu_dev_board",
    "manufacturer": "Espressif Systems",
    "part_number": "ESP32-C3-DevKitM-1-N4X",
    "datasheet_url": "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c3/esp32-c3-devkitm-1/user_guide.html",
    "description": "Entry-level ESP32-C3 development board (RISC-V) with integrated 4 MB flash, Micro-USB power/programming, and Wi-Fi + Bluetooth LE connectivity.",
    "tags": [
      "esp32-c3",
      "dev-board",
      "risc-v",
      "wifi",
      "bluetooth-le",
      "micro-usb"
    ],
    "version": "1.0.0-rc.0",
    "schema_version": "1.4.0",
    "taxonomy": [
      "microcontroller.esp32",
      "connectivity.wireless"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "usb_5v",
          "name": "5V input rail",
          "nominal_voltage_V": 5,
          "voltage_range_V": {
            "min": 4.75,
            "max": 5.25
          }
        },
        {
          "id": "io_3v3",
          "name": "3.3V logic rail",
          "nominal_voltage_V": 3.3,
          "voltage_range_V": {
            "min": 3,
            "max": 3.6
          }
        },
        {
          "id": "gnd",
          "name": "Ground",
          "nominal_voltage_V": 0,
          "voltage_range_V": {
            "min": 0,
            "max": 0
          }
        }
      ],
      "resources": [
        {
          "id": "micro_usb",
          "name": "micro_usb",
          "connector_type": "micro_usb",
          "power_domain_id": "usb_5v",
          "functions": [
            {
              "name": "micro_usb",
              "direction": "bidirectional"
            }
          ],
          "description": "Bundled Micro-USB connector for board power, programming, and USB-UART access."
        },
        {
          "id": "pin_5v_1",
          "name": "5V",
          "connector_type": "pin",
          "power_domain_id": "usb_5v",
          "functions": [
            {
              "name": "power_input",
              "direction": "input"
            },
            {
              "name": "power_output",
              "direction": "output"
            }
          ]
        },
        {
          "id": "pin_5v_2",
          "name": "5V",
          "connector_type": "pin",
          "power_domain_id": "usb_5v",
          "functions": [
            {
              "name": "power_input",
              "direction": "input"
            },
            {
              "name": "power_output",
              "direction": "output"
            }
          ]
        },
        {
          "id": "pin_3v3_1",
          "name": "3V3",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "power_input",
              "direction": "input"
            },
            {
              "name": "power_output",
              "direction": "output"
            }
          ]
        },
        {
          "id": "pin_3v3_2",
          "name": "3V3",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "power_input",
              "direction": "input"
            },
            {
              "name": "power_output",
              "direction": "output"
            }
          ]
        },
        {
          "id": "rst",
          "name": "RST / CHIP_PU / PU",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "reset",
              "direction": "input"
            },
            {
              "name": "chip_pu",
              "direction": "input"
            },
            {
              "name": "pu",
              "direction": "input"
            }
          ],
          "description": "Chip enable and reset pin. Pull low to reset or power down the chip."
        },
        {
          "id": "gpio0",
          "name": "GPIO0 / ADC1_0 / XTAL32K_P / RTC",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "analog_input",
              "direction": "input"
            },
            {
              "name": "rtc_gpio",
              "direction": "bidirectional"
            },
            {
              "name": "xtal32k_p",
              "direction": "bidirectional"
            }
          ],
          "description": "GPIO0 with ADC1_CH0, RTC capability, and XTAL32K_P low-frequency crystal connection."
        },
        {
          "id": "gpio1",
          "name": "GPIO1 / ADC1_1 / XTAL32K_N / RTC",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "analog_input",
              "direction": "input"
            },
            {
              "name": "rtc_gpio",
              "direction": "bidirectional"
            },
            {
              "name": "xtal32k_n",
              "direction": "bidirectional"
            }
          ],
          "description": "GPIO1 with ADC1_CH1, RTC capability, and XTAL32K_N low-frequency crystal connection."
        },
        {
          "id": "gpio2",
          "name": "GPIO2 / ADC1_2 / RTC / STRAP / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "analog_input",
              "direction": "input"
            },
            {
              "name": "rtc_gpio",
              "direction": "bidirectional"
            },
            {
              "name": "fspiq",
              "direction": "input"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO2 with ADC1_CH2, RTC capability, and FSPIQ alternate function. Default pin setting after reset: IE."
        },
        {
          "id": "gpio3",
          "name": "GPIO3 / ADC1_3 / RTC / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "analog_input",
              "direction": "input"
            },
            {
              "name": "rtc_gpio",
              "direction": "bidirectional"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO3 with ADC1_CH3 and RTC capability. Default pin setting after reset: IE."
        },
        {
          "id": "gpio4",
          "name": "GPIO4 / ADC1_4 / RTC / MTMS / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "analog_input",
              "direction": "input"
            },
            {
              "name": "rtc_gpio",
              "direction": "bidirectional"
            },
            {
              "name": "fspihd",
              "direction": "bidirectional"
            },
            {
              "name": "mtms",
              "direction": "input"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO4 with ADC1_CH4, RTC capability, MTMS JTAG function, and FSPIHD alternate function. Default pin setting after reset: IE."
        },
        {
          "id": "gpio5",
          "name": "GPIO5 / ADC2_0 / RTC / MTDI / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "analog_input",
              "direction": "input"
            },
            {
              "name": "rtc_gpio",
              "direction": "bidirectional"
            },
            {
              "name": "fspiwp",
              "direction": "output"
            },
            {
              "name": "mtdi",
              "direction": "input"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO5 with ADC2_CH0, RTC capability, MTDI JTAG function, and FSPIWP alternate function. Default pin setting after reset: IE."
        },
        {
          "id": "gpio6",
          "name": "GPIO6 / MTCK / IE*",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "fspiclk",
              "direction": "output"
            },
            {
              "name": "mtck",
              "direction": "input"
            },
            {
              "name": "ie_star",
              "direction": "config"
            }
          ],
          "description": "GPIO6 with MTCK JTAG function and FSPICLK alternate function. Default pin setting after reset: IE*. The pull-up on MTCK depends on EFUSE_DIS_PAD_JTAG."
        },
        {
          "id": "gpio7",
          "name": "GPIO7 / MTDO / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "fspid",
              "direction": "output"
            },
            {
              "name": "mtdo",
              "direction": "output"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO7 with MTDO JTAG function and FSPID alternate function. Default pin setting after reset: IE."
        },
        {
          "id": "gpio8",
          "name": "GPIO8 / STRAP / LOG / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "log_strap",
              "direction": "config"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO8 strapping pin. Also used to enable or disable ROM log printing. Default pin setting after reset: IE."
        },
        {
          "id": "gpio9",
          "name": "GPIO9 / BOOT strap / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "boot_strap",
              "direction": "config"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO9 strapping pin used for boot mode selection. Default pin settings after reset: IE and WPU."
        },
        {
          "id": "gpio10",
          "name": "GPIO10 / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "fspics0",
              "direction": "output"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO10 with FSPICS0 alternate function. Default pin setting after reset: IE."
        },
        {
          "id": "gpio11",
          "name": "GPIO11",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gpio12",
          "name": "GPIO12 / SPIHD / ID3 / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "spihd",
              "direction": "bidirectional"
            },
            {
              "name": "id3",
              "direction": "bidirectional"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO12 with SPIHD function from the SPI0/1 flash bus. Default pin settings after reset: IE and WPU."
        },
        {
          "id": "gpio13",
          "name": "GPIO13 / SPIWP / ID2 / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "spiwp",
              "direction": "bidirectional"
            },
            {
              "name": "id2",
              "direction": "bidirectional"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO13 with SPIWP function from the SPI0/1 flash bus. Default pin settings after reset: IE and WPU."
        },
        {
          "id": "gpio14",
          "name": "GPIO14 / SPICS0 / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "spics0",
              "direction": "output"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO14 with SPICS0 function from the SPI0/1 flash bus. Default pin settings after reset: IE and WPU."
        },
        {
          "id": "gpio15",
          "name": "GPIO15 / SPICLK / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "spiclk",
              "direction": "output"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO15 with SPICLK function from the SPI0/1 flash bus. Default pin settings after reset: IE and WPU."
        },
        {
          "id": "gpio16",
          "name": "GPIO16 / SPID / ID0 / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "spid",
              "direction": "bidirectional"
            },
            {
              "name": "id0",
              "direction": "bidirectional"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO16 with SPID function from the SPI0/1 flash bus. Default pin settings after reset: IE and WPU."
        },
        {
          "id": "gpio17",
          "name": "GPIO17 / SPIQ / ID1 / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "spiq",
              "direction": "bidirectional"
            },
            {
              "name": "id1",
              "direction": "bidirectional"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO17 with SPIQ function from the SPI0/1 flash bus. Default pin settings after reset: IE and WPU."
        },
        {
          "id": "gpio18",
          "name": "GPIO18 / USB_D-",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "usb_dm",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gpio19",
          "name": "GPIO19 / USB_D+ / USB_PU / UPU",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "usb_dp",
              "direction": "bidirectional"
            },
            {
              "name": "usb_pu",
              "direction": "config"
            },
            {
              "name": "upu",
              "direction": "config"
            }
          ],
          "description": "GPIO19 with USB_D+ and USB pull-up control behavior. By default the USB Serial/JTAG pull-up is enabled on USB pins."
        },
        {
          "id": "gpio20",
          "name": "GPIO20 / UART0_RX / IE",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "uart_rx",
              "direction": "input"
            },
            {
              "name": "ie",
              "direction": "config"
            }
          ],
          "description": "GPIO20 with U0RXD function. Default pin settings after reset: IE and WPU."
        },
        {
          "id": "gpio21",
          "name": "GPIO21 / UART0_TX",
          "connector_type": "pin",
          "power_domain_id": "io_3v3",
          "functions": [
            {
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "name": "uart_tx",
              "direction": "output"
            }
          ],
          "description": "GPIO21 with U0TXD function. Default pin setting after reset: WPU."
        },
        {
          "id": "gnd_1",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gnd_2",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gnd_3",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gnd_4",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gnd_5",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gnd_6",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gnd_7",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gnd_8",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gnd_9",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "gnd_10",
          "name": "GND",
          "connector_type": "pin",
          "power_domain_id": "gnd",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional"
            }
          ]
        }
      ],
      "interfaces": [
        {
          "id": "micro_usb",
          "name": "micro_usb",
          "protocol": {
            "type": "custom",
            "role": "peer"
          },
          "requires": [
            {
              "function": "micro_usb",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1,
            "requires_connector_type": "micro_usb"
          },
          "description": "Bundled Micro-USB connector carrying board power, programming, and USB-UART data."
        },
        {
          "id": "serial_uart0",
          "name": "Serial / UART0",
          "protocol": {
            "type": "uart",
            "role": "peer"
          },
          "requires": [
            {
              "function": "uart_tx",
              "count": 1
            },
            {
              "function": "uart_rx",
              "count": 1
            }
          ],
          "description": "Primary UART serial pins exposed on GPIO20 and GPIO21."
        },
        {
          "id": "usb_serial_jtag",
          "name": "USB Serial/JTAG",
          "protocol": {
            "type": "custom",
            "role": "device"
          },
          "requires": [
            {
              "function": "usb_dm",
              "count": 1
            },
            {
              "function": "usb_dp",
              "count": 1
            }
          ],
          "max_instances": 1,
          "description": "Dedicated native USB Serial/JTAG interface exposed on GPIO18 and GPIO19."
        },
        {
          "id": "jtag",
          "name": "JTAG",
          "protocol": {
            "type": "custom",
            "role": "peer"
          },
          "requires": [
            {
              "function": "mtms",
              "count": 1
            },
            {
              "function": "mtdi",
              "count": 1
            },
            {
              "function": "mtck",
              "count": 1
            },
            {
              "function": "mtdo",
              "count": 1
            }
          ],
          "max_instances": 1,
          "description": "Dedicated JTAG debug interface exposed on GPIO4 through GPIO7."
        },
        {
          "id": "gpio",
          "name": "GPIO",
          "protocol": {
            "type": "digital",
            "role": "peer"
          },
          "requires": [
            {
              "function": "digital_io",
              "count": 1
            }
          ],
          "max_instances": 22
        },
        {
          "id": "adc",
          "name": "ADC input",
          "protocol": {
            "type": "analog",
            "role": "input"
          },
          "requires": [
            {
              "function": "analog_input",
              "count": 1
            }
          ],
          "max_instances": 6
        },
        {
          "id": "fspi_master",
          "name": "FSPI",
          "protocol": {
            "type": "spi",
            "role": "master"
          },
          "requires": [
            {
              "function": "fspiclk",
              "count": 1
            },
            {
              "function": "fspid",
              "count": 1
            },
            {
              "function": "fspiq",
              "count": 1
            },
            {
              "function": "fspics0",
              "count": 1
            }
          ],
          "description": "Default FSPI signal set routed through GPIO2, GPIO6, GPIO7, and GPIO10."
        }
      ]
    },
    {
      "domain": "network",
      "resources": [
        {
          "id": "wifi_radio",
          "name": "2.4 GHz Wi-Fi radio",
          "resource_type": "radio",
          "functions": [
            {
              "name": "wifi_rf",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "id": "ble_radio",
          "name": "Bluetooth LE radio",
          "resource_type": "radio",
          "functions": [
            {
              "name": "bluetooth_rf",
              "direction": "bidirectional"
            }
          ]
        }
      ],
      "interfaces": [
        {
          "id": "wifi_client",
          "name": "Wi-Fi",
          "protocol": {
            "type": "wifi",
            "role": "client"
          },
          "requires": [
            {
              "function": "wifi_rf",
              "count": 1
            }
          ]
        },
        {
          "id": "bluetooth_peer",
          "name": "Bluetooth LE",
          "protocol": {
            "type": "bluetooth",
            "role": "peer"
          },
          "requires": [
            {
              "function": "bluetooth_rf",
              "count": 1
            }
          ]
        }
      ],
      "wireless_capabilities": {
        "supported_wireless_standards": [
          "802.11 b/g/n (2.4GHz)",
          "Bluetooth Low Energy"
        ]
      }
    },
    {
      "domain": "thermal",
      "resources": [],
      "interfaces": [],
      "operating_temperature_C": {
        "min": -40,
        "max": 85
      }
    },
    {
      "domain": "mechanical",
      "resources": [],
      "interfaces": []
    }
  ],
  "warnings": [
    "GPIO2, GPIO8, and GPIO9 are strapping pins and should not be forced to conflicting levels during reset.",
    "Use a data-capable Micro-USB cable for flashing/programming; charge-only cables will not enumerate the USB-UART bridge.",
    "The board can be powered from Micro-USB, 5V header, or 3V3 header, but these supply methods are mutually exclusive.",
    "All GPIO signals are 3.3V logic; avoid direct 5V GPIO drive."
  ]
}