ESP32-C6-DevKitC-1 开发板

元器件
开发板
库存 220

介绍

乐鑫官方 ESP32-C6-DevKitC-1 开发板,搭载ESP32-C6单核RISC-V 160MHz处理器,8MB Flash,512KB SRAM,内置2.4GHz Wi-Fi 6(802.11ax)、Bluetooth 5.3(LE)和IEEE 802.15.4(Zigbee/Thread/Matter)。板上集成USB Type-C(USB Serial/JTAG)、5V转3.3V LDO、Boot/Reset按钮、2.54mm排针引出30个可编程GPIO。板载PCB天线,支持Matter智能家居协议栈,是乐鑫首款Wi-Fi 6开发平台。

规格参数

参数
ADC12位 SAR ADC ×7
LED电源LED + 用户RGB LED
USBType-C USB 2.0
GPIO30个(排针引出)
SRAM512KB
Flash8MB(板载)
Wi-Fi2.4GHz 802.11ax (Wi-Fi 6)
主频160MHz
供电USB 5V 或 3.3V/5V排针
天线板载PCB天线
尺寸57.0×28.0mm
按钮Boot + Reset
架构32位RISC-V单核
特有Wi-Fi 6 TWT节能, Matter协议支持
蓝牙BLE 5.3
802.15.4Zigbee / Thread / Matter
主控芯片ESP32-C6
外设接口SPI×3, I2C×2, I2S×1, UART×3, USB Serial/JTAG×1, LEDC PWM, SDIO 2.0
工作温度-40~85°C

代码例程

ESP32-C6-DevKitC-1 开发板 — Arduino/MicroPython 代码例程.md

# ESP32-C6-DevKitC-1 开发板 — 代码例程

## 例程 1:Arduino — Wi-Fi 6 连接 + 网络质量检测

```cpp
#include <WiFi.h>

const char* ssid = "YOUR_WIFI6_SSID";
const char* password = "YOUR_PASSWORD";

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("\n=== ESP32-C6 Wi-Fi 6 Test ===");

  // 优先使用 Wi-Fi 6 (802.11ax)
  WiFi.setMode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("\n✅ Connected!");
  Serial.printf("SSID: %s\n", WiFi.SSID().c_str());
  Serial.printf("RSSI: %d dBm\n", WiFi.RSSI());
  Serial.printf("Channel: %d\n", WiFi.channel());

  // 判断是否 Wi-Fi 6 连接
  wifi_ap_record_t ap_info;
  esp_wifi_sta_get_ap_info(&ap_info);
  if (ap_info.phy_11ax) {
    Serial.println("📡 Connected via Wi-Fi 6 (802.11ax)!");
  } else {
    Serial.println("Connected via legacy Wi-Fi");
  }

  Serial.printf("Local IP: %s\n", WiFi.localIP().toString().c_str());
}

void loop() {
  static unsigned long lastCheck = 0;
  if (millis() - lastCheck > 5000) {
    lastCheck = millis();
    Serial.printf("RSSI: %d dBm | Status: %d\n", WiFi.RSSI(), WiFi.status());
  }
}
```

---

## 例程 2:MicroPython — GPIO + PWM 全测试

```python
from machine import Pin, PWM, ADC
import time

# --- 输出测试:闪烁 LED ---
led = Pin(2, Pin.OUT)
for i in range(5):
    led.toggle()
    time.sleep(0.3)

# --- PWM 呼吸灯 ---
pwm = PWM(Pin(2), freq=1000, duty=0)
print("PWM breathing LED...")
for duty in range(0, 1024, 8):
    pwm.duty(duty)
    time.sleep(0.005)
for duty in range(1023, -1, -8):
    pwm.duty(duty)
    time.sleep(0.005)

# --- 按钮输入 + 中断 ---
button = Pin(9, Pin.IN, Pin.PULL_UP)
press_count = 0

def button_handler(pin):
    global press_count
    press_count += 1
    print(f"Button pressed! Count: {press_count}")

button.irq(trigger=Pin.IRQ_FALLING, handler=button_handler)

# --- ADC 读取 ---
adc = ADC(Pin(0))
adc.atten(ADC.ATTN_11DB)

print("Reading ADC (GPIO0)... Press Ctrl+C to stop.")
try:
    while True:
        val = adc.read()
        voltage = val * 3.3 / 4095
        print(f"ADC: {val:4d} | Voltage: {voltage:.2f}V | Button: {press_count}")
        time.sleep(0.5)
except KeyboardInterrupt:
    print("Done!")
    pwm.deinit()
```

---

## 例程 3:Arduino — BLE 5.3 传感器外设

```cpp
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEServer.h>
#include <BLE2902.h>

#define SERVICE_UUID        "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"

BLECharacteristic *pCharacteristic;
bool deviceConnected = false;

class MyServerCallbacks : public BLEServerCallbacks {
  void onConnect(BLEServer* pServer) {
    deviceConnected = true;
    Serial.println("BLE Client connected!");
  }
  void onDisconnect(BLEServer* pServer) {
    deviceConnected = false;
    Serial.println("BLE Client disconnected. Restarting advertising...");
    pServer->startAdvertising();
  }
};

void setup() {
  Serial.begin(115200);
  Serial.println("=== ESP32-C6 BLE 5.3 Server ===");

  BLEDevice::init("ESP32-C6-Sensor");
  BLEServer *pServer = BLEDevice::createServer();
  pServer->setCallbacks(new MyServerCallbacks());

  BLEService *pService = pServer->createService(SERVICE_UUID);
  pCharacteristic = pService->createCharacteristic(
    CHARACTERISTIC_UUID,
    BLECharacteristic::PROPERTY_READ |
    BLECharacteristic::PROPERTY_NOTIFY
  );
  pCharacteristic->addDescriptor(new BLE2902());
  pCharacteristic->setValue("Hello from ESP32-C6!");

  pService->start();
  BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
  pAdvertising->addServiceUUID(SERVICE_UUID);
  pAdvertising->setScanResponse(true);
  pAdvertising->setMinPreferred(0x06);
  BLEDevice::startAdvertising();

  Serial.println("BLE advertising started!");
}

void loop() {
  if (deviceConnected) {
    char buf[32];
    snprintf(buf, sizeof(buf), "Uptime: %lu s", millis() / 1000);
    pCharacteristic->setValue(buf);
    pCharacteristic->notify();
    delay(2000);
  }
  delay(10);
}
```

---

## 例程 4:MicroPython — 802.15.4 / Zigbee 简单广播(实验性)

```python
# 注意:ESP32-C6 的 MicroPython 802.15.4 支持可能受限
# 生产环境推荐使用 ESP-IDF 的 OpenThread/Matter SDK

import network
import time

# Wi-Fi 作为 Matter Bridge
wlan = network.WLAN(network.STA_IF)
wlan.active(True)

print("Wi-Fi 6 / BLE 5.3 / 802.15.4 capable chip ready")
print(f"MAC: {':'.join('%02X' % b for b in wlan.config('mac'))}")

# BLE 初始化
import bluetooth
ble = bluetooth.BLE()
ble.active(True)
print(f"BLE Active: {ble.active()}")

print("ESP32-C6 三模无线 (Wi-Fi 6 + BLE 5.3 + 802.15.4) 已就绪")
```

---

## 例程 5:ESP-IDF — Matter 灯控设备(概念示例)

```c
// 需要在 ESP-IDF v5.1+ 环境下编译
// 这是 Matter Lighting App 的简化入口示意

#include "esp_matter.h"
#include "esp_matter_console.h"

static void app_event_cb(const ChipDeviceEvent *event, intptr_t arg) {
    // Matter 事件处理
}

extern "C" void app_main() {
    // 初始化 Matter 节点
    esp_matter::node_t *node = esp_matter::node::create(
        nullptr, app_event_cb, nullptr
    );

    // 创建 OnOff 灯控端点
    esp_matter::endpoint::on_off_light::config_t light_cfg;
    esp_matter::endpoint::on_off_light::create(node, &light_cfg,
        esp_matter::ENDPOINT_FLAG_NONE, nullptr);

    // 启动 Matter
    esp_matter::start();
    ESP_LOGI("Main", "Matter Lighting node started on ESP32-C6");
}
```

参考资料

暂无参考文献