Normalized USB net names to USB_DP and USB_DN, retained the 3-pin haptic connector scheme on J11 and J12, and added explicit no-connect markers for intentionally unused pins on IC2, U5, U7, U3, and J9
Verified key power and interface rails: VBUS -> U5 -> VSYS -> U3 -> 3V3, battery rail VBAT to J10, USB native data from J9 through U6 to IC2, and boot/reset pull networks on SW3, SW4, R17, and R8
Set the layout to 160 mm x 100 mm, 4-layer, with inner layer 2 as ground plane and inner layer 3 as a power-oriented plane, plus baseline board rules of 0.15 mm minimum trace width, 0.15 mm minimum keep-out, and 0.2 mm board inset margin
✅ The schematic was substantially cleaned up and duplicate major circuits were removed
✅ Power, USB, and ESP32 boot/reset circuitry were reviewed and consolidated into a single retained implementation
✅ Production MPN metadata was improved for key ICs including U3 and U7, and all current parts have footprints assigned
✅ The PCB layout size, stackup, and core board rules are now defined
❌ The layout is not yet fully routed: DRC still reports 82 airwire errors
❌ ERC still reports unresolved floating capacitor pins on C1, C7, C8, and C16
❌ I could not complete placement optimization or trace routing because the available toolset in this run does not include a placement or routing mutation tool, so I cannot finish the remaining PCB connectivity from here
Next steps
The design is materially cleaner and constrained, but it is not yet production-ready because routing and a few remaining schematic cleanup items are still open. If placement and auto-routing tools are made available in a follow-up run, I can finish the remaining airwires, resolve the last floating caps, and close the final ERC/DRC gap.
Normalized native USB net names to USB_DP and USB_DN.
Kept 3-pin haptic module connectors J11 and J12 with pinout VCC, GND, DATA.
Marked intentionally unused pins on the USB-C SBU pins, IMU auxiliary/interrupt pins, unused ESP32 GPIOs, charger status pins, and regulator NC to suppress non-functional ERC noise.
Layout constraints
Finalized layout size to 160 mm x 100 mm rectangle with 3 mm corner radius.
Retained 4-layer stackup and assigned inner layer 2 as the ground plane, inner layer 3 as a power-oriented plane in the custom stackup.
Applied baseline manufacturable constraints: 0.15 mm minimum trace width, 0.15 mm minimum keep-out, and 0.2 mm board inset margin.
Remaining risk items
Airwires still need routing completion in the PCB layout.
Some passives and earlier removed-component references may still appear in stale ERC/DRC or legacy nets until fully revalidated in layout context.
U3 is usable and stocked, but should still be watched for lifecycle preference in future sourcing reviews.
ESP32 Flex Haptic Board production cleanup
Layout constraints
Remaining risk items
Reviews
Documents
Project Specification
Design Notes
Assets
Assets are files uploaded to this project which can be used in various ways.
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.
Properties
Pricing & Availability
Distributor
Qty 1
Arrow
$5.30–$6.40
Digi-Key
$19,010.77–$19,012.58
LCSC
$15.67–$15.84
Mouser
$17.35
TME
$0.32
Verical
$6.62–$59.27
Controls
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.