From c4d1dafa4bfae698ff1c7d9a7b0c4febe042b49b Mon Sep 17 00:00:00 2001 From: Matt Trentini Date: Wed, 15 May 2024 00:09:31 +1000 Subject: [PATCH] esp32/boards/UM_TINYC6: New board definition. Signed-off-by: Matt Trentini --- ports/esp32/boards/UM_TINYC6/board.json | 22 ++++++++++++++++ ports/esp32/boards/UM_TINYC6/deploy_tinyc6.md | 18 +++++++++++++ .../boards/UM_TINYC6/mpconfigboard.cmake | 8 ++++++ ports/esp32/boards/UM_TINYC6/mpconfigboard.h | 12 +++++++++ ports/esp32/boards/UM_TINYC6/pins.csv | 26 +++++++++++++++++++ ports/esp32/boards/UM_TINYC6/sdkconfig.board | 10 +++++++ 6 files changed, 96 insertions(+) create mode 100644 ports/esp32/boards/UM_TINYC6/board.json create mode 100644 ports/esp32/boards/UM_TINYC6/deploy_tinyc6.md create mode 100644 ports/esp32/boards/UM_TINYC6/mpconfigboard.cmake create mode 100644 ports/esp32/boards/UM_TINYC6/mpconfigboard.h create mode 100644 ports/esp32/boards/UM_TINYC6/pins.csv create mode 100644 ports/esp32/boards/UM_TINYC6/sdkconfig.board diff --git a/ports/esp32/boards/UM_TINYC6/board.json b/ports/esp32/boards/UM_TINYC6/board.json new file mode 100644 index 000000000000..122b411a3048 --- /dev/null +++ b/ports/esp32/boards/UM_TINYC6/board.json @@ -0,0 +1,22 @@ +{ + "deploy": [ + "deploy_tinyc6.md" + ], + "docs": "", + "features": [ + "Battery Charging", + "BLE", + "External Flash", + "WiFi", + "RGB LED", + "USB", + "USB-C" + ], + "images": [ + "unexpectedmaker_tinyc6.jpg" + ], + "mcu": "esp32c6", + "product": "TinyC6", + "url": "https://tinyc6.io", + "vendor": "Unexpected Maker" +} diff --git a/ports/esp32/boards/UM_TINYC6/deploy_tinyc6.md b/ports/esp32/boards/UM_TINYC6/deploy_tinyc6.md new file mode 100644 index 000000000000..4e0603a10772 --- /dev/null +++ b/ports/esp32/boards/UM_TINYC6/deploy_tinyc6.md @@ -0,0 +1,18 @@ +Program your board using the esptool.py program, found +[here](https://github.com/espressif/esptool). + +To put the TinyC6 into 'download mode', hold the _BOOT_ 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 UM_TINYC6-20240602-v1.24.0.bin +``` diff --git a/ports/esp32/boards/UM_TINYC6/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYC6/mpconfigboard.cmake new file mode 100644 index 000000000000..dab33d13f0bd --- /dev/null +++ b/ports/esp32/boards/UM_TINYC6/mpconfigboard.cmake @@ -0,0 +1,8 @@ +set(IDF_TARGET esp32c6) + +set(SDKCONFIG_DEFAULTS + boards/sdkconfig.base + ${SDKCONFIG_IDF_VERSION_SPECIFIC} + boards/sdkconfig.ble + boards/UM_TINYC6/sdkconfig.board +) diff --git a/ports/esp32/boards/UM_TINYC6/mpconfigboard.h b/ports/esp32/boards/UM_TINYC6/mpconfigboard.h new file mode 100644 index 000000000000..1a3f1c904a79 --- /dev/null +++ b/ports/esp32/boards/UM_TINYC6/mpconfigboard.h @@ -0,0 +1,12 @@ +#define MICROPY_HW_BOARD_NAME "Unexpected Maker TinyC6" +#define MICROPY_HW_MCU_NAME "ESP32C6" + +#define MICROPY_HW_ENABLE_SDCARD (0) +#define MICROPY_PY_MACHINE_I2S (0) + +#define MICROPY_HW_I2C0_SCL (7) +#define MICROPY_HW_I2C0_SDA (6) + +#define MICROPY_HW_SPI1_MOSI (21) +#define MICROPY_HW_SPI1_MISO (20) +#define MICROPY_HW_SPI1_SCK (19) diff --git a/ports/esp32/boards/UM_TINYC6/pins.csv b/ports/esp32/boards/UM_TINYC6/pins.csv new file mode 100644 index 000000000000..1eab19bc84f6 --- /dev/null +++ b/ports/esp32/boards/UM_TINYC6/pins.csv @@ -0,0 +1,26 @@ +IO0,GPIO0 +IO1,GPIO1 +IO2,GPIO2 +IO3,GPIO3 +IO4,GPIO4 +VBAT_SENSE,GPIO4 +IO5,GPIO5 +IO6,GPIO6 +SDA,GPIO6 +IO7,GPIO7 +SCL,GPIO7 +IO8,GPIO8 +IO9,GPIO9 +VBUS_SENSE,GPIO10 +IO11,GPIO11 +IO15,GPIO15 +IO16,GPIO16 +TX,GPIO16 +IO17,GPIO17 +RX,GPIO17 +IO18,GPIO18 +IO19,GPIO19 +IO20,GPIO20 +IO21,GPIO21 +NEOPIXEL_PWR,GPIO22 +NEOPIXEL_DATA,GPIO23 diff --git a/ports/esp32/boards/UM_TINYC6/sdkconfig.board b/ports/esp32/boards/UM_TINYC6/sdkconfig.board new file mode 100644 index 000000000000..7917467b12ea --- /dev/null +++ b/ports/esp32/boards/UM_TINYC6/sdkconfig.board @@ -0,0 +1,10 @@ +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_SPIRAM_MEMTEST= +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-8MiB.csv"