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 |
|
ADC |
on-chip |
ESP32 ADC2 |
|
Bluetooth |
on-chip |
Bluetooth HCI for Espressif ESP321 |
|
CAN |
on-chip |
ESP32 Two-Wire Automotive Interface (TWAI)1 |
|
Clock control |
on-chip |
ESP32 Clock (Power & Clock Controller Module) Module1 |
|
Counter |
on-chip |
ESP32 Counter Driver based on RTC Main Timer1 |
|
on-chip |
|
||
on-chip |
ESP32 counters4 |
|
|
Cryptographic accelerator |
on-chip |
Espressif ESP32 SHA Hardware Accelerator1 |
|
on-chip |
Espressif ESP32 family AES Hardware Accelerator1 |
|
|
DMA |
on-chip |
ESP32 GDMA (General Direct Memory Access)1 |
|
Flash controller |
on-chip |
ESP32 flash controller1 |
|
GPIO & Headers |
on-chip |
ESP32 GPIO controller2 |
|
I2C |
on-chip |
ESP32 I2C2 |
|
I2S |
on-chip |
ESP32 I2S2 |
|
Input |
on-chip |
ESP32 touch sensor input1 |
|
on-board |
Group of GPIO-bound input keys1 |
|
|
Interrupt controller |
on-chip |
ESP32 Interrupt controller1 |
|
IPM |
on-chip |
ESP32 soft inter processor message1 |
|
LED |
on-board |
Group of PWM-controlled LEDs1 |
|
Mailbox |
on-chip |
ESP32 soft mailbox1 |
|
Memory controller |
on-chip |
ESP32 pseudo-static RAM controller1 |
|
MIPI-DBI |
on-chip |
ESP32 LCD-CAM display interface1 |
|
Miscellaneous |
on-chip |
ESP32 LCD-CAM controller1 |
|
on-board |
PWM passive buzzer1 |
|
|
MTD |
on-chip |
Flash node1 |
|
on-chip |
Fixed partitions of a flash (or other non-volatile storage) memory1 |
|
|
Pin control |
on-chip |
ESP32 pin controller1 |
|
PWM |
on-chip |
ESP32 LED Control (LEDC)1 |
|
on-chip |
ESP32 Motor Control Pulse Width Modulator (MCPWM)2 |
|
|
Pyrotechnic Ignition |
on-board |
Basic pyro module1 |
|
RNG |
on-chip |
ESP32 TRNG (True Random Number Generator)1 |
|
SDHC |
on-chip |
ESP32 SDHC controller1 |
|
on-chip |
ESP32 SDHC controller slot2 |
|
|
Sensors |
on-board |
STMicroelectronics LSM6DSO32 6-axis IMU (Inertial Measurement Unit) sensor accessed through I2C bus1 |
|
on-board |
STMicroelectronics LPS22HH pressure and temperature sensor connected to I2C bus1 |
|
|
on-chip |
ESP32 internal temperature sensor1 |
|
|
on-chip |
ESP32 Pulse Counter (PCNT)1 |
|
|
Serial controller |
on-chip |
ESP32 UART3 |
|
on-chip |
ESP32 UART1 |
|
|
SPI |
on-chip |
ESP32 SPI controller2 |
|
SRAM |
on-chip |
Generic on-chip SRAM2 |
|
USB |
on-chip |
ESP32 USB-OTG (DWC2 compatible controller)1 |
|
Video |
on-chip |
ESP32 LCD-CAM camera interface1 |
|
Watchdog |
on-chip |
ESP32 XT Watchdog Timer1 |
|
on-chip |
ESP32 watchdog2 |
|
|
Wi-Fi |
on-chip |
ESP32 SoC Wi-Fi1 |
|
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