diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32C3/board.json b/ports/esp32/boards/SEEED_XIAO_ESP32C3/board.json new file mode 100644 index 0000000000..46ceb1a8c6 --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32C3/board.json @@ -0,0 +1,19 @@ +{ + "deploy": [ + "../deploy_c3.md" + ], + "docs": "", + "features": [ + "BLE", + "USB-C", + "WiFi" + ], + "images": [ + "xiao_esp32c3.jpg" + ], + "mcu": "esp32c3", + "product": "XIAO-ESP32C3", + "thumbnail": "", + "url": "https://wiki.seeedstudio.com/XIAO_ESP32C3_Getting_Started/", + "vendor": "Seeed Studio" +} diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32C3/manifest.py b/ports/esp32/boards/SEEED_XIAO_ESP32C3/manifest.py new file mode 100644 index 0000000000..f993d4fa6b --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32C3/manifest.py @@ -0,0 +1,2 @@ +include("$(PORT_DIR)/boards/manifest.py") +freeze("./modules") diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32C3/modules/xiao.py b/ports/esp32/boards/SEEED_XIAO_ESP32C3/modules/xiao.py new file mode 100644 index 0000000000..1c0f82b5cf --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32C3/modules/xiao.py @@ -0,0 +1,12 @@ +# Seeed XIAO ESP32 C3 MicroPython Helper Library + +from micropython import const + +# SPI +SPI_MOSI = const(10) +SPI_MISO = const(9) +SPI_CLK = const(8) + +# I2C +I2C_SDA = const(6) +I2C_SCL = const(7) diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32C3/mpconfigboard.cmake b/ports/esp32/boards/SEEED_XIAO_ESP32C3/mpconfigboard.cmake new file mode 100644 index 0000000000..4efc554abd --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32C3/mpconfigboard.cmake @@ -0,0 +1,9 @@ +set(IDF_TARGET esp32c3) + +set(SDKCONFIG_DEFAULTS + boards/sdkconfig.base + boards/sdkconfig.ble + boards/SEEED_XIAO_ESP32C3/sdkconfig.board +) + +set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32C3/mpconfigboard.h b/ports/esp32/boards/SEEED_XIAO_ESP32C3/mpconfigboard.h new file mode 100644 index 0000000000..513cbae77f --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32C3/mpconfigboard.h @@ -0,0 +1,14 @@ +#define MICROPY_HW_BOARD_NAME "Seeed XIAO ESP32C3" +#define MICROPY_HW_MCU_NAME "ESP32-C3FN4" +#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "XIAO-ESP32C3" + +#define MICROPY_HW_ENABLE_SDCARD (0) +#define MICROPY_PY_MACHINE_DAC (0) +#define MICROPY_PY_MACHINE_I2S (0) + +#define MICROPY_HW_I2C0_SCL (7) +#define MICROPY_HW_I2C0_SDA (6) + +#define MICROPY_HW_SPI1_MOSI (10) +#define MICROPY_HW_SPI1_MISO (9) +#define MICROPY_HW_SPI1_SCK (8) diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32C3/sdkconfig.board b/ports/esp32/boards/SEEED_XIAO_ESP32C3/sdkconfig.board new file mode 100644 index 0000000000..d9e7c7f61f --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32C3/sdkconfig.board @@ -0,0 +1,7 @@ +CONFIG_ESP32C3_REV_MIN_3=y +CONFIG_ESP32C3_BROWNOUT_DET=y +CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_7= +CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_4=y +CONFIG_ESP32C3_BROWNOUT_DET_LVL=4 +CONFIG_ESP_CONSOLE_UART_DEFAULT= +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32S3/board.json b/ports/esp32/boards/SEEED_XIAO_ESP32S3/board.json new file mode 100644 index 0000000000..267eadd494 --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32S3/board.json @@ -0,0 +1,23 @@ +{ + "deploy": [ + "../deploy_s3.md" + ], + "docs": "", + "features": [ + "SPIRAM", + "USB-C", + "WiFi", + "BLE" + ], + "features_non_filterable": [ + ], + "id": "xiao", + "images": [ + "xiao_esp32s3.jpg" + ], + "mcu": "esp32s3", + "product": "XIAO-ESP32S3", + "thumbnail": "", + "url": "https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/", + "vendor": "Seeed Studio" +} diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32S3/manifest.py b/ports/esp32/boards/SEEED_XIAO_ESP32S3/manifest.py new file mode 100644 index 0000000000..7ae2ed15d9 --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32S3/manifest.py @@ -0,0 +1,2 @@ +include("$(PORT_DIR)/boards/manifest.py") +freeze("modules") diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32S3/modules/xiao.py b/ports/esp32/boards/SEEED_XIAO_ESP32S3/modules/xiao.py new file mode 100644 index 0000000000..6864f3de10 --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32S3/modules/xiao.py @@ -0,0 +1,20 @@ +# XIAO ESP32 S3 MicroPython Helper Library + +from micropython import const +from machine import Pin + +# SPI +SPI_MOSI = const(9) +SPI_MISO = const(8) +SPI_CLK = const(7) + +# I2C +I2C_SDA = const(5) +I2C_SCL = const(6) + +# LED +LED = const(21) + +# Helper methods for built in sensors + +led = Pin(LED, Pin.OUT, value=0) diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32S3/mpconfigboard.cmake b/ports/esp32/boards/SEEED_XIAO_ESP32S3/mpconfigboard.cmake new file mode 100644 index 0000000000..01ea92951d --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32S3/mpconfigboard.cmake @@ -0,0 +1,12 @@ +set(IDF_TARGET esp32s3) + +set(SDKCONFIG_DEFAULTS + boards/sdkconfig.base + boards/sdkconfig.usb + boards/sdkconfig.ble + boards/sdkconfig.240mhz + boards/sdkconfig.spiram_sx + boards/SEEED_XIAO_ESP32S3/sdkconfig.board +) + +set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32S3/mpconfigboard.h b/ports/esp32/boards/SEEED_XIAO_ESP32S3/mpconfigboard.h new file mode 100644 index 0000000000..48b1ca8488 --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32S3/mpconfigboard.h @@ -0,0 +1,12 @@ +#define MICROPY_HW_BOARD_NAME "Seeed XIAO ESP32S3" +#define MICROPY_HW_MCU_NAME "ESP32-S3-FN8" +#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "XIAO-ESP32S3" + +#define MICROPY_PY_MACHINE_DAC (0) + +#define MICROPY_HW_I2C0_SCL (6) +#define MICROPY_HW_I2C0_SDA (5) + +#define MICROPY_HW_SPI1_MOSI (9) +#define MICROPY_HW_SPI1_MISO (8) +#define MICROPY_HW_SPI1_SCK (7) diff --git a/ports/esp32/boards/SEEED_XIAO_ESP32S3/sdkconfig.board b/ports/esp32/boards/SEEED_XIAO_ESP32S3/sdkconfig.board new file mode 100644 index 0000000000..b906787b2a --- /dev/null +++ b/ports/esp32/boards/SEEED_XIAO_ESP32S3/sdkconfig.board @@ -0,0 +1,18 @@ +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +CONFIG_ESPTOOLPY_AFTER_NORESET=y + +CONFIG_ESPTOOLPY_FLASHSIZE_4MB= +CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y +CONFIG_ESPTOOLPY_FLASHSIZE_16MB= +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-8MiB.csv" + +CONFIG_LWIP_LOCAL_HOSTNAME="XIAO-ESP32S3" + +CONFIG_TINYUSB_DESC_CUSTOM_VID=0x2886 +CONFIG_TINYUSB_DESC_CUSTOM_PID=0x8056 +CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100 +CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Seeed Studio" +CONFIG_TINYUSB_DESC_PRODUCT_STRING="XIAO ESP32S3" +CONFIG_TINYUSB_DESC_SERIAL_STRING="XIAO ESP32S3"