The PRO ESP32S2 development board in the Feather format!
16 MB of Flash means you'll never run out of space for code or storage.
8 MB of SPI based external RAM - Insane!
Yup! The first one is for the general operation of the board and the ESP32-S2, RAM and Flash.
The second LDO is for you to use to connect external 3V3 modules, sensors and peripherals, and it has programmable EN control tied to GPIO21 + it’s connected to the deep sleep capabilities of the S2, so if the S2 goes into deep sleep, the 2nd LDO is automatically shut down for you!
Both regulators are ultra low noise and have ultra low quiescent current, and both support a maximum of 700mA output.
The FeatherS2 uses the new ESP32-S2 microcontroller from Espressif. It's one of their new generation of Sx MCUs that has the newer Xtensa LX7 core running at 240MHz, a RISC-V ultra low power co-processor, WiFi and built in USB. It's pretty slick!
Just plug your FeatherS2 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
That is by design! The power and charge LEDs and corresponding 2K resistors drain the battery, so they have been isolated to the 5V power domain, so they will only light up and draw power when the board is either being power by the USB plug, or by a 5V power source connected to the 5V header pin.
That is the correct behaviour! The charge IC can’t tell the difference between a full battery and no battery, so it cycles between trying to charge and not charge.
If you have 5V power connected to your FeatherS2 before you plug your battery in, sometimes it might not start charging. Just unplug and re-plug in the 5V source and it should start charging correctly. This is a common issue with PMICs (Power Management ICs).
That's correct! The second LDO is tied to both GPIO21 and VDD for the Flash/PSRAM, so when the ESP32 goes into deep sleep, it automatically shuts down the LDO for you, so you don't have to remember to do it yourself.
RX & TX are still connected to UART0, and still used with the USB when in CDC (download mode). Otherwise, you can use them as UART0 when connecting a module that uses serial, or use them as general IO, it's up to you.
If you currently have CircuitPython installed and you would like to use your device in the Arduino IDE or with the ESP-IDF, the first time you flash your board you will need to put it into download mode by holding BOOT, pressing RESET and then releasing BOOT. That will enable the CDC USB in ROM and you will be able to select the device to flash it.
If your FeatherS2 shipped with the UF2 bootloader, you can press [RESET] then [BOOT] to get it into the UF2 bootloader mode. You will then see the RGB LED on your FeatherS2 turn Red while the device is unmounted, and then once mounted, it will turn green.
A drive will appear in your filesystem called UFTHRS2BOOT. From here you can re-flash the latest CircuitPython firmware by copying over the firmware.uf2 file for the version you want to install.
If you can't get your FeatherS2 into UF2 bootloader mode, it means your board shipped to you prior to the UF2 bootloader being ready for the ESP32S2. Sorry!
It is possible to flash your FeatherS2 with the latest UF2 bootloader by following the instructions I have put together in this guide.
If you have any trouble getting this to work, make sure you have joined the Unexpected maker discord server and ping the #FeatherS2 channel, and folks there will be able to help guide you through the process as many have already done it.