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 executels /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 executels /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)
- Satisfaction or refund guarantee
- Worldwide shipping via mail or courier