Stufin
Home Quick Cart Profile

ESP32-C6-DevKitM-1 Development Board (4 MB SPI Flash)

Buy Now on Stufin

Microcontroller

ESP32-C6 SoC, a dual-core 32-bit LX7 microprocessor

Memory

+ 4 MB SPI Flash memory for storing firmware and data

+ 520 KB SRAM for program execution

Wireless Connectivity

+ 802.11 b/g/n Wi-Fi with built-in antenna

+ Bluetooth Low Energy (BLE) v4.0 BR/EDR

Peripherals

+ 18x digital GPIO pins

+ 2x analog input pins

+ 3x UART interfaces (1x with flow control)

+ 1x I2C interface

+ 1x I2S interface

+ 1x SPI interface

+ 1x SD card interface

+ 1x JTAG interface for debugging

Power Management

+ Operating voltage3.3V
+ Power consumption< 1mA in deep sleep mode

Operating System

Supports MicroPython, Lua, and C programming languages

Functionality

The ESP32-C6-DevKitM-1 development board is designed for a wide range of IoT applications, including

Wi-Fi and BLE-based connectivity for remote monitoring and control

IoT sensor integration for data collection and analysis

Smart home automation and control systems

Wearable devices and health monitoring systems

Robotics and robotic automation systems

Industrial automation and control systems

Key Benefits

Low-power consumption for battery-powered devices

High-performance processing and storage capabilities

Built-in Wi-Fi and BLE capabilities for wireless connectivity

Compatibility with multiple programming languages and development environments

Cost-effective and compact design for prototyping and production

Target Applications

IoT development and prototyping

Smart home and automation systems

Wearable devices and health monitoring systems

Robotics and robotic automation systems

Industrial automation and control systems

Educational projects and experimentation

Recommended Accessories

Breadboard and jumper wires for prototyping

Power supply (3.3V DC)

USB cable for programming and debugging

Wi-Fi and BLE antennas for improved connectivity

Documentation and Resources

Datasheet

ESP32-C6 SoC

User Manual

ESP32-C6-DevKitM-1 Development Board

Programming Guides

MicroPython, Lua, and C

Community Forum

ESP32-C6-DevKitM-1 Development Board

Note

The documentation and resources provided are fictional and for demonstration purposes only. In a real-world scenario, you would need to consult the official documentation and resources provided by the manufacturer or supplier of the component.

Pin Configuration

  • ESP32-C6-DevKitM-1 Development Board (4 MB SPI Flash) Pinout Guide
  • The ESP32-C6-DevKitM-1 development board is a compact and feature-rich board designed for IoT applications. It is equipped with a total of 34 GPIO pins, which can be used for a wide range of applications. Here is a detailed guide to each pin, explaining their functions and how to connect them:
  • GPIO Pins (34)
  • 1. GPIO0: Input/Output, ADC, Touch, Wakeup
  • Can be used as a digital input/output, analog-to-digital converter (ADC), touch interface, or as a wakeup pin to wake the board from deep sleep mode.
  • 2. GPIO1: Input/Output, UART1_TX
  • Can be used as a digital input/output or as the transmit pin for UART1.
  • 3. GPIO2: Input/Output, UART1_RX
  • Can be used as a digital input/output or as the receive pin for UART1.
  • 4. GPIO3: Input/Output, UART0_TX
  • Can be used as a digital input/output or as the transmit pin for UART0.
  • 5. GPIO4: Input/Output, UART0_RX
  • Can be used as a digital input/output or as the receive pin for UART0.
  • 6. GPIO5: Input/Output, SPI_CS0
  • Can be used as a digital input/output or as the chip select pin for SPI0.
  • 7. GPIO6: Input/Output, SPI_CLK
  • Can be used as a digital input/output or as the clock pin for SPI0.
  • 8. GPIO7: Input/Output, SPI_Q
  • Can be used as a digital input/output or as the MOSI (Master Out Slave In) pin for SPI0.
  • 9. GPIO8: Input/Output, SPI_W
  • Can be used as a digital input/output or as the MISO (Master In Slave Out) pin for SPI0.
  • 10. GPIO9: Input/Output, I2C_SCL
  • Can be used as a digital input/output or as the clock pin for I2C.
  • 11. GPIO10: Input/Output, I2C_SDA
  • Can be used as a digital input/output or as the data pin for I2C.
  • 12. GPIO11: Input/Output, ADC2_0
  • Can be used as a digital input/output or as an analog-to-digital converter (ADC2) channel 0.
  • 13. GPIO12: Input/Output, ADC2_3
  • Can be used as a digital input/output or as an analog-to-digital converter (ADC2) channel 3.
  • 14. GPIO13: Input/Output, ADC2_4
  • Can be used as a digital input/output or as an analog-to-digital converter (ADC2) channel 4.
  • 15. GPIO14: Input/Output, HSPI_CLK
  • Can be used as a digital input/output or as the clock pin for HSPI.
  • 16. GPIO15: Input/Output, HSPI_Q
  • Can be used as a digital input/output or as the MOSI (Master Out Slave In) pin for HSPI.
  • 17. GPIO16: Input/Output, HSPI_W
  • Can be used as a digital input/output or as the MISO (Master In Slave Out) pin for HSPI.
  • 18. GPIO17: Input/Output, I2S_LRCK
  • Can be used as a digital input/output or as the left-right clock pin for I2S.
  • 19. GPIO18: Input/Output, I2S_BCK
  • Can be used as a digital input/output or as the bit clock pin for I2S.
  • 20. GPIO19: Input/Output, I2S_DOUT
  • Can be used as a digital input/output or as the data output pin for I2S.
  • 21. GPIO21: Input/Output, SPI_CS1
  • Can be used as a digital input/output or as the chip select pin for SPI1.
  • 22. GPIO22: Input/Output, SPI_CLK
  • Can be used as a digital input/output or as the clock pin for SPI1.
  • 23. GPIO23: Input/Output, SPI_Q
  • Can be used as a digital input/output or as the MOSI (Master Out Slave In) pin for SPI1.
  • 24. GPIO25: Input/Output, ADC1_0
  • Can be used as a digital input/output or as an analog-to-digital converter (ADC1) channel 0.
  • 25. GPIO26: Input/Output, ADC1_1
  • Can be used as a digital input/output or as an analog-to-digital converter (ADC1) channel 1.
  • 26. GPIO27: Input/Output, ADC1_2
  • Can be used as a digital input/output or as an analog-to-digital converter (ADC1) channel 2.
  • 27. GPIO32: Input/Output, Touch9
  • Can be used as a digital input/output or as the touch interface pin 9.
  • 28. GPIO33: Input/Output, Touch8
  • Can be used as a digital input/output or as the touch interface pin 8.
  • 29. GPIO34: Input/Output, Touch7
  • Can be used as a digital input/output or as the touch interface pin 7.
  • 30. GPIO35: Input/Output, V_Ref
  • Can be used as a digital input/output or as the internal voltage reference pin.
  • 31. GPIO36: Input/Output, 32K_XP
  • Can be used as a digital input/output or as the 32.768 kHz crystal oscillator pin.
  • 32. GPIO37: Input/Output, 32K_XN
  • Can be used as a digital input/output or as the 32.768 kHz crystal oscillator pin.
  • 33. GPIO38: Input/Output, RX
  • Can be used as a digital input/output or as the receive pin for an external serial interface.
  • 34. GPIO39: Input/Output, TX
  • Can be used as a digital input/output or as the transmit pin for an external serial interface.
  • Power Pins (5)
  • 1. 3V3: 3.3V power output
  • Provides a stable 3.3V power output for external devices.
  • 2. VCC: Power input
  • The power input pin for the board. Typically connected to a 3.3V power source.
  • 3. GND: Ground
  • The ground pin for the board. Connect to a common ground point.
  • 4. EN: Enable
  • The enable pin for the board. Typically connected to a pull-up resistor and a switch to control the power state.
  • 5. VIN: Power input (optional)
  • An optional power input pin for the board. Can be used to connect an external power source.
  • Communication Interfaces
  • 1. UART0: UART interface
  • A UART interface with RX (GPIO3) and TX (GPIO1) pins.
  • 2. UART1: UART interface
  • A UART interface with RX (GPIO2) and TX (GPIO1) pins.
  • 3. SPI0: SPI interface
  • An SPI interface with CS (GPIO5), CLK (GPIO6), MOSI (GPIO7), and MISO (GPIO8) pins.
  • 4. SPI1: SPI interface
  • An SPI interface with CS (GPIO21), CLK (GPIO22), MOSI (GPIO23), and MISO (GPIO8) pins.
  • 5. I2C: I2C interface
  • An I2C interface with SCL (GPIO9) and SDA (GPIO10) pins.
  • 6. I2S: I2S interface
  • An I2S interface with LRCK (GPIO17), BCK (GPIO18), and DOUT (GPIO19) pins.
  • 7. HSPI: HSPI interface
  • An HSPI interface with CLK (GPIO14), MOSI (GPIO15), and MISO (GPIO16) pins.
  • Connectivity and Expansion
  • 1. USB: USB interface
  • A USB interface for programming and debugging the board.
  • 2. MicroSD: MicroSD card slot
  • A microSD card slot for expanding the board's storage capacity.
  • Note:
  • Always refer to the official documentation and datasheets for the specific component or peripherals being used to ensure proper connection and usage.
  • Be cautious when connecting pins to avoid damaging the board or external devices.
  • Use proper voltage levels and current ratings when connecting external devices to the board.

Code Examples

ESP32-C6-DevKitM-1 Development Board (4 MB SPI Flash) Documentation
Introduction
The ESP32-C6-DevKitM-1 is a development board based on the ESP32-C6 microcontroller, a System-on-Chip (SoC) that integrates a dual-core 32-bit LX6 microprocessor, Wi-Fi, and Bluetooth capabilities. The board comes with 4 MB of SPI Flash memory and is designed for IoT applications, robotic projects, and Wi-Fi-based solutions.
Features
Dual-core 32-bit LX6 microprocessor
 4 MB SPI Flash memory
 Wi-Fi and Bluetooth capabilities
 USB-to-UART bridge for programming and debugging
 Multiple GPIO pins for peripheral connections
 Onboard voltage regulator and power management
Getting Started
To get started with the ESP32-C6-DevKitM-1, you'll need to:
1. Install the Arduino IDE or ESP-IDF (IoT Development Framework) on your computer.
2. Connect the board to your computer using a USB cable.
3. Select the correct serial port and board type in the IDE.
Code Examples
Example 1: Wi-Fi Connectivity
This example demonstrates how to connect to a Wi-Fi network using the ESP32-C6-DevKitM-1:
```c++
#include <WiFi.h>
const char ssid = "your_wifi_ssid";
const char password = "your_wifi_password";
void setup() {
  Serial.begin(115200);
  
  // Initialize Wi-Fi
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
Serial.println("Connected to WiFi");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}
void loop() {
  // Your code here
}
```
Example 2: Bluetooth Low Energy (BLE) Advertising
This example demonstrates how to use the ESP32-C6-DevKitM-1 as a BLE advertiser:
```c++
#include <BLE.h>
BLEServer server;
BLEAdvertising advertising;
void setup() {
  Serial.begin(115200);
// Initialize BLE
  BLE.init();
// Create a BLE server
  server = BLE.server();
// Create a BLE advertising object
  advertising = server->getAdvertising();
// Set the advertising data
  advertising->setServiceID((uint16_t)0x180f);
  advertising->setDeviceName("ESP32-C6-DevKitM-1");
  advertising->setTxPower(-6);
// Start advertising
  advertising->start();
  Serial.println("Advertising started");
}
void loop() {
  // Your code here
}
```
Example 3: Reading Analog Input
This example demonstrates how to read analog input from a potentiometer connected to one of the board's analog input pins:
```c++
const int analogPin = 32;  // GPIO32 (analog input)
void setup() {
  Serial.begin(115200);
}
void loop() {
  int analogValue = analogRead(analogPin);
  float voltage = (analogValue / 4095.0)  3.3;
Serial.print("Analog value: ");
  Serial.print(analogValue);
  Serial.print(" | Voltage: ");
  Serial.println(voltage);
delay(100);
}
```
These examples demonstrate the versatility of the ESP32-C6-DevKitM-1 development board and its capabilities in Wi-Fi connectivity, BLE advertising, and analog input reading.