ESP32-S3-µMETER

Overview

The Auxspace e.V. ESP32-S3-µMETER PCB is a minimal flight computer on a 4-layer PCB with an ESP32-S3-WROOM-1 from Espressif.

Hardware

ESP32-S3 is a low-power MCU-based system on a chip (SoC) with integrated 2.4 GHz Wi-Fi and Bluetooth® Low Energy (Bluetooth LE). It consists of high-performance dual-core microprocessor (Xtensa® 32-bit LX7), a low power coprocessor, a Wi-Fi baseband, a Bluetooth LE baseband, RF module, and numerous peripherals. More about that can be found in the zephyr docs of the ESP32-S3.

Specifically added features include:

  • 6-DoF IMU

  • Barometer

  • Buzzer

  • 2-channel Pyro ignition

  • CAN-bus for communication with posible expansion PCBs

  • µSD-Card slot

Supported Features

The esp32s3_micrometer board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.

esp32s3_micrometer/esp32s3/procpu target

Type

Location

Description

Compatible

CPU

on-chip

Espressif Xtensa LX7 CPU2

espressif,xtensa-lx7

ADC

on-chip

ESP32 ADC2

espressif,esp32-adc

Bluetooth

on-chip

Bluetooth HCI for Espressif ESP321

espressif,esp32-bt-hci

CAN

on-chip

ESP32 Two-Wire Automotive Interface (TWAI)1

espressif,esp32-twai

Clock control

on-chip

ESP32 Clock (Power & Clock Controller Module) Module1

espressif,esp32-clock

Counter

on-chip

ESP32 Counter Driver based on RTC Main Timer1

espressif,esp32-rtc-timer

on-chip

ESP32 general-purpose timers13

espressif,esp32-timer

on-chip

ESP32 counters4

espressif,esp32-counter

Cryptographic accelerator

on-chip

Espressif ESP32 SHA Hardware Accelerator1

espressif,esp32-sha

on-chip

Espressif ESP32 family AES Hardware Accelerator1

espressif,esp32-aes

DMA

on-chip

ESP32 GDMA (General Direct Memory Access)1

espressif,esp32-gdma

Flash controller

on-chip

ESP32 flash controller1

espressif,esp32-flash-controller

GPIO & Headers

on-chip

ESP32 GPIO controller2

espressif,esp32-gpio

I2C

on-chip

ESP32 I2C2

espressif,esp32-i2c

I2S

on-chip

ESP32 I2S2

espressif,esp32-i2s

Input

on-chip

ESP32 touch sensor input1

espressif,esp32-touch

on-board

Group of GPIO-bound input keys1

gpio-keys

Interrupt controller

on-chip

ESP32 Interrupt controller1

espressif,esp32-intc

IPM

on-chip

ESP32 soft inter processor message1

espressif,esp32-ipm

LED

on-board

Group of PWM-controlled LEDs1

pwm-leds

Mailbox

on-chip

ESP32 soft mailbox1

espressif,mbox-esp32

Memory controller

on-chip

ESP32 pseudo-static RAM controller1

espressif,esp32-psram

MIPI-DBI

on-chip

ESP32 LCD-CAM display interface1

espressif,esp32-lcd-cam-mipi-dbi

Miscellaneous

on-chip

ESP32 LCD-CAM controller1

espressif,esp32-lcd-cam

on-board

PWM passive buzzer1

auxspaceev,pwm-buzzer

MTD

on-chip

Flash node1

soc-nv-flash

on-chip

Fixed partitions of a flash (or other non-volatile storage) memory1

fixed-partitions

Pin control

on-chip

ESP32 pin controller1

espressif,esp32-pinctrl

PWM

on-chip

ESP32 LED Control (LEDC)1

espressif,esp32-ledc

on-chip

ESP32 Motor Control Pulse Width Modulator (MCPWM)2

espressif,esp32-mcpwm

Pyrotechnic Ignition

on-board

Basic pyro module1

auxspaceev,basic-pyro

RNG

on-chip

ESP32 TRNG (True Random Number Generator)1

espressif,esp32-trng

SDHC

on-chip

ESP32 SDHC controller1

espressif,esp32-sdhc

on-chip

ESP32 SDHC controller slot2

espressif,esp32-sdhc-slot

Sensors

on-board

STMicroelectronics LSM6DSO32 6-axis IMU (Inertial Measurement Unit) sensor accessed through I2C bus1

st,lsm6dso32

on-board

STMicroelectronics LPS22HH pressure and temperature sensor connected to I2C bus1

st,lps22hh

on-chip

ESP32 internal temperature sensor1

espressif,esp32-temp

on-chip

ESP32 Pulse Counter (PCNT)1

espressif,esp32-pcnt

Serial controller

on-chip

ESP32 UART3

espressif,esp32-uart

on-chip

ESP32 UART1

espressif,esp32-usb-serial

SPI

on-chip

ESP32 SPI controller2

espressif,esp32-spi

SRAM

on-chip

Generic on-chip SRAM2

mmio-sram

USB

on-chip

ESP32 USB-OTG (DWC2 compatible controller)1

espressif,esp32-usb-otg

Video

on-chip

ESP32 LCD-CAM camera interface1

espressif,esp32-lcd-cam-dvp

Watchdog

on-chip

ESP32 XT Watchdog Timer1

espressif,esp32-xt-wdt

on-chip

ESP32 watchdog2

espressif,esp32-watchdog

Wi-Fi

on-chip

ESP32 SoC Wi-Fi1

espressif,esp32-wifi

Connections and IOs

  • UART for programming and debugging

  • SW1 for inputs

  • Two seperated pin-pairs for the pyros

  • Pins for battery

  • 6-pin connector for expansion PCBs; don’t throw heavy loads an the 3V3 pin, it may overheat the LDO.

Programming and Debugging

The esp32s3_micrometer board supports the runners and associated west commands listed below.

flash debug attach debugserver rtt
esp32 ✅ (default)
openocd ✅ (default)

Warning

If no µSD-Card is inserted, the board will have trouble booting, since the SPI-SDHC driver has no way to detect card presence without a card-detect-pin!

Building

µMeter is built with sysbuild since it uses the MCUBoot boot loader:

west build -p -b esp32s3_micrometer/esp32s3/procpu --sysbuild sensor_board

Flashing

west flash is unfortunately not working with this setup, since the ESP requires the download mode to be set when booting and west flash is chain loading both images after one another.

Instead, flash both images in download mode and then just reset, using esptool:

esptool --chip esp32s3 -p /dev/tty<ESP_DEV> -b 921600 write-flash \
  0x0 build/mcuboot/zephyr/zephyr.bin \
  0x20000 build/sensor_board/zephyr/zephyr.signed.bin