# ESP32 Flex Haptic Board
## Description
Beginner-friendly battery-powered ESP32-S3 board with USB-C charging/programming, LiPo power-path charging, three flex sensor inputs, one I2C IMU, and two haptic driver outputs.
## Project Details
- **Owner:** fireball3256
- **Created:** 4/17/2026
- **Last Updated:** 4/17/2026
- **Visibility:** Public
- **Human Interface:** 3 flex sensor inputs, 2 haptic outputs, BOOT and RESET buttons
- **Operating Voltage:** 3.3V logic rail
- **Power Requirements:** USB-C 5V input and single-cell LiPo battery
- **Connectivity:** USB 2.0, I2C
- **Implementation Details:** ESP32-S3 with native USB, MCP73871 charger power-path, shared 3.3V regulator rail, external haptic driver connectors
## Key Components
### IC2 — [ESP32-S3-WROOM-1-N16R8](https://www.flux.ai/adrian95/esp32-s3-wroom-1-n16r8~fs1.md)
- Role: Main MCU
- Manufacturer Part Number: ESP32-S3-WROOM-1-N16R8
- Manufacturer Name: Espressif
- Role Details: ESP32-S3 module providing native USB programming, three flex ADC inputs, I2C gyro interface, and two haptic control outputs
- Package: Module
- Part Type: Module
- License: https://creativecommons.org/licenses/by/4.0/
- Datasheet URL: https://www.mouser.com/datasheet/2/891/esp32_s3_wroom_1_wroom_1u_datasheet_en-2930317.pdf
**Pins:**
- 3V3 [pin 2]
- EN [pin 3]
- GND_1 [pin 1]
- GND_10 [pin 48]
- GND_11 [pin 49]
- GND_2 [pin 40]
- GND_3 [pin 41]
- GND_4 [pin 42]
- GND_5 [pin 43]
- GND_6 [pin 44]
- GND_7 [pin 45]
- GND_8 [pin 46]
- GND_9 [pin 47]
- IO0 [pin 27]
- IO1 [pin 39]
- IO10 [pin 18]
- IO11 [pin 19]
- IO12 [pin 20]
- IO13 [pin 21]
- IO14 [pin 22]
- IO15 [pin 8]
- IO16 [pin 9]
- IO17 [pin 10]
- IO18 [pin 11]
- IO19 [pin 13]
- IO2 [pin 38]
- IO20 [pin 14]
- IO21 [pin 23]
- IO3 [pin 15]
- IO35 [pin 28]
- IO36 [pin 29]
- IO37 [pin 30]
- IO38 [pin 31]
- IO39 [pin 32]
- IO4 [pin 4]
- IO40 [pin 33]
- IO41 [pin 34]
- IO42 [pin 35]
- IO45 [pin 26]
- IO46 [pin 16]
- IO47 [pin 24]
- IO48 [pin 25]
- IO5 [pin 5]
- IO6 [pin 6]
- IO7 [pin 7]
- IO8 [pin 12]
- IO9 [pin 17]
- RXD0 [pin 36]
- TXD0 [pin 37]
### J10 — [B2B-PH-K-S(LF)(SN)](https://www.flux.ai/jecstronic/b2b-ph-k-slfsn~nss.md)
- License: https://creativecommons.org/licenses/by/4.0/
- Role Details: 2-pin battery connector for single-cell LiPo pack
- Manufacturer Part Number: B2B-PH-K-S(LF)(SN)
- Role: Battery Connector
- Manufacturer Name: JST Sales America
- Package: JST-PH-2
- Datasheet URL: https://datasheet.lcsc.com/lcsc/1811151524_JST-Sales-America-B2B-PH-K-S-LF-SN_C131337.pdf
- Part Type: Connector
**Pins:**
- PIN1 [pin 1]
- PIN2 [pin 2]
### J11 — [B3B-PH-K-S(LF)(SN)](https://www.flux.ai/adrian95/b3b-ph-k-slfsn~xzb.md)
- License: https://creativecommons.org/licenses/by/4.0/
- Manufacturer Name: JST Sales America Inc.
- Part Type: Connector
- Package: JST-PH-3
- Manufacturer Part Number: B3B-PH-K-S(LF)(SN)
- Implementation Details: Pin 1=VCC, Pin 2=GND, Pin 3=DATA
- Role Details: 3-pin connector carrying 3.3V, GND, and control signal to an external haptic driver module
- Role: Haptic Connector
- Datasheet URL: https://www.jst-mfg.com/product/pdf/eng/ePH.pdf
**Pins:**
- Pin_1 [pin 1]
- Pin_2 [pin 2]
- Pin_3 [pin 3]
### J12 — [B3B-PH-K-S(LF)(SN)](https://www.flux.ai/adrian95/b3b-ph-k-slfsn~xzb.md)
- Part Type: Connector
- Role Details: 3-pin connector carrying 3.3V, GND, and control signal to an external haptic driver module
- Implementation Details: Pin 1=VCC, Pin 2=GND, Pin 3=DATA
- Manufacturer Name: JST Sales America Inc.
- Role: Haptic Connector
- License: https://creativecommons.org/licenses/by/4.0/
- Datasheet URL: https://www.jst-mfg.com/product/pdf/eng/ePH.pdf
- Package: JST-PH-3
- Manufacturer Part Number: B3B-PH-K-S(LF)(SN)
**Pins:**
- Pin_1 [pin 1]
- Pin_2 [pin 2]
- Pin_3 [pin 3]
### J13 — [B2B-PH-K-S](https://www.flux.ai/adrian95/b2b-ph-k-s~fx.md)
- Datasheet URL: https://www.jst-mfg.com/product/pdf/eng/ePH.pdf
- Part Type: Connector
- Role Details: 2-pin connector for each external flex sensor element used in a divider input
- Role: Flex Sensor Connector
- Manufacturer Name: JST
- Manufacturer Part Number: B2B-PH-K-S
- Package or Case Code: JST_B2B-PH-K-S
- Package: JST-PH-2
- License: https://creativecommons.org/licenses/by/4.0/
**Pins:**
- 1 [pin 1]
- 2 [pin 2]
### J14 — [B2B-PH-K-S](https://www.flux.ai/adrian95/b2b-ph-k-s~fx.md)
- Package or Case Code: JST_B2B-PH-K-S
- Manufacturer Name: JST
- Manufacturer Part Number: B2B-PH-K-S
- Role Details: 2-pin connector for each external flex sensor element used in a divider input
- License: https://creativecommons.org/licenses/by/4.0/
- Role: Flex Sensor Connector
- Part Type: Connector
- Datasheet URL: https://www.jst-mfg.com/product/pdf/eng/ePH.pdf
- Package: JST-PH-2
**Pins:**
- 1 [pin 1]
- 2 [pin 2]
### J15 — [B2B-PH-K-S](https://www.flux.ai/adrian95/b2b-ph-k-s~fx.md)
- Package: JST-PH-2
- Role: Flex Sensor Connector
- Datasheet URL: https://www.jst-mfg.com/product/pdf/eng/ePH.pdf
- Part Type: Connector
- Role Details: 2-pin connector for each external flex sensor element used in a divider input
- Manufacturer Name: JST
- Manufacturer Part Number: B2B-PH-K-S
- Package or Case Code: JST_B2B-PH-K-S
- License: https://creativecommons.org/licenses/by/4.0/
**Pins:**
- 1 [pin 1]
- 2 [pin 2]
### J3 — [61300411121](https://www.flux.ai/adrian95/61300411121~pw9.md)
- Part Type: Connector
- Package: Pin Header 1x4
- Package or Case Code: HDRV4W95P0X254_1X4_1016X254X854P
- Role: Connector
- Manufacturer Part Number: 61300411121
- Manufacturer Name: Wurth Elektronik
- Datasheet URL: https://www.we-online.com/components/products/datasheet/61300411121.pdf
- Role Details: Optional external I2C breakout access ordered as GND 3V3 SDA SCL
- Implementation Details: Pin 1=GND, Pin 2=3V3, Pin 3=SDA, Pin 4=SCL
- License: https://creativecommons.org/licenses/by/4.0/
**Pins:**
- 1 [pin 1]
- 2 [pin 2]
- 3 [pin 3]
- 4 [pin 4]
### J9 — [USB-C 2.0 Receptacle](https://www.flux.ai/vritzka/usb-c-2p0-receptacle~h8.md)
- Role: USB-C Port
- Manufacturer Name: GTC
- Package: USB-C Receptacle
- Datasheet URL: https://gct.co/files/drawings/usb4105.pdf
- Purchase Url: https://www.digikey.com/en/products/detail/gct/USB4105-GF-A/11198441
- Manufacturer Part Number: USB4105-GF-A
- Part Type: USB C
- Role Details: Provides 5V input and USB 2.0 data connection for charging and programming
**Pins:**
- CC1 [pin 6]
- CC2 [pin 12]
- D- [pin 9]
- D- [pin 7]
- D+ [pin 10]
- D+ [pin 8]
- GND [pin 15]
- GND [pin 1]
- GND [pin 16]
- GND [pin 2]
- SBU1 [pin 11]
- SBU2 [pin 5]
- Shield [pin 16]
- VBUS [pin 14]
- VBUS [pin 13]
- VBUS [pin 4]
- VBUS [pin 3]
### SW3 — [PTS810SJK250SMTRLFS](https://www.flux.ai/jharwinbarrozo/pts810sjk250smtrlfs~6tl.md)
- Role Details: Momentary pushbutton for ESP32 boot and reset control
- Datasheet URL: https://datasheet.lcsc.com/lcsc/1810121650_C-K-PTS810SJK250SMTRLFS_C221896.pdf
- Manufacturer Part Number: PTS810SJK250SMTRLFS
- Package: SMD Tactile
- Part Type: Switch
- Role: Control Button
- Manufacturer Name: C&K
**Pins:**
- P1 [pin 1]
- P3 [pin 3]
### SW4 — [PTS810SJK250SMTRLFS](https://www.flux.ai/jharwinbarrozo/pts810sjk250smtrlfs~6tl.md)
- Manufacturer Name: C&K
- Package: SMD Tactile
- Role: Control Button
- Role Details: Momentary pushbutton for ESP32 boot and reset control
- Part Type: Switch
- Datasheet URL: https://datasheet.lcsc.com/lcsc/1810121650_C-K-PTS810SJK250SMTRLFS_C221896.pdf
- Manufacturer Part Number: PTS810SJK250SMTRLFS
**Pins:**
- P1 [pin 1]
- P3 [pin 3]
### U3 — [RT9013-33GB](https://www.flux.ai/jecstronic/rt9013-33gb~xl8.md)
- Manufacturer Part Number: RT9013-33GB
- Part Type: Integrated Circuit
- Package: SOT-23-5
- Role Details: 3.3V LDO generating the shared logic rail from the charger system output
- Role: Regulator
- Datasheet URL: https://datasheet.lcsc.com/lcsc/1809081207_Richtek-Tech-RT9013-33GB_C47773.pdf
- Manufacturer Name: Richtek Tech
**Pins:**
- EN
- GND
- IN
- NC
- OUT
### U5 — [MCP73871-2CCI/ML](https://www.flux.ai/adrian95/mcp73871-2cciml~xz9.md)
- Package: QFN
- Role Details: Charges a single-cell battery from USB-C and provides power-path output for system rail
- Manufacturer Name: Microchip
- Part Type: Integrated Circuit
- Role: Battery Charger
- License: https://creativecommons.org/licenses/by/4.0/
- Datasheet URL: https://ww1.microchip.com/downloads/en/DeviceDoc/MCP73871-Data-Sheet-20002090E.pdf
- Manufacturer Part Number: MCP73871-2CCI/ML
**Pins:**
- ~PG [pin 6]
- ~TE [pin 9]
- CE [pin 17]
- EP [pin 21]
- IN_1 [pin 18]
- IN_2 [pin 19]
- OUT_1 [pin 1]
- OUT_2 [pin 20]
- PROG1 [pin 13]
- PROG2 [pin 4]
- PROG3 [pin 12]
- SEL [pin 3]
- STAT1/~LBO [pin 8]
- STAT2 [pin 7]
- THERM [pin 5]
- VBAT_1 [pin 14]
- VBAT_2 [pin 15]
- VBAT_SENSE [pin 16]
- VPCC [pin 2]
- VSS_1 [pin 10]
- VSS_2 [pin 11]
### U6 — [USBLC6-2P6](https://www.flux.ai/kicad-part-library/usblc6-2p6~djt.md)
- Role: USB Protection
- Package: SOT-666
- Package or Case Code: SOT-666
- Manufacturer Part Number: USBLC6-2P6
- Role Details: Protects USB D+ and D- lines from ESD events
- Manufacturer Name: STMicroelectronics
- Datasheet URL: https://www.st.com/resource/en/datasheet/usblc6-2.pdf
**Pins:**
- GND [pin 2]
- I/O1 [pin 1]
- I/O1 [pin 6]
- I/O2 [pin 3]
- I/O2 [pin 4]
- VBUS [pin 5]
### U7 — [LSM6DS3TR-C](https://www.flux.ai/lcsc/lsm6ds3tr-c~t27b.md)
- Role: IMU
- Part Type: Attitude Sensors
- Manufacturer Part Number: LSM6DS3TR-C
- Operating Temperature: -40°C ~ 85°C
- Package: LGA-14
- Role Details: I2C-connected motion sensor providing gyro and accelerometer data
- Sensor Type: Accelerometer gyroscope
- Manufacturer Name: STMicroelectronics
- Package or Case Code: LGA-14_L3.0-W2.5-P0.50-TL
- JLCPCB Part Class: Extended Part
- LCSC Part Number: C967633
**Pins:**
- CS [pin 12]
- GND [pin 6]
- GND [pin 7]
- INT1 [pin 4]
- INT2 [pin 9]
- NC [pin 11]
- NC [pin 10]
- SCL [pin 13]
- SCx [pin 3]
- SDA [pin 14]
- SDO/SA0 [pin 1]
- SDx [pin 2]
- VDD [pin 8]
- VDDIO [pin 5]
*The full schematic, PCB layout, bill of materials, and interactive design are available at [https://www.flux.ai/fireball3256/esp32-flex-haptic-board~xr](https://www.flux.ai/fireball3256/esp32-flex-haptic-board~xr).*
---
*Generated from [https://www.flux.ai/fireball3256/esp32-flex-haptic-board~xr](https://www.flux.ai/fireball3256/esp32-flex-haptic-board~xr)*