TinyS3 - ESP32-S3

by Unexpected Maker

Introducing the TinyS3 - The Tiny Mighty ESP32-S3 development board in the TinyPICO format!

TinyS3 is the latest in the super popular range of "Tiny" development boards. It's packed with amazing features and peripherals, wireless connectivity and stacks of Flash and PSRAM, all in the same tiny package size as the original TinyPICO!

Features

  • Dual 32bit Xtensa LX7 cores @ up to 240Mhz
  • RISC-V Ultra Low Power Co-processor
  • 2.4GHz Wifi - 802.11b/g/n
  • Bluetooth 5, BLE + Mesh
  • 8MB QSPI Flash
  • 8MB of extra QSPI PSRAM
  • 700mA 3.3V LDO Regulator
  • Low power RGB LED
  • ULTRA LOW Deep Sleep Current
  • USB-C Connector with back-feed protection
  • Native USB + USB Serial JTAG
  • LiPo Battery Charging
  • JST pads on the back supports PH connector
  • VBAT and 5V Sense Pins
  • 3D High Gain Antenna
  • 17 GPIO
  • Only 35 x 18mm in size
  • Compatible with TinyPICO & TinyS2
  • Board Dimensions: 35mm x 17.8mm
  • Max Thickness: 4.3mm at the USB-C end

Board Comparison Matrix

TinyS3 TinyS2 TinyPICO
Cores 2x Xtensa LX7 1x Xtensa LX7 2x Xtensa LX6
Speed Up to 240Mhz Up to 240Mhz Up to 240Mhz
ULP CoProc 1x RISC-V, 1x FSM 1x RISC-V, 1x FSM 1x FSM
SRAM 512K 320K 520K
FLASH 8MB 4MB 4MB
PSRAM 8MB 2MB 4MB
GPIO 17 17 14
Native USB CDC, OTG & USB Serial JTag CDC & OTG -
USB Conn USB-C USB-C USB-C & Micro-B
WiFi 2.4Ghz b/g/n 2.4Ghz b/g/n 2.4Ghz b/g/n
Bluetooth BT Classic, BLE 5 & Mesh - BT Classic & BLE 4.2
DAC - 2x 8bit 2x 8bit
ADC 2x 12-bit SAR /20 chan 2x 12-bit SAR /20 chan 1x 12-bit SAR /18 chan
UARTs 3 2 3
ETH MAC - Yes Yes
DMA Cont 5x TX chan, 5x RX chan - -
SDIO Yes - Yes
Release Date Feb 2022 July 2021 May 2019

CircuitPython

The TinyS3 ships with the latest version of CircuitPython with ESP32-S3 support.

It also ships with the UF2 bootloader, so you can easily update your TinyS3 with the latest CircuitPython firmware, whenever you desire.

Just plug your TinyS3 into your computer and it will appear in your filesystem as a USB flash drive! Just copy your code over, or edit your code directly on the drive. Coding a microcontroller has never been easier!

As newer versions of CircuitPython are released, you are able to update as you require from circuitpython.org

If you need to grab the shipping CircuitPython code that comes with the TinyS3,
you can grab the latest here

MicroPython

MicroPython has early support for the ESP32-S3 and I'm currently waiting for the PR for my ESP32-S3 boards to be merged, so they'll be included in the automatic firmware building and downloads page with the rest of my boards.

Until then, you can grab the firmware from my github repo using the following instructions for your OS:

Flashing MicroPython on to your TinyS3

If you would like to put MicroPython on your FeatherS2, please follow these steps:

  • Download the latest MicroPython firmware for the TinyS3 from the link above
  • Put your TinyS3 into download mode by holding [BOOT], clicking [RESET] and then releasing [BOOT]
  • Erase the flash on your TinyS3 to give you a clean start
    • Windows
      esptool --chip esp32s3 -p COM(X) erase_flash
    • Mac
      Please execute ls /dev/cu.usbm* to determine the port your board has enumerated as
      esptool.py --chip esp32s3 -p /dev/cu.usbmodem01 erase_flash
    • Linux
      esptool.py --chip esp32s3 -p /dev/ttyACM0 erase_flash
  • Flash the downloaded firmware to your TinyS3
    • Windows
      esptool --chip esp32s3 -p COM(X) write_flash -z 0x0 tinys3_firmware_1_18.bin
    • Mac
      Please execute ls /dev/cu.usbm* to determine the port your board has enumerated as
      esptool.py --chip esp32s3 -p /dev/cu.usbmodem01 write_flash -z 0x0 tinys3_firmware_1_18.bin
    • Linux
      esptool.py --chip esp32s3 -p /dev/ttyACM0 write_flash -z 0x0 tinys3_firmware_1_18.bin
  • Restart your TinyS3 by pressing the [RESET] button
  • And that’s it! Your’e done! Happy coding!

For more information about using MicroPython, visit this link.

ESP-IDF

ESP32-S3 support in the IDF is part of the v4.4 release. The latest IDF is v5.0, but it's in early development, so I recommend you stick to the v4.4 release branch for the time being as there are some low level breaking changes in v5.

Check out the ESP32-S3 IDF docs for information on how to install it and develop for the ESP32-S3

Arduino

There is no ESP32-S3 support in Arduino yet, but work has started on it! You can follow along with the progress by watching this branch of the repo

Arduino support for the ESP32-S3 is scheduled for release in v2.10 of the ESP32 Arduino Core.

Downloads

github

The Unexpected Maker ESP32-S3 github Repo includes the following items:

  • 3D STEP file for the TinyS3
  • KiCAD 6 symbol file for the TinyS3 that you can use when integrating one of them into one of your PCB designs
  • KiCAD 6 footprint file for the TinyS3
  • PDF Schematic for the TinyS3
  • Hi-res pinout reference card for the TinyS3
  • Fritzing parts (soon)