Skip to content

Commit

Permalink
esp32/boards/UM_TINYWATCHS3: Add new UM TinyWATCH S3 board.
Browse files Browse the repository at this point in the history
Signed-off-by: Seon Rozenblum <seon@unexpectedmaker.com>
  • Loading branch information
UnexpectedMaker authored and dpgeorge committed Oct 30, 2023
1 parent 64c79a5 commit bdae847
Show file tree
Hide file tree
Showing 7 changed files with 144 additions and 0 deletions.
25 changes: 25 additions & 0 deletions ports/esp32/boards/UM_TINYWATCHS3/board.json
Original file line number Diff line number Diff line change
@@ -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"
}
1 change: 1 addition & 0 deletions ports/esp32/boards/UM_TINYWATCHS3/board.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The following files are firmware for the TinyWATCH S3.
52 changes: 52 additions & 0 deletions ports/esp32/boards/UM_TINYWATCHS3/deploy.md
Original file line number Diff line number Diff line change
@@ -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
```
10 changes: 10 additions & 0 deletions ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.cmake
Original file line number Diff line number Diff line change
@@ -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
)
12 changes: 12 additions & 0 deletions ports/esp32/boards/UM_TINYWATCHS3/mpconfigboard.h
Original file line number Diff line number Diff line change
@@ -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)
25 changes: 25 additions & 0 deletions ports/esp32/boards/UM_TINYWATCHS3/pins.csv
Original file line number Diff line number Diff line change
@@ -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
19 changes: 19 additions & 0 deletions ports/esp32/boards/UM_TINYWATCHS3/sdkconfig.board
Original file line number Diff line number Diff line change
@@ -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_"

0 comments on commit bdae847

Please sign in to comment.