Skip to content

feat(esp32): Added a new device(xiao esp32c5) #11677

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
198 changes: 198 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36120,6 +36120,204 @@ XIAO_ESP32C3.menu.EraseFlash.all.upload.erase_cmd=-e

##############################################################


XIAO_ESP32C5.name=XIAO_ESP32C5

XIAO_ESP32C5.vid.0=0x2886
XIAO_ESP32C5.pid.0=0x0067

XIAO_ESP32C5.bootloader.tool=esptool_py
XIAO_ESP32C5.bootloader.tool.default=esptool_py

XIAO_ESP32C5.upload.tool=esptool_py
XIAO_ESP32C5.upload.tool.default=esptool_py
XIAO_ESP32C5.upload.tool.network=esp_ota

XIAO_ESP32C5.upload.maximum_size=1310720
XIAO_ESP32C5.upload.maximum_data_size=327680
XIAO_ESP32C5.upload.flags=
XIAO_ESP32C5.upload.extra_flags=
XIAO_ESP32C5.upload.use_1200bps_touch=false
XIAO_ESP32C5.upload.wait_for_upload_port=false

XIAO_ESP32C5.serial.disableDTR=false
XIAO_ESP32C5.serial.disableRTS=false

XIAO_ESP32C5.build.tarch=riscv32
XIAO_ESP32C5.build.target=esp
XIAO_ESP32C5.build.mcu=esp32c5
XIAO_ESP32C5.build.core=esp32
XIAO_ESP32C5.build.variant=XIAO_ESP32C5
XIAO_ESP32C5.build.board=XIAO_ESP32C5
XIAO_ESP32C5.build.bootloader_addr=0x2000

XIAO_ESP32C5.build.cdc_on_boot=1
XIAO_ESP32C5.build.f_cpu=240000000L
XIAO_ESP32C5.build.flash_size=8MB
XIAO_ESP32C5.build.flash_freq=80m
XIAO_ESP32C5.build.flash_mode=qio
XIAO_ESP32C5.build.boot=qio
XIAO_ESP32C5.build.partitions=default_8MB
XIAO_ESP32C5.build.defines=

## IDE 2.0 Seems to not update the value
XIAO_ESP32C5.menu.JTAGAdapter.default=Disabled
XIAO_ESP32C5.menu.JTAGAdapter.default.build.copy_jtag_files=0
XIAO_ESP32C5.menu.JTAGAdapter.builtin=Integrated USB JTAG
XIAO_ESP32C5.menu.JTAGAdapter.builtin.build.openocdscript=esp32c5-builtin.cfg
XIAO_ESP32C5.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
XIAO_ESP32C5.menu.JTAGAdapter.external=FTDI Adapter
XIAO_ESP32C5.menu.JTAGAdapter.external.build.openocdscript=esp32c5-ftdi.cfg
XIAO_ESP32C5.menu.JTAGAdapter.external.build.copy_jtag_files=1
XIAO_ESP32C5.menu.JTAGAdapter.bridge=ESP USB Bridge
XIAO_ESP32C5.menu.JTAGAdapter.bridge.build.openocdscript=esp32c5-bridge.cfg
XIAO_ESP32C5.menu.JTAGAdapter.bridge.build.copy_jtag_files=1

XIAO_ESP32C5.menu.PSRAM.disabled=Disabled
XIAO_ESP32C5.menu.PSRAM.disabled.build.defines=
XIAO_ESP32C5.menu.PSRAM.enabled=Enabled
XIAO_ESP32C5.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM

XIAO_ESP32C5.menu.CDCOnBoot.cdc=Enabled
XIAO_ESP32C5.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
XIAO_ESP32C5.menu.CDCOnBoot.default=Disabled
XIAO_ESP32C5.menu.CDCOnBoot.default.build.cdc_on_boot=0

XIAO_ESP32C5.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS)
XIAO_ESP32C5.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
XIAO_ESP32C5.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
XIAO_ESP32C5.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
XIAO_ESP32C5.menu.PartitionScheme.default.build.partitions=default
XIAO_ESP32C5.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
XIAO_ESP32C5.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
XIAO_ESP32C5.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
XIAO_ESP32C5.menu.PartitionScheme.minimal.build.partitions=minimal
XIAO_ESP32C5.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
XIAO_ESP32C5.menu.PartitionScheme.no_ota.build.partitions=no_ota
XIAO_ESP32C5.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
XIAO_ESP32C5.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
XIAO_ESP32C5.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
XIAO_ESP32C5.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
XIAO_ESP32C5.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
XIAO_ESP32C5.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
XIAO_ESP32C5.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
XIAO_ESP32C5.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
XIAO_ESP32C5.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
XIAO_ESP32C5.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
XIAO_ESP32C5.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
XIAO_ESP32C5.menu.PartitionScheme.huge_app.build.partitions=huge_app
XIAO_ESP32C5.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
XIAO_ESP32C5.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
XIAO_ESP32C5.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
XIAO_ESP32C5.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
XIAO_ESP32C5.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
XIAO_ESP32C5.menu.PartitionScheme.fatflash.build.partitions=ffat
XIAO_ESP32C5.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
XIAO_ESP32C5.menu.PartitionScheme.rainmaker=RainMaker 4MB
XIAO_ESP32C5.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
XIAO_ESP32C5.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
XIAO_ESP32C5.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA
XIAO_ESP32C5.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota
XIAO_ESP32C5.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656
XIAO_ESP32C5.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB
XIAO_ESP32C5.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB
XIAO_ESP32C5.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480
XIAO_ESP32C5.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs
XIAO_ESP32C5.menu.PartitionScheme.zigbee.build.partitions=zigbee
XIAO_ESP32C5.menu.PartitionScheme.zigbee.upload.maximum_size=1310720
XIAO_ESP32C5.menu.PartitionScheme.zigbee_8MB=Zigbee 8MB with spiffs
XIAO_ESP32C5.menu.PartitionScheme.zigbee_8MB.build.partitions=zigbee_8MB
XIAO_ESP32C5.menu.PartitionScheme.zigbee_8MB.upload.maximum_size=3407872
XIAO_ESP32C5.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs
XIAO_ESP32C5.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr
XIAO_ESP32C5.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720
XIAO_ESP32C5.menu.PartitionScheme.zigbee_zczr_8MB=Zigbee ZCZR 8MB with spiffs
XIAO_ESP32C5.menu.PartitionScheme.zigbee_zczr_8MB.build.partitions=zigbee_zczr_8MB
XIAO_ESP32C5.menu.PartitionScheme.zigbee_zczr_8MB.upload.maximum_size=3407872

XIAO_ESP32C5.menu.CPUFreq.240=240MHz (WiFi)
XIAO_ESP32C5.menu.CPUFreq.240.build.f_cpu=240000000L
XIAO_ESP32C5.menu.CPUFreq.160=160MHz (WiFi)
XIAO_ESP32C5.menu.CPUFreq.160.build.f_cpu=160000000L
XIAO_ESP32C5.menu.CPUFreq.80=80MHz (WiFi)
XIAO_ESP32C5.menu.CPUFreq.80.build.f_cpu=80000000L
XIAO_ESP32C5.menu.CPUFreq.40=40MHz
XIAO_ESP32C5.menu.CPUFreq.40.build.f_cpu=40000000L
XIAO_ESP32C5.menu.CPUFreq.20=20MHz
XIAO_ESP32C5.menu.CPUFreq.20.build.f_cpu=20000000L
XIAO_ESP32C5.menu.CPUFreq.10=10MHz
XIAO_ESP32C5.menu.CPUFreq.10.build.f_cpu=10000000L

XIAO_ESP32C5.menu.FlashMode.qio=QIO
XIAO_ESP32C5.menu.FlashMode.qio.build.flash_mode=dio
XIAO_ESP32C5.menu.FlashMode.qio.build.boot=qio
XIAO_ESP32C5.menu.FlashMode.dio=DIO
XIAO_ESP32C5.menu.FlashMode.dio.build.flash_mode=dio
XIAO_ESP32C5.menu.FlashMode.dio.build.boot=dio

XIAO_ESP32C5.menu.FlashFreq.80=80MHz
XIAO_ESP32C5.menu.FlashFreq.80.build.flash_freq=80m
XIAO_ESP32C5.menu.FlashFreq.40=40MHz
XIAO_ESP32C5.menu.FlashFreq.40.build.flash_freq=40m

XIAO_ESP32C5.menu.FlashSize.8M=8MB (64Mb)
XIAO_ESP32C5.menu.FlashSize.8M.build.flash_size=8MB
XIAO_ESP32C5.menu.FlashSize.4M=4MB (32Mb)
XIAO_ESP32C5.menu.FlashSize.4M.build.flash_size=4MB
XIAO_ESP32C5.menu.FlashSize.2M=2MB (16Mb)
XIAO_ESP32C5.menu.FlashSize.2M.build.flash_size=2MB

XIAO_ESP32C5.menu.UploadSpeed.921600=921600
XIAO_ESP32C5.menu.UploadSpeed.921600.upload.speed=921600
XIAO_ESP32C5.menu.UploadSpeed.115200=115200
XIAO_ESP32C5.menu.UploadSpeed.115200.upload.speed=115200
XIAO_ESP32C5.menu.UploadSpeed.256000.windows=256000
XIAO_ESP32C5.menu.UploadSpeed.256000.upload.speed=256000
XIAO_ESP32C5.menu.UploadSpeed.230400.windows.upload.speed=256000
XIAO_ESP32C5.menu.UploadSpeed.230400=230400
XIAO_ESP32C5.menu.UploadSpeed.230400.upload.speed=230400
XIAO_ESP32C5.menu.UploadSpeed.460800.linux=460800
XIAO_ESP32C5.menu.UploadSpeed.460800.macosx=460800
XIAO_ESP32C5.menu.UploadSpeed.460800.upload.speed=460800
XIAO_ESP32C5.menu.UploadSpeed.512000.windows=512000
XIAO_ESP32C5.menu.UploadSpeed.512000.upload.speed=512000

XIAO_ESP32C5.menu.DebugLevel.none=None
XIAO_ESP32C5.menu.DebugLevel.none.build.code_debug=0
XIAO_ESP32C5.menu.DebugLevel.error=Error
XIAO_ESP32C5.menu.DebugLevel.error.build.code_debug=1
XIAO_ESP32C5.menu.DebugLevel.warn=Warn
XIAO_ESP32C5.menu.DebugLevel.warn.build.code_debug=2
XIAO_ESP32C5.menu.DebugLevel.info=Info
XIAO_ESP32C5.menu.DebugLevel.info.build.code_debug=3
XIAO_ESP32C5.menu.DebugLevel.debug=Debug
XIAO_ESP32C5.menu.DebugLevel.debug.build.code_debug=4
XIAO_ESP32C5.menu.DebugLevel.verbose=Verbose
XIAO_ESP32C5.menu.DebugLevel.verbose.build.code_debug=5

XIAO_ESP32C5.menu.EraseFlash.none=Disabled
XIAO_ESP32C5.menu.EraseFlash.none.upload.erase_cmd=
XIAO_ESP32C5.menu.EraseFlash.all=Enabled
XIAO_ESP32C5.menu.EraseFlash.all.upload.erase_cmd=-e

XIAO_ESP32C5.menu.ZigbeeMode.default=Disabled
XIAO_ESP32C5.menu.ZigbeeMode.default.build.zigbee_mode=
XIAO_ESP32C5.menu.ZigbeeMode.default.build.zigbee_libs=
XIAO_ESP32C5.menu.ZigbeeMode.ed=Zigbee ED (end device)
XIAO_ESP32C5.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED
XIAO_ESP32C5.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api.ed -lzboss_stack.ed -lzboss_port.native
XIAO_ESP32C5.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router)
XIAO_ESP32C5.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR
XIAO_ESP32C5.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api.zczr -lzboss_stack.zczr -lzboss_port.native
XIAO_ESP32C5.menu.ZigbeeMode.ed_debug=Zigbee ED (end device) - Debug
XIAO_ESP32C5.menu.ZigbeeMode.ed_debug.build.zigbee_mode=-DZIGBEE_MODE_ED
XIAO_ESP32C5.menu.ZigbeeMode.ed_debug.build.zigbee_libs=-lesp_zb_api.ed.debug -lzboss_stack.ed.debug -lzboss_port.native.debug
XIAO_ESP32C5.menu.ZigbeeMode.zczr_debug=Zigbee ZCZR (coordinator/router) - Debug
XIAO_ESP32C5.menu.ZigbeeMode.zczr_debug.build.zigbee_mode=-DZIGBEE_MODE_ZCZR
XIAO_ESP32C5.menu.ZigbeeMode.zczr_debug.build.zigbee_libs=-lesp_zb_api.zczr.debug -lzboss_stack.zczr.debug -lzboss_port.native.debug

##############################################################

XIAO_ESP32C6.name=XIAO_ESP32C6

XIAO_ESP32C6.bootloader.tool=esptool_py
Expand Down
42 changes: 42 additions & 0 deletions variants/XIAO_ESP32C5/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

#define USB_VID 0x2886
#define USB_PID 0x0067

static const uint8_t LED_BUILTIN = 27;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN

static const uint8_t TX = 11;
static const uint8_t RX = 12;

static const uint8_t SDA = 23;
static const uint8_t SCL = 24;

static const uint8_t SS = 7;
static const uint8_t MOSI = 10;
static const uint8_t MISO = 9;
static const uint8_t SCK = 8;

static const uint8_t A0 = 1;
static const uint8_t A1 = 2;
static const uint8_t A2 = 3;
static const uint8_t A3 = 4;
static const uint8_t A4 = 5;

static const uint8_t D0 = 1;
static const uint8_t D1 = 0;
static const uint8_t D2 = 25;
static const uint8_t D3 = 7;
static const uint8_t D4 = 23;
static const uint8_t D5 = 24;
static const uint8_t D6 = 11;
static const uint8_t D7 = 12;
static const uint8_t D8 = 8;
static const uint8_t D9 = 9;
static const uint8_t D10 = 10;

#endif /* Pins_Arduino_h */