ESP32-C3 Multi-Board Design

Started implementing a plan

#Goal

- Revise the current compact ESP32-C3 sensor node into a practical sub-30 mm multi-board stack by offloading battery power input, antenna/external antenna support, and other space-intensive interfaces to a secondary board, while ensuring ESP-NOW, TMP117 contact temperature sensing, LIS2DW12 motion sensing, LiPo charging/power, and pogo charging/programming/communication remain fully functional.

#Implementation plan

1. Schematic and Block Audit

1. Identify and document the components and blocks causing routing and layout constraints on the current 28 mm board.

2. Highlight sections including battery power, antenna interfaces, and pogo pad clusters that can be migrated.

2. Two-Board Partitioning

1. Define a stack where the primary board (sub-30 mm) retains the ESP32-C3, TMP117 sensor, and LIS2DW12 accelerometer.

2. Allocate secondary board functions to include battery power input, external antenna connectivity, LiPo charger (MCP73831) circuits, and pogo/test interface pads.

3. Establish board-to-board interconnects that maintain ESP-NOW networking, shared power architecture, and necessary signal integrity.

3. Schematic Update

1. Update the schematic to reflect the new dual-board partition with dedicated interconnect headers or connectors.

2. Reconfigure the power network to route battery power and LiPo charging components to the secondary board while ensuring proper distribution to the primary board.

4. PCB Layout Reconfiguration

1. Reconfigure the physical layout to accommodate the two-board stack while keeping each board within the sub-30 mm dimension goal.

2. Prioritize placement and routing for critical RF paths (antenna), thermal contact regions (TMP117), and the pogo pad cluster.

3. Review and adjust layer assignments and clearances to resolve previous DRC issues.

5. Review and Documentation

1. Verify all key interfaces (ESP-NOW, TMP117, LIS2DW12, MCP73831 for LiPo charging, and pogo connectivity) are preserved and functionally routed.

2. Document remaining manual-routing priorities, mechanical constraints, and manufacturing considerations for final review.

#Success criteria

- The updated design successfully partitions the design into a dual-board stack, meeting the sub-30 mm size goal.

- All core functionalities (ESP-NOW, contact temperature sensing, motion sensing, LiPo charging, and pogo access) are maintained.

- The design resolves prior routing and DRC issues, ensuring manufacturability and layout de-risking.

Task unable to complete.

38:21

Thought for 12 sec
Accessing knowledge.
Read layout.
Reading schematic for U1, U2, U3 and 11 more.
Search 2 components.
Search complete.
Thought for 19 sec
Reading schematic for J8, J9.
Accessing knowledge.
Placing components.
Thought for 6 mins 3 sec
Placing components.
Placing components.
Placing components.
Placing components.
Placing components.
Thought for 28 sec
Placing components.
Placing components.
Placing components.
Placing components.
Thought for 22 sec
Placing components.
Thought for 5 sec
Placing components.
Thought for 54 sec
Running 8 design checks.
Reading layout for J8, J9, J10.
Editing board size.
Thought for 1 min 36 sec
Placing components.
Thought for 3 mins 5 sec
Placing components.
Placing components.
Placing components.
Thought for 2 mins 42 sec
Placing components.
Placing components.
Placing components.
Placing components.
Placing components.
Placing components.
Placing components.
Placing components.
Placing components.
Thought for 5 sec
Placing components.
Placing components.
Running 8 design checks.
Read layout.
Editing stackup.
Running 4 design checks.
Read layout.

Added 2 components

0:02

Added 2x BM23PF0.8-10DP-0.35V(51) as J8, J9 (Pins: 12, 4, 7, 13, 10, 5, 11, 1, 2, 3, 14, 6, 9, 8)

⚠️ Newly added components are not automatically placed on the PCB layout. If the project has a PCB layout, use `@rewriteLayoutComponentPlacement` to place them on the board.

Set Board Partition to "Primary sensor/MCU board" on U1, U2, and U3, Set Role Details to "ESP32-C3 ESP-NOW MCU retained..." on U1, and 14 more changes

0:01

Set U1's Board Partition to "Primary sensor/MCU board"

Set U1's Role Details to "ESP32-C3 ESP-NOW MCU retained on primary board; external antenna cable exits toward secondary RF/mechanical interface."

Set U2's Board Partition to "Primary sensor/MCU board"

Set U2's Role Details to "Contact temperature sensor; place centered over thermal pad/contact region to aluminum plate or magnet."

Set U3's Board Partition to "Primary sensor/MCU board"

Set U3's Role Details to "Motion sensor retained on primary board near MCU with short I2C and interrupt routing."

Set U4's Board Partition to "Secondary power/interface board"

Set U4's Role Details to "LiPo charger moved to secondary board; keep near pogo 5V input and battery connector; route charger status through J8/J9."

Set U5's Board Partition to "Secondary power/interface board"

Set U5's Role Details to "3.3V buck-boost regulator moved to secondary board; route regulated 3V3 and VBAT/GND through board-to-board connector."

Set J1's Board Partition to "Secondary power/interface board"

Set J1's Role Details to "Small LiPo battery connector moved to secondary board."

Set F1's Board Partition to "Secondary power/interface board"

Set F1's Role Details to "Pogo/charger 5V input fuse moved to secondary power/interface board."

Set D1's Board Partition to "Secondary power/interface board"

Set D1's Role Details to "ESD protection for pogo UART lines moved to secondary board before board-to-board transition."

Set J2's Board Partition to "Secondary power/interface board"

Set J2's Role Details to "Pogo pad: 5V charge input."

Set J3's Board Partition to "Secondary power/interface board"

Set J3's Role Details to "Pogo pad: ground reference."

Set J4's Board Partition to "Secondary power/interface board"

Set J4's Role Details to "Pogo pad: UART TX path to programmer via ESD protection and board-to-board interconnect."

Set J5's Board Partition to "Secondary power/interface board"

Set J5's Role Details to "Pogo pad: UART RX path from programmer via ESD protection and board-to-board interconnect."

Set J6's Board Partition to "Secondary power/interface board"

Set J6's Role Details to "Pogo pad: ESP_EN reset/programming access routed through board-to-board interconnect."

Set J7's Board Partition to "Secondary power/interface board"

Set J7's Role Details to "Pogo pad: BOOT/programming access routed through board-to-board interconnect."

Updated 9 connections

0:05

Connected J8:1, J8:10, J8:11, J8:12, J8:13, J8:14, J9:1, J9:10, J9:11, J9:12, J9:13, J9:14 to ^GND

Connected J8:2, J9:2 to ^3V3

Connected J8:3, J9:3 to ^VBAT

Connected J8:4, J9:4 to ^POGO_5V_IN

Connected J8:5, J9:5 to ^UART_TX_MCU

Connected J8:6, J9:6 to ^UART_RX_MCU

Connected J8:7, J9:7 to ^ESP_EN

Connected J8:8, J9:8 to ^BOOT

Connected J8:9, J9:9 to ^CHG_STAT

Added 1 component

0:01

Added 1x U.FL-R-SMT-1(10) as J10 (Pins: Outer_Contact::1, Center_Contact, Outer_Contact::3)

⚠️ Newly added components are not automatically placed on the PCB layout. If the project has a PCB layout, use `@rewriteLayoutComponentPlacement` to place them on the board.

Updated 1 connection

0:02

Connected J10:Outer_Contact, J10:Outer_Contact to ^GND

Placed components

14:57

Placed 3 component(s): J9, J8, J10

Updated 6 layout rules

Set Layout's sizeX to "28mm"

Set Layout's sizeY to "58mm"

Set Layout's boardShape to "=svgPath("M 0 0.0112 Q 0.014 0.0112 0.014 -0.0028 Q 0.014 -0.0168 0 -0.0168 Q -0.014 -0.0168 -0.014 -0.0028 Q -0.014 0.0112 0..."

Set Layout's stackup to "Standard 4 Layer (Custom)"

Set Layout's boardInsetMargin to "0.2mm"

Set Layout's keepOut to "0.2mm"

Placed components

16:02

Placed 36 component(s): C7, C1, J4, U2, C14, C2, C3, R4, C4, U1, L1, J9, C12, J6, C11, D1, R2, R7, R5, R3, J8, U4, J5, J3, R6, J7, C6, C5, J10, U5, J2, U3, F1, R1, J1, C13

Work done
  • Updated the schematic into a dual-board stack concept: primary board keeps ESP32-C3, TMP117, LIS2DW12, and J8; secondary board carries LiPo charging/power, pogo access, external antenna interface, and J9/J10.
  • Added and wired the J8/J9 board-to-board interconnect and J10 U.FL antenna interface; core ERC checks are passing.
  • Reconfigured the PCB into a two-board 28 mm-wide stack/panel representation and re-placed the components into primary/secondary clusters.
  • Documented the partition, interconnect pinout, verification state, and manual-routing priorities in Two-Board Stack Revision.
Success criteria review
  • ✅ Dual-board partition defined and reflected in schematic/component roles.
  • ✅ Core functions preserved: ESP-NOW MCU, TMP117, LIS2DW12, LiPo charging/power, and pogo access remain connected.
  • ⚠️ Layout de-risked but not fully clean: missing footprints and ERC checks pass, but remaining physical-layout issues still need routing/layer cleanup before fabrication.
Next steps
  • Refresh/regenerate routing for the new two-board placement, then clear the remaining physical layout issues before manufacturing export.
Check DRC issues
Export assembly files
Show interconnect pinout
Document routing priorities


No results...

Thermal Accel Sensor

Thermal Accel Sensor thumbnail
Welcome to your new project. Imagine what you can build here.

Properties

Frozen for manual routing review

Manual routing review only; no schematic or PCB architecture changes intended

2026-04-29

Pricing & Availability

Distributor

Qty 1

Arrow

$5.81–$8.31

Digi-Key

$8.38–$9.75

LCSC

$7.37–$7.49

Mouser

$14.37

TME

$12.88

Verical

$6.59–$12.70

Controls