From ee92198c8aa7c58c0adfb0a0a54f285a61bf6167 Mon Sep 17 00:00:00 2001 From: Matt Trentini Date: Wed, 1 May 2024 10:29:07 +1000 Subject: [PATCH] esp32/boards/M5STACK_NANOC6: Add new M5Stack C6 board definition. Signed-off-by: Matt Trentini --- ports/esp32/boards/M5STACK_NANOC6/board.json | 21 +++++++++++++++++++ .../boards/M5STACK_NANOC6/deploy_nanoc6.md | 18 ++++++++++++++++ .../boards/M5STACK_NANOC6/mpconfigboard.cmake | 7 +++++++ .../boards/M5STACK_NANOC6/mpconfigboard.h | 8 +++++++ ports/esp32/boards/M5STACK_NANOC6/pins.csv | 7 +++++++ 5 files changed, 61 insertions(+) create mode 100644 ports/esp32/boards/M5STACK_NANOC6/board.json create mode 100644 ports/esp32/boards/M5STACK_NANOC6/deploy_nanoc6.md create mode 100644 ports/esp32/boards/M5STACK_NANOC6/mpconfigboard.cmake create mode 100644 ports/esp32/boards/M5STACK_NANOC6/mpconfigboard.h create mode 100644 ports/esp32/boards/M5STACK_NANOC6/pins.csv diff --git a/ports/esp32/boards/M5STACK_NANOC6/board.json b/ports/esp32/boards/M5STACK_NANOC6/board.json new file mode 100644 index 000000000..15654341b --- /dev/null +++ b/ports/esp32/boards/M5STACK_NANOC6/board.json @@ -0,0 +1,21 @@ +{ + "deploy": [ + "deploy_nanoc6.md" + ], + "docs": "", + "features": [ + "BLE", + "WiFi", + "RGB LED", + "USB", + "USB-C", + "JST-PH" + ], + "images": [ + "m5stack_nanoc6.jpg" + ], + "mcu": "esp32c6", + "product": "M5Stack NanoC6", + "url": "https://shop.m5stack.com/products/m5stack-nanoc6-dev-kit", + "vendor": "M5Stack" +} diff --git a/ports/esp32/boards/M5STACK_NANOC6/deploy_nanoc6.md b/ports/esp32/boards/M5STACK_NANOC6/deploy_nanoc6.md new file mode 100644 index 000000000..d8c212c5d --- /dev/null +++ b/ports/esp32/boards/M5STACK_NANOC6/deploy_nanoc6.md @@ -0,0 +1,18 @@ +Program your board using the esptool.py program, found +[here](https://github.com/espressif/esptool). + +To put the NanoC6 into 'update mode', hold the button while connecting the USB +cable. It can be released after the connection is made. + +If you are putting MicroPython on your board for the first time then you should +first erase the entire flash using: + +```bash +esptool.py --chip esp32c6 --port /dev/ttyUSB0 erase_flash +``` + +From then on program the firmware starting at address 0x0: + +```bash +esptool.py --chip esp32c6 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x0 M5STACK_NANOC6-20240602-v1.24.0.bin +``` diff --git a/ports/esp32/boards/M5STACK_NANOC6/mpconfigboard.cmake b/ports/esp32/boards/M5STACK_NANOC6/mpconfigboard.cmake new file mode 100644 index 000000000..4393130b6 --- /dev/null +++ b/ports/esp32/boards/M5STACK_NANOC6/mpconfigboard.cmake @@ -0,0 +1,7 @@ +set(IDF_TARGET esp32c6) + +set(SDKCONFIG_DEFAULTS + boards/sdkconfig.base + ${SDKCONFIG_IDF_VERSION_SPECIFIC} + boards/sdkconfig.ble +) diff --git a/ports/esp32/boards/M5STACK_NANOC6/mpconfigboard.h b/ports/esp32/boards/M5STACK_NANOC6/mpconfigboard.h new file mode 100644 index 000000000..9acab7096 --- /dev/null +++ b/ports/esp32/boards/M5STACK_NANOC6/mpconfigboard.h @@ -0,0 +1,8 @@ +#define MICROPY_HW_BOARD_NAME "M5Stack NanoC6" +#define MICROPY_HW_MCU_NAME "ESP32C6" + +#define MICROPY_HW_ENABLE_SDCARD (0) +#define MICROPY_PY_MACHINE_I2S (0) + +#define MICROPY_HW_I2C0_SCL (1) +#define MICROPY_HW_I2C0_SDA (2) diff --git a/ports/esp32/boards/M5STACK_NANOC6/pins.csv b/ports/esp32/boards/M5STACK_NANOC6/pins.csv new file mode 100644 index 000000000..f04cfb4db --- /dev/null +++ b/ports/esp32/boards/M5STACK_NANOC6/pins.csv @@ -0,0 +1,7 @@ +G1,GPIO1 +G2,GPIO2 +IR_LED,GPIO3 +LED_BLUE,GPIO7 +BUTTON,GPIO9 +NEOPIXEL_POWER,GPIO19 +NEOPIXEL,GPIO20