diff --git a/ports/esp32/boards/UM_TINYC6/board.json b/ports/esp32/boards/UM_TINYC6/board.json new file mode 100644 index 0000000000000..122b411a30487 --- /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 0000000000000..6c8b93bfb07ba --- /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 esp32c6-20220117-v1.18.bin +``` diff --git a/ports/esp32/boards/UM_TINYC6/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYC6/mpconfigboard.cmake new file mode 100644 index 0000000000000..25cae3025c98b --- /dev/null +++ b/ports/esp32/boards/UM_TINYC6/mpconfigboard.cmake @@ -0,0 +1,9 @@ +set(IDF_TARGET esp32c6) + +set(SDKCONFIG_DEFAULTS + boards/sdkconfig.base + boards/sdkconfig.ble + boards/UM_TINYC6/sdkconfig.board +) + +#set(CONFIG_BT_NIMBLE_LEGACY_VHCI_ENABLE "y") diff --git a/ports/esp32/boards/UM_TINYC6/mpconfigboard.h b/ports/esp32/boards/UM_TINYC6/mpconfigboard.h new file mode 100644 index 0000000000000..dcbbcc2463a38 --- /dev/null +++ b/ports/esp32/boards/UM_TINYC6/mpconfigboard.h @@ -0,0 +1,19 @@ +// This configuration is for a generic ESP32C6 board with 8MiB (or more) of flash. + +#define MICROPY_HW_BOARD_NAME "Unexpected Maker TinyC6" +#define MICROPY_HW_MCU_NAME "ESP32C6" + +#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 (21) +#define MICROPY_HW_SPI1_MISO (20) +#define MICROPY_HW_SPI1_SCK (19) + +// #define MICROPY_PY_BLUETOOTH (1) +// #define MICROPY_BLUETOOTH_NIMBLE (1) +// #define MICROPY_BLUETOOTH_NIMBLE_BINDINGS_ONLY (1) diff --git a/ports/esp32/boards/UM_TINYC6/pins.csv b/ports/esp32/boards/UM_TINYC6/pins.csv new file mode 100644 index 0000000000000..1eab19bc84f6a --- /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 0000000000000..1363f616a771b --- /dev/null +++ b/ports/esp32/boards/UM_TINYC6/sdkconfig.board @@ -0,0 +1,18 @@ +CONFIG_ESP32C6_BROWNOUT_DET=y +CONFIG_ESP32C6_BROWNOUT_DET_LVL_SEL_7= +CONFIG_ESP32C6_BROWNOUT_DET_LVL_SEL_4=y +CONFIG_ESP32C6_BROWNOUT_DET_LVL=4 +CONFIG_ESP_CONSOLE_UART_DEFAULT= +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y + +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"