summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeon Rozenblum <seon@unexpectedmaker.com>2023-10-22 18:58:44 +1100
committerDamien George <damien@micropython.org>2023-10-30 17:31:21 +1100
commitbdae847082bb38c8b14c9711f74bcc91040d33ff (patch)
tree73b56986a3f8b073d7564710dea937c66692f011
parent64c79a54239d700ecb8d7f07b13388dc79f28993 (diff)
esp32/boards/UM_TINYWATCHS3: Add new UM TinyWATCH S3 board.
Signed-off-by: Seon Rozenblum <seon@unexpectedmaker.com>
-rw-r--r--ports/esp32/boards/UM_TINYWATCHS3/board.json25
-rw-r--r--ports/esp32/boards/UM_TINYWATCHS3/board.md1
-rw-r--r--ports/esp32/boards/UM_TINYWATCHS3/deploy.md52
-rw-r--r--ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake10
-rw-r--r--ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.h12
-rw-r--r--ports/esp32/boards/UM_TINYWATCHS3/pins.csv25
-rw-r--r--ports/esp32/boards/UM_TINYWATCHS3/sdkconfig.board19
7 files changed, 144 insertions, 0 deletions
diff --git a/ports/esp32/boards/UM_TINYWATCHS3/board.json b/ports/esp32/boards/UM_TINYWATCHS3/board.json
new file mode 100644
index 000000000..61dadcfb6
--- /dev/null
+++ b/ports/esp32/boards/UM_TINYWATCHS3/board.json
@@ -0,0 +1,25 @@
+{
+ "deploy": [
+ "deploy.md"
+ ],
+ "docs": "",
+ "features": [
+ "BLE",
+ "Battery Charging",
+ "External Flash",
+ "External RAM",
+ "USB-C",
+ "WiFi"
+ ],
+ "features_non_filterable": [
+ "Watch"
+ ],
+ "images": [
+ "unexpectedmaker_tinywatchs3.jpg"
+ ],
+ "mcu": "esp32s3",
+ "product": "TinyWATCH S3",
+ "thumbnail": "",
+ "url": "https://tinywatch.io",
+ "vendor": "Unexpected Maker"
+}
diff --git a/ports/esp32/boards/UM_TINYWATCHS3/board.md b/ports/esp32/boards/UM_TINYWATCHS3/board.md
new file mode 100644
index 000000000..a0925ac49
--- /dev/null
+++ b/ports/esp32/boards/UM_TINYWATCHS3/board.md
@@ -0,0 +1 @@
+The following files are firmware for the TinyWATCH S3.
diff --git a/ports/esp32/boards/UM_TINYWATCHS3/deploy.md b/ports/esp32/boards/UM_TINYWATCHS3/deploy.md
new file mode 100644
index 000000000..bad7d7c7d
--- /dev/null
+++ b/ports/esp32/boards/UM_TINYWATCHS3/deploy.md
@@ -0,0 +1,52 @@
+Program your board using the latest version of the esptool.py program, found [here](https://github.com/espressif/esptool).
+
+To flash or erase your TinyWATCH S3, you have to first put it into download mode.
+To do this, follow these steps:
+
+- Press and hold the [BOOT] button
+- Press and release the [RESET] button
+- Release the [BOOT] button
+
+Now the board is in download mode and the native USB will have enumerated as a serial device.
+
+If you are putting MicroPython on your board for the first time then you should
+first erase the entire flash using:
+
+### Linux
+```bash
+esptool.py --chip esp32s3 --port /dev/ttyACM0 erase_flash
+```
+
+### Mac
+Please do a `ls /dev/cu.usbm*` to determine the port your board has enumerated as.
+```bash
+esptool.py --chip esp32s3 --port /dev/cu.usbmodem01 erase_flash
+```
+
+### Windows
+Change (X) to whatever COM port is being used by the board
+```bash
+esptool --chip esp32s3 --port COM(X) erase_flash
+```
+
+Now download the version of the firmware you would like to install from the options below,
+then use the following command to program the firmware starting at address 0x0,
+remembering to replace `tinywatchs3-micropython-firmware-version.bin` with the name of
+the firmware you just downloaded:
+
+### Linux
+```bash
+esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash -z 0x0 tinywatchs3-micropython-firmware-version.bin
+```
+
+### Mac
+Please do a `ls /dev/cu.usbm*` to determine the port your board has enumerated as.
+```bash
+esptool.py --chip esp32s3 --port /dev/cu.usbmodem01 write_flash -z 0x0 tinywatchs3-micropython-firmware-version.bin
+```
+
+### Windows
+Change (X) to whatever COM port is being used by the board
+```bash
+esptool --chip esp32s3 --port COM(X) write_flash -z 0x0 tinywatchs3-micropython-firmware-version.bin
+```
diff --git a/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake
new file mode 100644
index 000000000..089149c44
--- /dev/null
+++ b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake
@@ -0,0 +1,10 @@
+set(IDF_TARGET esp32s3)
+
+set(SDKCONFIG_DEFAULTS
+ boards/sdkconfig.base
+ boards/sdkconfig.usb
+ boards/sdkconfig.ble
+ boards/sdkconfig.240mhz
+ boards/sdkconfig.spiram_sx
+ boards/UM_TINYWATCHS3/sdkconfig.board
+)
diff --git a/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.h b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.h
new file mode 100644
index 000000000..ce8de58a0
--- /dev/null
+++ b/ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.h
@@ -0,0 +1,12 @@
+#define MICROPY_HW_BOARD_NAME "TinyWATCH S3"
+#define MICROPY_HW_MCU_NAME "ESP32-S3-PICO-1-N8R2"
+#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "TinyWATCHS3"
+
+#define MICROPY_PY_MACHINE_DAC (0)
+
+#define MICROPY_HW_I2C0_SCL (9)
+#define MICROPY_HW_I2C0_SDA (8)
+
+#define MICROPY_HW_SPI1_MOSI (35)
+#define MICROPY_HW_SPI1_MISO (37)
+#define MICROPY_HW_SPI1_SCK (36)
diff --git a/ports/esp32/boards/UM_TINYWATCHS3/pins.csv b/ports/esp32/boards/UM_TINYWATCHS3/pins.csv
new file mode 100644
index 000000000..8a4bc46cd
--- /dev/null
+++ b/ports/esp32/boards/UM_TINYWATCHS3/pins.csv
@@ -0,0 +1,25 @@
+BMI_INT1,GPIO6
+BMI_INT2,GPIO7
+BUZZER,GPIO18
+FG_ALERT,GPIO14
+I2C_SCL,GPIO8
+I2C_SDA,GPIO9
+I2S_MIC_DATA,GPIO1
+I2S_MIC_BCLK,GPIO2
+I2S_MIC_WS,GPIO3
+RTC_INT,GPIO4
+SPI_USER_FLASH_CS,GPIO33
+SPI_MOSI,GPIO35
+SPI_SCK,GPIO36
+SPI_MISO,GPIO37
+TFT_CS,GPIO16
+TFT_DC,GPIO15
+TFT_RESET,GPIO17
+TFT_BACKLIGHT,GPIO13
+TOUCH_I2C_SCL,GPIO10
+TOUCH_I2C_SDA,GPIO5
+TOUCH_INT,GPIO11
+TOUCH_RESET,GPIO12
+USER_BUTTON,GPIO0
+USER_PWR_SHUTDOWN,GPIO21
+VBUS_SENSE,GPIO34
diff --git a/ports/esp32/boards/UM_TINYWATCHS3/sdkconfig.board b/ports/esp32/boards/UM_TINYWATCHS3/sdkconfig.board
new file mode 100644
index 000000000..8dec1b8c1
--- /dev/null
+++ b/ports/esp32/boards/UM_TINYWATCHS3/sdkconfig.board
@@ -0,0 +1,19 @@
+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"
+
+CONFIG_LWIP_LOCAL_HOSTNAME="UMTinyWATCHS3"
+
+CONFIG_TINYUSB_DESC_CUSTOM_VID=0x303A
+CONFIG_TINYUSB_DESC_CUSTOM_PID=0x81B1
+CONFIG_TINYUSB_DESC_BCD_DEVICE=0x0100
+CONFIG_TINYUSB_DESC_MANUFACTURER_STRING="Unexpected Maker"
+CONFIG_TINYUSB_DESC_PRODUCT_STRING="TinyWATCHS3"
+CONFIG_TINYUSB_DESC_SERIAL_STRING="_tws3_"