Skip to content

add(board): Add M5Stack NanoC6 Dev Kit #9942

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

Merged
merged 12 commits into from
Jul 16, 2024
154 changes: 154 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21803,6 +21803,160 @@ m5stack_dial.menu.EraseFlash.all.upload.erase_cmd=-e

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

m5stack_nanoc6.name=M5NanoC6

m5stack_nanoc6.bootloader.tool=esptool_py
m5stack_nanoc6.bootloader.tool.default=esptool_py

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

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

m5stack_nanoc6.serial.disableDTR=false
m5stack_nanoc6.serial.disableRTS=false

m5stack_nanoc6.build.tarch=riscv32
m5stack_nanoc6.build.target=esp
m5stack_nanoc6.build.mcu=esp32c6
m5stack_nanoc6.build.core=esp32
m5stack_nanoc6.build.variant=m5stack_nanoc6
m5stack_nanoc6.build.board=M5STACK_NANOC6
m5stack_nanoc6.build.bootloader_addr=0x0

m5stack_nanoc6.build.cdc_on_boot=1
m5stack_nanoc6.build.f_cpu=160000000L
m5stack_nanoc6.build.flash_size=4MB
m5stack_nanoc6.build.flash_freq=80m
m5stack_nanoc6.build.flash_mode=qio
m5stack_nanoc6.build.boot=qio
m5stack_nanoc6.build.partitions=default
m5stack_nanoc6.build.defines=

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

m5stack_nanoc6.menu.CDCOnBoot.cdc=Enabled
m5stack_nanoc6.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
m5stack_nanoc6.menu.CDCOnBoot.default=Enabled
m5stack_nanoc6.menu.CDCOnBoot.default.build.cdc_on_boot=1

m5stack_nanoc6.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
m5stack_nanoc6.menu.PartitionScheme.default.build.partitions=default
m5stack_nanoc6.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
m5stack_nanoc6.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
m5stack_nanoc6.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
m5stack_nanoc6.menu.PartitionScheme.no_ota.build.partitions=no_ota
m5stack_nanoc6.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
m5stack_nanoc6.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
m5stack_nanoc6.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
m5stack_nanoc6.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
m5stack_nanoc6.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
m5stack_nanoc6.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
m5stack_nanoc6.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
m5stack_nanoc6.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
m5stack_nanoc6.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
m5stack_nanoc6.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
m5stack_nanoc6.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
m5stack_nanoc6.menu.PartitionScheme.huge_app.build.partitions=huge_app
m5stack_nanoc6.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
m5stack_nanoc6.menu.PartitionScheme.zigbee=Zigbee 4MB with spiffs
m5stack_nanoc6.menu.PartitionScheme.zigbee.build.partitions=zigbee
m5stack_nanoc6.menu.PartitionScheme.zigbee.upload.maximum_size=1310720
m5stack_nanoc6.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs
m5stack_nanoc6.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr
m5stack_nanoc6.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720

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

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

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

m5stack_nanoc6.menu.FlashSize.4M=4MB (32Mb)
m5stack_nanoc6.menu.FlashSize.4M.build.flash_size=4MB

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

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

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

m5stack_nanoc6.menu.ZigbeeMode.default=Disabled
m5stack_nanoc6.menu.ZigbeeMode.default.build.zigbee_mode=
m5stack_nanoc6.menu.ZigbeeMode.default.build.zigbee_libs=
m5stack_nanoc6.menu.ZigbeeMode.ed=Zigbee ED (end device)
m5stack_nanoc6.menu.ZigbeeMode.ed.build.zigbee_mode=-DZIGBEE_MODE_ED
m5stack_nanoc6.menu.ZigbeeMode.ed.build.zigbee_libs=-lesp_zb_api_ed -lesp_zb_cli_command -lzboss_stack.ed -lzboss_port
m5stack_nanoc6.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator)
m5stack_nanoc6.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR
m5stack_nanoc6.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port
m5stack_nanoc6.menu.ZigbeeMode.rcp=Zigbee RCP (radio co-processor)
m5stack_nanoc6.menu.ZigbeeMode.rcp.build.zigbee_mode=-DZIGBEE_MODE_RCP
m5stack_nanoc6.menu.ZigbeeMode.rcp.build.zigbee_libs=-lesp_zb_api_rcp -lesp_zb_cli_command -lzboss_stack.rcp -lzboss_port

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

odroid_esp32.name=ODROID ESP32

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

#include <stdint.h>
#include "soc/soc_caps.h"

#define USB_VID 0x303A
#define USB_PID 0x1001
#define USB_MANUFACTURER "M5Stack"
#define USB_PRODUCT "NanoC6"
#define USB_SERIAL ""

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

static const uint8_t TX = 16;
static const uint8_t RX = 17;

static const uint8_t SDA = 2;
static const uint8_t SCL = 1;

static const uint8_t SS = 21;
static const uint8_t MOSI = 18;
static const uint8_t MISO = 20;
static const uint8_t SCK = 19;

static const uint8_t A1 = 1;
static const uint8_t A2 = 2;
static const uint8_t A3 = 2;

static const uint8_t D1 = 1;
static const uint8_t D2 = 2;
static const uint8_t D3 = 3;
static const uint8_t D4 = 7;
static const uint8_t D5 = 8;
static const uint8_t D6 = 9;

static const uint8_t BLUE_LED_PIN = 7;
static const uint8_t BTN_PIN = 9;
static const uint8_t IR_TX_PIN = 3;
static const uint8_t RGB_LED_PWR_PIN = 19;
static const uint8_t RGB_LED_DATA_PIN = 20;

#endif /* Pins_Arduino_h */
Loading