Skip to content

Commit f568c3e

Browse files
epsilonrtP-R-O-C-H-Ypre-commit-ci-lite[bot]
authored
feat(board): add support for Waveshare ESP32-C6 Zero (#12116)
* feat(board): add support for Waveshare ESP32-C6 Zero * Update variants/waveshare_esp32_c6_zero/pins_arduino.h Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com> * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
1 parent 2fc25d7 commit f568c3e

File tree

2 files changed

+270
-0
lines changed

2 files changed

+270
-0
lines changed

boards.txt

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44150,6 +44150,171 @@ waveshare_esp32s3_touch_lcd_128.menu.EraseFlash.all.upload.erase_cmd=-e
4415044150

4415144151
##############################################################
4415244152

44153+
waveshare_esp32_c6_zero.name=Waveshare ESP32-C6 Zero
44154+
44155+
waveshare_esp32_c6_zero.bootloader.tool=esptool_py
44156+
waveshare_esp32_c6_zero.bootloader.tool.default=esptool_py
44157+
44158+
waveshare_esp32_c6_zero.upload.tool=esptool_py
44159+
waveshare_esp32_c6_zero.upload.tool.default=esptool_py
44160+
waveshare_esp32_c6_zero.upload.tool.network=esp_ota
44161+
44162+
waveshare_esp32_c6_zero.upload.maximum_size=1310720
44163+
waveshare_esp32_c6_zero.upload.maximum_data_size=327680
44164+
waveshare_esp32_c6_zero.upload.flags=
44165+
waveshare_esp32_c6_zero.upload.extra_flags=
44166+
waveshare_esp32_c6_zero.upload.use_1200bps_touch=false
44167+
waveshare_esp32_c6_zero.upload.wait_for_upload_port=false
44168+
44169+
waveshare_esp32_c6_zero.serial.disableDTR=false
44170+
waveshare_esp32_c6_zero.serial.disableRTS=false
44171+
44172+
waveshare_esp32_c6_zero.build.tarch=riscv32
44173+
waveshare_esp32_c6_zero.build.target=esp
44174+
waveshare_esp32_c6_zero.build.mcu=esp32c6
44175+
waveshare_esp32_c6_zero.build.core=esp32
44176+
waveshare_esp32_c6_zero.build.variant=waveshare_esp32_c6_zero
44177+
waveshare_esp32_c6_zero.build.board=WAVESHARE_ESP32_C6_ZERO
44178+
waveshare_esp32_c6_zero.build.bootloader_addr=0x0
44179+
44180+
waveshare_esp32_c6_zero.build.cdc_on_boot=0
44181+
waveshare_esp32_c6_zero.build.f_cpu=160000000L
44182+
waveshare_esp32_c6_zero.build.flash_size=4MB
44183+
waveshare_esp32_c6_zero.build.flash_freq=80m
44184+
waveshare_esp32_c6_zero.build.flash_mode=qio
44185+
waveshare_esp32_c6_zero.build.boot=qio
44186+
waveshare_esp32_c6_zero.build.partitions=default
44187+
waveshare_esp32_c6_zero.build.defines=
44188+
44189+
## IDE 2.0 Seems to not update the value
44190+
waveshare_esp32_c6_zero.menu.JTAGAdapter.default=Disabled
44191+
waveshare_esp32_c6_zero.menu.JTAGAdapter.default.build.copy_jtag_files=0
44192+
waveshare_esp32_c6_zero.menu.JTAGAdapter.builtin=Integrated USB JTAG
44193+
waveshare_esp32_c6_zero.menu.JTAGAdapter.builtin.build.openocdscript=esp32c6-builtin.cfg
44194+
waveshare_esp32_c6_zero.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
44195+
waveshare_esp32_c6_zero.menu.JTAGAdapter.external=FTDI Adapter
44196+
waveshare_esp32_c6_zero.menu.JTAGAdapter.external.build.openocdscript=esp32c6-ftdi.cfg
44197+
waveshare_esp32_c6_zero.menu.JTAGAdapter.external.build.copy_jtag_files=1
44198+
waveshare_esp32_c6_zero.menu.JTAGAdapter.bridge=ESP USB Bridge
44199+
waveshare_esp32_c6_zero.menu.JTAGAdapter.bridge.build.openocdscript=esp32c6-bridge.cfg
44200+
waveshare_esp32_c6_zero.menu.JTAGAdapter.bridge.build.copy_jtag_files=1
44201+
44202+
waveshare_esp32_c6_zero.menu.CDCOnBoot.default=Disabled
44203+
waveshare_esp32_c6_zero.menu.CDCOnBoot.default.build.cdc_on_boot=0
44204+
waveshare_esp32_c6_zero.menu.CDCOnBoot.cdc=Enabled
44205+
waveshare_esp32_c6_zero.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
44206+
44207+
waveshare_esp32_c6_zero.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
44208+
waveshare_esp32_c6_zero.menu.PartitionScheme.default.build.partitions=default
44209+
waveshare_esp32_c6_zero.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
44210+
waveshare_esp32_c6_zero.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
44211+
waveshare_esp32_c6_zero.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
44212+
waveshare_esp32_c6_zero.menu.PartitionScheme.minimal.build.partitions=minimal
44213+
waveshare_esp32_c6_zero.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
44214+
waveshare_esp32_c6_zero.menu.PartitionScheme.no_ota.build.partitions=no_ota
44215+
waveshare_esp32_c6_zero.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
44216+
waveshare_esp32_c6_zero.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
44217+
waveshare_esp32_c6_zero.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
44218+
waveshare_esp32_c6_zero.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
44219+
waveshare_esp32_c6_zero.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
44220+
waveshare_esp32_c6_zero.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
44221+
waveshare_esp32_c6_zero.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
44222+
waveshare_esp32_c6_zero.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
44223+
waveshare_esp32_c6_zero.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
44224+
waveshare_esp32_c6_zero.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
44225+
waveshare_esp32_c6_zero.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
44226+
waveshare_esp32_c6_zero.menu.PartitionScheme.huge_app.build.partitions=huge_app
44227+
waveshare_esp32_c6_zero.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
44228+
waveshare_esp32_c6_zero.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
44229+
waveshare_esp32_c6_zero.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
44230+
waveshare_esp32_c6_zero.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
44231+
waveshare_esp32_c6_zero.menu.PartitionScheme.rainmaker=RainMaker 4MB
44232+
waveshare_esp32_c6_zero.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
44233+
waveshare_esp32_c6_zero.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
44234+
waveshare_esp32_c6_zero.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA
44235+
waveshare_esp32_c6_zero.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota
44236+
waveshare_esp32_c6_zero.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656
44237+
waveshare_esp32_c6_zero.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs
44238+
waveshare_esp32_c6_zero.menu.PartitionScheme.zigbee.build.partitions=zigbee
44239+
waveshare_esp32_c6_zero.menu.PartitionScheme.zigbee.upload.maximum_size=1310720
44240+
waveshare_esp32_c6_zero.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs
44241+
waveshare_esp32_c6_zero.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr
44242+
waveshare_esp32_c6_zero.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720
44243+
waveshare_esp32_c6_zero.menu.PartitionScheme.custom=Custom
44244+
waveshare_esp32_c6_zero.menu.PartitionScheme.custom.build.partitions=
44245+
waveshare_esp32_c6_zero.menu.PartitionScheme.custom.upload.maximum_size=4194304
44246+
44247+
waveshare_esp32_c6_zero.menu.CPUFreq.160=160MHz (WiFi)
44248+
waveshare_esp32_c6_zero.menu.CPUFreq.160.build.f_cpu=160000000L
44249+
waveshare_esp32_c6_zero.menu.CPUFreq.80=80MHz (WiFi)
44250+
waveshare_esp32_c6_zero.menu.CPUFreq.80.build.f_cpu=80000000L
44251+
waveshare_esp32_c6_zero.menu.CPUFreq.40=40MHz
44252+
waveshare_esp32_c6_zero.menu.CPUFreq.40.build.f_cpu=40000000L
44253+
waveshare_esp32_c6_zero.menu.CPUFreq.20=20MHz
44254+
waveshare_esp32_c6_zero.menu.CPUFreq.20.build.f_cpu=20000000L
44255+
waveshare_esp32_c6_zero.menu.CPUFreq.10=10MHz
44256+
waveshare_esp32_c6_zero.menu.CPUFreq.10.build.f_cpu=10000000L
44257+
44258+
waveshare_esp32_c6_zero.menu.FlashMode.qio=QIO
44259+
waveshare_esp32_c6_zero.menu.FlashMode.qio.build.flash_mode=dio
44260+
waveshare_esp32_c6_zero.menu.FlashMode.qio.build.boot=qio
44261+
waveshare_esp32_c6_zero.menu.FlashMode.dio=DIO
44262+
waveshare_esp32_c6_zero.menu.FlashMode.dio.build.flash_mode=dio
44263+
waveshare_esp32_c6_zero.menu.FlashMode.dio.build.boot=dio
44264+
44265+
waveshare_esp32_c6_zero.menu.FlashFreq.80=80MHz
44266+
waveshare_esp32_c6_zero.menu.FlashFreq.80.build.flash_freq=80m
44267+
waveshare_esp32_c6_zero.menu.FlashFreq.40=40MHz
44268+
waveshare_esp32_c6_zero.menu.FlashFreq.40.build.flash_freq=40m
44269+
44270+
waveshare_esp32_c6_zero.menu.FlashSize.4M=4MB (32Mb)
44271+
waveshare_esp32_c6_zero.menu.FlashSize.4M.build.flash_size=4MB
44272+
44273+
waveshare_esp32_c6_zero.menu.UploadSpeed.921600=921600
44274+
waveshare_esp32_c6_zero.menu.UploadSpeed.921600.upload.speed=921600
44275+
waveshare_esp32_c6_zero.menu.UploadSpeed.115200=115200
44276+
waveshare_esp32_c6_zero.menu.UploadSpeed.115200.upload.speed=115200
44277+
waveshare_esp32_c6_zero.menu.UploadSpeed.256000.windows=256000
44278+
waveshare_esp32_c6_zero.menu.UploadSpeed.256000.upload.speed=256000
44279+
waveshare_esp32_c6_zero.menu.UploadSpeed.230400.windows.upload.speed=256000
44280+
waveshare_esp32_c6_zero.menu.UploadSpeed.230400=230400
44281+
waveshare_esp32_c6_zero.menu.UploadSpeed.230400.upload.speed=230400
44282+
waveshare_esp32_c6_zero.menu.UploadSpeed.460800.linux=460800
44283+
waveshare_esp32_c6_zero.menu.UploadSpeed.460800.macosx=460800
44284+
waveshare_esp32_c6_zero.menu.UploadSpeed.460800.upload.speed=460800
44285+
waveshare_esp32_c6_zero.menu.UploadSpeed.512000.windows=512000
44286+
waveshare_esp32_c6_zero.menu.UploadSpeed.512000.upload.speed=512000
44287+
44288+
waveshare_esp32_c6_zero.menu.DebugLevel.none=None
44289+
waveshare_esp32_c6_zero.menu.DebugLevel.none.build.code_debug=0
44290+
waveshare_esp32_c6_zero.menu.DebugLevel.error=Error
44291+
waveshare_esp32_c6_zero.menu.DebugLevel.error.build.code_debug=1
44292+
waveshare_esp32_c6_zero.menu.DebugLevel.warn=Warn
44293+
waveshare_esp32_c6_zero.menu.DebugLevel.warn.build.code_debug=2
44294+
waveshare_esp32_c6_zero.menu.DebugLevel.info=Info
44295+
waveshare_esp32_c6_zero.menu.DebugLevel.info.build.code_debug=3
44296+
waveshare_esp32_c6_zero.menu.DebugLevel.debug=Debug
44297+
waveshare_esp32_c6_zero.menu.DebugLevel.debug.build.code_debug=4
44298+
waveshare_esp32_c6_zero.menu.DebugLevel.verbose=Verbose
44299+
waveshare_esp32_c6_zero.menu.DebugLevel.verbose.build.code_debug=5
44300+
44301+
waveshare_esp32_c6_zero.menu.EraseFlash.none=Disabled
44302+
waveshare_esp32_c6_zero.menu.EraseFlash.none.upload.erase_cmd=
44303+
waveshare_esp32_c6_zero.menu.EraseFlash.all=Enabled
44304+
waveshare_esp32_c6_zero.menu.EraseFlash.all.upload.erase_cmd=-e
44305+
44306+
waveshare_esp32_c6_zero.menu.ZigbeeMode.default=Disabled
44307+
waveshare_esp32_c6_zero.menu.ZigbeeMode.default.build.zigbee_mode=
44308+
waveshare_esp32_c6_zero.menu.ZigbeeMode.default.build.zigbee_libs=
44309+
waveshare_esp32_c6_zero.menu.ZigbeeMode.ed=Zigbee ED (end device)
44310+
waveshare_esp32_c6_zero.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED
44311+
waveshare_esp32_c6_zero.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api.ed -lzboss_stack.ed -lzboss_port.native
44312+
waveshare_esp32_c6_zero.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router)
44313+
waveshare_esp32_c6_zero.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR
44314+
waveshare_esp32_c6_zero.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api.zczr -lzboss_stack.zczr -lzboss_port.native
44315+
44316+
##############################################################
44317+
4415344318
weact_studio_esp32c3.name=WeAct Studio ESP32C3
4415444319

4415544320
weact_studio_esp32c3.upload.tool=esptool_py
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
#include "soc/soc_caps.h"
6+
/*
7+
Arduino Pin Definitions for Waveshare ESP32-C6-Zero
8+
+----------------------------------------------------------------+
9+
| | | | # | USB | # | | | |
10+
|:---:|:-------:|:--------:|:--:|:---:|:--:|:------:|:----:|:---:|
11+
| | | 5V | 1 | TOP | 18 | GPIO16 | TX | D16 |
12+
| | | GND | 2 | TOP | 17 | GPIO17 | RX | D17 |
13+
| | | 3V3(OUT) | 3 | TOP | 16 | GPIO14 | SDA | D12 |
14+
| D0 | A0 | GPIO0 | 4 | TOP | 15 | GPIO15 | SCL | D11 |
15+
| D1 | A1 | GPIO1 | 5 | TOP | 14 | GPIO18 | SS | D10 |
16+
| D2 | A2 | GPIO2 | 6 | TOP | 13 | GPIO19 | MOSI | D9 |
17+
| D3 | A3 | GPIO3 | 7 | TOP | 12 | GPIO20 | MISO | D8 |
18+
| D4 | A4 | GPIO4 | 8 | TOP | 11 | GPIO21 | SCK | D7 |
19+
| D5 | A5 | GPIO5 | 9 | TOP | 10 | GPIO22 | | D6 |
20+
+----------------------------------------------------------------+
21+
22+
+----------------------------------------------------------------+
23+
| | | | # | USB | # | | | |
24+
|:---:|:-------:|:--------:|:--:|:---:|:--:|:------:|:----:|:---:|
25+
| | | | | BOT | | | | |
26+
| | | | | BOT | | | | |
27+
| D21 | | GPIO13 | 19 | BOT | | | | |
28+
| D20 | | GPIO12 | 20 | BOT | | | | |
29+
| D19 | | GPIO23 | 21 | BOT | | | | |
30+
| D18 | BOOT | GPIO9 | 22 | BOT | | | | |
31+
| D13 | RGB_LED | GPIO8 | 23 | BOT | | | | |
32+
| D15 | | GPIO7 | 24 | BOT | | | | |
33+
| D14 | A6 | GPIO6 | 25 | BOT | | | | |
34+
+----------------------------------------------------------------+
35+
*/
36+
// The built-in RGB LED is connected to this pin
37+
static const uint8_t PIN_RGB_LED = 8;
38+
#define PIN_RGB_LED PIN_RGB_LED // allow testing #ifdef PIN_RGB_LED
39+
40+
// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.ino
41+
// but also used in new Arduino API rgbLedWrite()
42+
static const uint8_t RGB_BUILTIN = SOC_GPIO_PIN_COUNT + PIN_RGB_LED;
43+
#define RGB_BUILTIN RGB_BUILTIN // allow testing #ifdef RGB_BUILTIN
44+
45+
// Define default brightness for the built-in RGB LED
46+
#define RGB_BRIGHTNESS 32 // default brightness level (0-255)
47+
48+
// Define the color order for the built-in RGB LED
49+
#define RGB_BUILTIN_LED_COLOR_ORDER LED_COLOR_ORDER_RGB // default WS2812B color order
50+
51+
// Define the built-in as LED pin (RGB LED) to use with digitalWrite()
52+
static const uint8_t LED_BUILTIN = RGB_BUILTIN;
53+
#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN
54+
55+
static const uint8_t TX = 16;
56+
static const uint8_t RX = 17;
57+
58+
static const uint8_t SDA = 14;
59+
static const uint8_t SCL = 15;
60+
61+
static const uint8_t SS = 18;
62+
static const uint8_t MOSI = 19;
63+
static const uint8_t MISO = 20;
64+
static const uint8_t SCK = 21;
65+
66+
static const uint8_t A0 = 0;
67+
static const uint8_t A1 = 1;
68+
static const uint8_t A2 = 2;
69+
static const uint8_t A3 = 3;
70+
static const uint8_t A4 = 4;
71+
static const uint8_t A5 = 5;
72+
static const uint8_t A6 = 6;
73+
74+
static const uint8_t D0 = 0;
75+
static const uint8_t D1 = 1;
76+
static const uint8_t D2 = 2;
77+
static const uint8_t D3 = 3;
78+
static const uint8_t D4 = 4;
79+
static const uint8_t D5 = 5;
80+
static const uint8_t D6 = 22;
81+
static const uint8_t D7 = 21;
82+
static const uint8_t D8 = 20;
83+
static const uint8_t D9 = 19;
84+
static const uint8_t D10 = 18;
85+
static const uint8_t D11 = 15;
86+
static const uint8_t D12 = 14;
87+
static const uint8_t D13 = 8;
88+
static const uint8_t D14 = 6;
89+
static const uint8_t D15 = 7;
90+
static const uint8_t D16 = 16;
91+
static const uint8_t D17 = 17;
92+
static const uint8_t D18 = 9;
93+
static const uint8_t D19 = 23;
94+
static const uint8_t D20 = 12;
95+
static const uint8_t D21 = 13;
96+
97+
// LP I2C Pins are fixed on ESP32-C6
98+
#define WIRE1_PIN_DEFINED
99+
static const uint8_t SDA1 = 6;
100+
static const uint8_t SCL1 = 7;
101+
102+
#define BUILTIN_LED LED_BUILTIN // backward compatibility
103+
#define BUILTIN_RGB RGB_BUILTIN // backward compatibility
104+
105+
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)