Skip to main content

Unexpected Maker FeatherS2 ESP32-S2

ESP32-S2 based development board in a Feather format.

Unexpected Maker FeatherS2 ESP32-S2 picture

Features

  • I2C on SDA/SCL using Qwiic connector
  • LED on pin 40 (use setStatusLight to control)
  • Serial logging on pin TX_D1 at 115200 8N1

  • Service: buttonBOOT (button)
  • Service: ambientLight (analog:lightLevel)

Stores

Pins

pin namehardware idfeatures
P17GPIO17analogOut, io
P18GPIO18analogOut, io
P14GPIO14io
P12GPIO12io
P6GPIO6analogIn, io
P5GPIO5analogIn, io
P3GPIO3analogIn, io
P7GPIO7analogIn, io
P10GPIO10analogIn, io
P11GPIO11io
P33GPIO33io
P38GPIO38io
P1GPIO1analogIn, io
LED0GPIO13io
LED_PWRGPIO21io
SDIGPIO37io
SDOGPIO35io
RX_D0GPIO44io
SCKGPIO36io
SCLGPIO9i2c.pinSCL, analogIn, io
SDAGPIO8i2c.pinSDA, analogIn, io
TX_D1GPIO43log.pinTX, io
$services.buttonBOOT[0].pinGPIO0$services.buttonBOOT[0].pin, boot, io
$services.ambientLight[1].pinGPIO4$services.ambientLight[1].pin, analogIn, io
led.pinGPIO40led.pin, debug, io
led.pinCLKGPIO45led.pinCLK, boot, io

DeviceScript import

You must add this import statement to load the pinout configuration for this device.

In Visual Studio Code, click the wand icon on the file menu and select "Unexpected Maker FeatherS2 ESP32-S2".

import { pins, board } from "@dsboard/feather_s2"

Firmware update

In Visual Studio Code, select DeviceScript: Flash Firmware... from the command palette.

Run this command line command and follow the instructions.

devicescript flash --board feather_s2

Configuration

feather_s2.json
{
"$schema": "https://raw.githubusercontent.com/microsoft/devicescript-esp32/main/boards/esp32deviceconfig.schema.json",
"id": "feather_s2",
"devName": "Unexpected Maker FeatherS2 ESP32-S2",
"productId": "0x3126f707",
"$description": "ESP32-S2 based development board in a Feather format.",
"archId": "esp32s2",
"url": "https://unexpectedmaker.com/shop/feathers2-esp32-s2",
"$pins": {
"P1": "D9",
"P10": "D12",
"P11": "D13",
"P12": "A3",
"P14": "A2",
"P17": "A0",
"P18": "A1",
"P3": "D10",
"P33": "D5",
"P38": "D6",
"P5": "A5_D25",
"P6": "A4_D24",
"P7": "D11",
"SDI": "MISO",
"SDO": "MOSI"
},
"$services": [
{
"name": "buttonBOOT",
"pin": 0,
"service": "button"
},
{
"name": "ambientLight",
"pin": 4,
"service": "analog:lightLevel"
}
],
"i2c": {
"$connector": "Qwiic",
"pinSCL": "SCL",
"pinSDA": "SDA"
},
"led": {
"pin": 40,
"pinCLK": 45,
"type": 2
},
"log": {
"pinTX": "TX_D1"
},
"pins": {
"A0": 17,
"A1": 18,
"A2": 14,
"A3": 12,
"A4_D24": 6,
"A5_D25": 5,
"D10": 3,
"D11": 7,
"D12": 10,
"D13": 11,
"D5": 33,
"D6": 38,
"D9": 1,
"LED0": 13,
"LED_PWR": 21,
"MISO": 37,
"MOSI": 35,
"RX_D0": 44,
"SCK": 36,
"SCL": 9,
"SDA": 8,
"TX_D1": 43
},
"sPin": {
"LED_PWR": 1
}
}