12 KiB
ESP32‑S3 Wearable Sensor Board – Hardware Design Specification
Document Version: 1.0
Target Audience: PCB designer / hardware engineer
Status: Ready for implementation
Document index
- 1. Overview
- 2. MCU and wireless
- 3. Power – battery, charging, and gauge
- 4. USB‑C interface and firmware protection
- 5. Power‑supply architecture
- 6. Motion sensing (IMU)
- 7. Real‑time clock (RTC)
- 8. Deep‑sleep and power‑gating
- 9. Display and I²C peripherals
- 10. GPIO exposure and modularity
- 11. Power‑pin distribution per GPIO
- 12. Size, PCB layers, and mechanical constraints
- 13. External power input and protection
- 14. Bill of Materials (BOM) draft
1. Overview
This document defines the hardware design requirements for a compact wearable sensor board based on the ESP32‑S3 (preferred) or ESP32‑C3. The board targets sports/impact‑sensing applications (fist/leg strikes) and must balance:
- Tiny size for wearable use.
- Long‑term battery life via deep‑sleep and power‑gating.
- High‑integrity IMU and power‑monitoring (gas‑gauge, RTC).
The designer must translate this into a schematic and double‑sided PCB layout that meets all constraints listed below.
2. MCU and wireless
- MCU:
- Primary: ESP32‑S3 (small‑form‑factor, integrated Wi‑Fi/BLE, USB‑UART, 45+ GPIOs).
- Alternative (only if size is critical and Wi‑Fi/BLE robustness is secondary): ESP32‑C3.
- Connectivity:
- 2.4 GHz Wi‑Fi 802.11 b/g/n.
- Bluetooth 5.0 (BLE).
- RF layout:
- Use either an on‑board PCB antenna or a small external antenna connector, following Espressif’s ESP32‑S3 hardware design guidelines.
- Provide proper RF‑matching network and keep‑out zones around the antenna.
3. Power – battery, charging, and gauge
- Battery:
- Single‑cell Li‑Po / Li‑Ion (nominal 3.7 V).
- Charging:
- Include a Li‑Po charge IC (e.g., TP4056, BQ2409x‑style, or similar modern IC) that:
- Accepts 5 V from USB‑C → charges the battery.
- Reports charge status via GPIO‑visible signals (e.g., CHRG, DONE).
- Charging current: 100–500 mA typical (designer’s choice based on thermal and USB limits).
- Include a Li‑Po charge IC (e.g., TP4056, BQ2409x‑style, or similar modern IC) that:
- Battery gauge (SoC monitoring):
- Use a gas‑gauge IC (e.g., MAX170xx family, or similar) to measure:
- Battery voltage.
- Current.
- State‑of‑Charge (%).
- Interface: I²C (shared bus with IMU and RTC).
- This is mandatory; do not rely purely on ADC‑based voltage‑only estimation.
- Use a gas‑gauge IC (e.g., MAX170xx family, or similar) to measure:
4. USB‑C interface and firmware protection
- USB‑C role:
- One USB‑Type C receptacle serving:
- Battery charging (via Li‑Po charge IC).
- ESP32‑S3 programming and serial communication (via built‑in USB‑UART/JTAG).
- One USB‑Type C receptacle serving:
- D‑ / D+ SMD jumpers:
- Bring D‑ and D+ from the USB‑C connector to SMD jumper pads (e.g., 0603/0402‑style pads).
- When the pads are shorted by solder, D‑/D+ are connected to the ESP32‑S3.
- When the shorts are desoldered, D‑/D+ are disconnected, preventing:
- User‑induced firmware re‑flash.
- Accidental corruption of the device in the field.
- USB protection:
- Include ESD protection / 5‑V clamp on USB lines.
- Limit current via USB‑compliant resistor or IC‑based current‑limiting.
5. Power‑supply architecture
- 3.3 V main rail:
- Provide a 3.3 V regulator for the ESP32‑S3, IMU, OLED, and 3.3 V peripherals.
- Prefer a buck (step‑down) converter over an LDO for efficiency and higher current capability.
- Target: 3.3 V @ 300–500 mA continuous (or higher if justified by load).
- Boost converter / 5 V booster:
- A boost converter (e.g., 1.8–4.2 V input → 5 V output) must power:
- LED strips.
- Other 5 V peripherals.
- The enable pin of the booster must be driven by a GPIO of the ESP32‑S3.
- When the MCU goes into deep‑sleep, this GPIO must be set to low to disable the booster.
- A boost converter (e.g., 1.8–4.2 V input → 5 V output) must power:
- Isolation:
- Ensure the 5 V rail is isolated from 3.3 V logic (Schottky diodes or MOSFET isolation if needed).
6. Motion sensing (IMU)
- General requirement:
- Use a 6‑axis or 9‑axis IMU for impact / strike detection, supporting:
- High‑g capability (≥ 80 g) for punches/kicks.
- Low‑noise gyro for angular motion.
- Do not use obsolete parts like MPU‑9250 or MPU‑6050 due to supply and counterfeit risks.
- Use a 6‑axis or 9‑axis IMU for impact / strike detection, supporting:
- Preferred IMU:
- ST LSM6DSV80X (or equivalent) is recommended because:
- 6‑axis IMU in a 2.5×3 mm package.
- Dual accelerometer paths: 16 g low‑g and 80 g high‑g.
- Gyroscope and embedded AI‑style FSM/MLC for impact detection and motion states.
- Supports I²C and SPI.
- ST LSM6DSV80X (or equivalent) is recommended because:
- Interface and power:
- Run the IMU from the 3.3 V rail.
- Connect to ESP32‑S3 via I²C (shared with battery gauge and RTC).
- Expose all configurable pins (interrupts, reset, etc.) on solder pads so they can be jumpered or disconnected.
7. Real‑time clock (RTC)
- Function:
- Provide accurate timekeeping during long‑term battery‑powered operation and deep‑sleep.
- Requirements:
- I²C‑compatible RTC module (e.g., common 32‑kHz RTC chips).
- Tiny coin‑cell footpring for a 3‑V rechargeable cell or supercap‑backup (e.g., CR1220‑style).
- Alarm / interrupt output to a GPIO to wake the MCU from deep‑sleep.
- Power:
- Main power from 3.3 V rail.
- Backup power from coin cell / supercap.
8. Deep‑sleep and power‑gating
- System behavior in deep‑sleep:
- In deep‑sleep, the ESP32‑S3 must disable all non‑critical external peripherals and isolate power rails to minimize current draw.
- Targets for shut‑down:
- 5 V booster (GPIO‑driven enable → low).
- Any external modules powered by external 5 V or switchable rails.
- Power‑gating strategy:
- Use MOSFET‑based power‑gating or enable‑controlled DC/DC converters for:
- 5 V booster output.
- External I²C peripherals not needed during sleep.
- The MCU must control enable signals for these regulators/MOSFETs via GPIOs.
- Use MOSFET‑based power‑gating or enable‑controlled DC/DC converters for:
9. Display and I²C peripherals
- OLED display:
- Provide a standard footprint / connector for an I²C OLED display (e.g., 0.96" 128×64).
- Pins at connector:
VCC(3.3 V).GND.SDA(I²C data).SCL(I²C clock).
- Power from the 3.3 V rail.
- General I²C:
- Provide exposed solder pads for a secondary I²C bus or breakout of the main I²C bus for:
- Extra sensors.
- Expansion modules.
- Use appropriate pull‑up resistors (e.g., 4.7 kΩ) sized for selected bus speed.
- Provide exposed solder pads for a secondary I²C bus or breakout of the main I²C bus for:
10. GPIO exposure and modularity
- All GPIOs:
- Every ESP32‑S3 GPIO must be accessible:
- As through‑hole pads, 0.1" header pins, or edge‑mountable pads.
- Labeled with: GPIO number + function (e.g.,
GPIO21 – I2C_SDA).
- Every ESP32‑S3 GPIO must be accessible:
- External‑control signals:
- Any GPIO that controls:
- Booster enable.
- Other external modules / regulators.
- Must be connected via SMD jumper pads (two pads with a short‑able bridge).
- When the bridge is soldered, the MCU controls that function.
- When the bridge is desoldered, that function is disconnected, allowing modular removal of that side of the board.
- Any GPIO that controls:
11. Power‑pin distribution per GPIO
To ensure easy connection to external peripherals without extra wiring:
- For every GPIO pad / connector, place neighboring pads for:
GND.3V3.5V.
- Preferred layout patterns:
- Pin‑header style:
[GPIO_X][GND][3V3][5V]repeated. - Solder‑pad array:
- One row for
GND. - One row for
3V3. - One row for
5V. - One row for
GPIO_Xsignals.
- One row for
- Pin‑header style:
- Electrical rules:
- Connect all
GNDpads to the main ground plane. - Connect
3V3pads to the main 3.3 V buck output. - Connect
5Vpads to the boost‑converter output, enabled only when the booster is active. - Size power traces and vias to handle high‑current loads (e.g., LED strips, motors).
- Connect all
12. Size, PCB layers, and mechanical constraints
- Target size:
- As small and tiny as possible to maximize space for the battery and wearable‑side components.
- Target in the range of ~20×30 mm or smaller, depending on antenna and battery constraints.
- PCB stack‑up:
- Use single‑sided PCB where possible.
- If routing density or RF layout requires it, switch to double‑sided (2‑layer) PCB.
- Ground and RF:
- Use a solid ground plane under RF and MCU sections.
- Follow Espressif’s ESP32‑S3 hardware design guidelines for antenna keep‑out and RF‑matching.
13. External power input and protection
- External power input pads:
- Provide two dedicated solder pads for external input voltage:
VIN(orVEXT).- Adjacent
GNDpad.
- Provide two dedicated solder pads for external input voltage:
- Voltage protection and regulation:
- The external input must tolerate a range above 3.3 V (e.g., roughly 4–12 V, negotiable with the designer).
- Include:
- A wide‑input buck regulator (or similar) that steps higher input down to:
- A safe bus voltage for the Li‑Po charger (e.g., 4.5–5.5 V), and/or
- Directly to 3.3 V for the MCU and peripherals.
- Over‑voltage protection (OVP) or a TVS / ESD clamp on the
VINline.
- A wide‑input buck regulator (or similar) that steps higher input down to:
- Behavior:
- The board can be powered via:
- USB‑C.
- Or the external
VINpads.
- Only one power source should be active at a time.
- The board can be powered via:
- Labeling:
- Clearly mark the pads as:
VINGND (VIN)
- Clearly mark the pads as:
14. Bill of Materials (BOM) draft
This is a functional BOM; the designer may substitute functionally equivalent parts (with your approval).
| ID | Function | Suggested / Example Part | Notes |
|---|---|---|---|
| MCU1 | Main MCU | ESP32‑S3‑WROOM‑32 / ESP32‑S3‑MINI | Wi‑Fi/BLE, USB‑UART, 45+ GPIOs |
| CHG1 | Li‑Po charger | TP4056 or similar modern Li‑Po charge IC | 5 V input, CHRG/DONE outputs |
| GAGE1 | Battery gauge | MAX1704x / MAX170xx family | I²C‑based SoC estimation |
| IMU1 | Motion sensor | ST LSM6DSV80X | 6‑axis, 16 g + 80 g accel, 2.5×3 mm |
| RTC1 | RTC module | Generic I²C 32‑kHz RTC with coin‑cell backup | Alarm / interrupt output |
| REG1 | 3.3 V main rail | 3.3 V buck converter (e.g., AP62x0x‑style) | 3.3 V @ 300–500 mA+ |
| BOOST1 | 5 V booster | 5 V boost converter with enable pin | Must be GPIO‑controllable |
| USB1 | USB‑C receptacle | Standard USB‑Type C SMD connector | Dual‑role (charging + programming) |
| USB_PROT1 | USB‑line protection | USB‑ESD array / 5‑V clamp | Protects D‑/D+ and VBUS |
| VIN_PROT1 | External input protection | Wide‑input buck (e.g., LM2576‑style or similar) plus TVS | Steps 4–12 V down to safe rail |
| OLED1 | OLED display connector | 4‑pin header / footprint | 3.3 V, GND, SDA, SCL |
| CRYST1 | 40 MHz / 32 kHz crystals | 40 MHz + 32.768 kHz (if required) | As per ESP32‑S3 / RTC requirements |
You can now save this as wearable_esp32s3_spec.md and hand it directly to your PCB designer; they can use the section headings and BOM table as a formal reference.