Pet Collar PCB Design

I’ll inspect the current PCB state, check whether placement and/or routing are incomplete, then run the needed auto-layout steps and apply them. I’ll also keep the pet-use constraint in mind: sensors must be positioned so they can realistically contact or sense a cat/dog on a collar.
Implemented auto-layout and auto-routing on the PCB. I also corrected the MAX30102 heart sensor to the pet-facing bottom side so it has a realistic chance of reading on a dog/cat.
Open items:
  • 9 airwires remain, mainly USB D+/D− plus a few local regulator/ground ties that the auto-router skipped.
  • ESP32 antenna overhang warning is intentional for wireless range.
  • MAX30102 can work electrically, but pet heart sensing through fur is not guaranteed; it needs skin contact, pressure, and likely an optical window or shaved/thin-fur contact area.
Suggested next steps:
  1. Manually route USB D+/D− with controlled-impedance constraints.
  2. Clean up the remaining regulator/ground airwires.
  3. Add mechanical notes for the collar enclosure: heart-sensor window, sensor pressure, GPS/BLE antenna keepouts, and microphone opening.
Route and review
Fix remaining airwires
Route USB pair
Improve pet sensing
Run full review

Refine this doc
Ask about this doc
Design Notes — Smart Pet Collar Sensor Hub
Architecture
  • USB-C 5 V input feeds the BQ24074 charger / power-path IC.
  • JST-PH 2-pin connector accepts a single-cell LiPo battery.
  • BQ24074 SYS/OUT rail feeds the TPS63070 buck-boost regulator.
  • TPS63070 generates the regulated 3.3 V rail for ESP32-S3, GPS, heart sensor, temperature sensor, IMU, and microphone.
  • ESP32-S3 native USB D-/D+ connects directly to USB-C for programming and serial/JTAG.
  • Sensors:
    • MAX30102 heart/PPG sensor on shared I2C bus.
    • TMP117 temperature sensor on shared I2C bus.
    • BMI270 motion sensor on shared I2C bus.
    • SPH0645LM4H microphone on I2S.
    • MAX-M10S GNSS on UART with U.FL antenna connector.
Power Budget
Estimated 3.3 V peak load target: about 700 mA.

Table


LoadEstimated Peak
ESP32-S3 radio / CPU bursts500 mA
MAX-M10S GNSS startup margin100 mA
MAX30102 LED/sensor margin50 mA
BMI270 + TMP117 + SPH0645 + pull-ups20 mA
Margin30 mA
Total 3.3 V peak700 mA
Buck-boost input current at low LiPo voltage:
IIN=3.3V×0.7A3.0V×0.85=0.91AI_{IN}=\frac{3.3V \times 0.7A}{3.0V \times 0.85}=0.91A
This is within the TPS63070 and BQ24074 capability. The charger input current limit is set to about 1.3 A using the datasheet ILIM value.
Charger Configuration — BQ24074
  • IN: USB VBUS with 1 uF input capacitor.
  • BAT: JST LiPo connector and 4.7 uF battery bypass.
  • OUT/SYS: system rail with 10 uF bypass, feeding TPS63070 VIN.
  • CE: tied low to enable charging.
  • EN2 high, EN1 low: external ILIM mode.
  • ISET: 1.13 kΩ for about 800 mA fast charge.
  • ILIM: 1.18 kΩ for about 1.3 A input current limit.
  • ITERM: 4.12 kΩ for about 110 mA termination current.
  • TMR: 46.4 kΩ for about 6.25 h safety timer.
  • TS: 10 kΩ fixed valid-temperature resistor. For production, replace this with a battery-pack NTC connection if the chosen LiPo has a thermistor.
3.3 V Regulator — TPS63070
  • VIN: SYS rail from charger/power path.
  • VOUT: 3.3 V rail.
  • Inductor: 2.2 uH.
  • Feedback: 470 kΩ / 150 kΩ divider for 3.3 V.
  • Output capacitance: 3 × 22 uF nominal target including existing rail bulk.
  • VAUX: 100 nF local capacitor.
  • EN and PS/S: tied high through 10 kΩ.
  • VSEL and FB2: tied low to disable voltage scaling.
MCU / Peripheral Pin Map

Table


FunctionESP32-S3 PinNetPeripheral
USB D-IO19USB_DNUSB-C DN1/DN2
USB D+IO20USB_DPUSB-C DP1/DP2
I2C SDAIO8I2C_SDAMAX30102, TMP117, BMI270
I2C SCLIO9I2C_SCLMAX30102, TMP117, BMI270
Heart interruptIO10HR_INTMAX30102 INT
IMU interruptIO11IMU_INTBMI270 INT1
GPS RX into ESPIO18GPS_TX_TO_ESP_RXMAX-M10S TXD
GPS TX from ESPIO17ESP_TX_TO_GPS_RXMAX-M10S RXD
Mic BCLKIO4MIC_BCLKSPH0645 BCLK
Mic WSIO5MIC_WSSPH0645 WS
Mic DATAIO6MIC_DATASPH0645 DATA
BootIO0ESP_BOOTBOOT button + 10 kΩ pull-up
Enable/resetENESP_ENRESET button + pull-up/filter
Validation Notes
Electrical review currently reports one known ERC issue: U3:VIO_SEL is flagged as a missing power input. The MAX-M10S datasheet specifies VIO_SEL should be left open for 3.3 V V_IO operation and tied to GND only for 1.8 V mode, so this ERC item is intentional and should not be electrically connected to 3.3 V or GND unless the GPS IO voltage mode changes.
Layout Notes for Next Phase
  • ESP32 antenna must be placed at a board edge with antenna keepout respected on all copper layers.
  • GPS RF trace from J3 to U3 RF_IN must be short, 50 Ω controlled impedance, and kept away from switching regulator noise.
  • Place TPS63070 inductor/input/output caps tightly around U8 with short high-current loops.
  • Place decoupling capacitors directly beside each IC power pin.
  • Place MAX30102 where it can contact the pet skin through an optical window; fur management/mechanical pressure will be critical for usable readings.
PCB Layout Status — 2026-06-03
  • Board resized to a collar-friendly elongated 105 mm × 45 mm rounded rectangle.
  • Stackup remains 4-layer with an internal ground reference layer, appropriate for USB, ESP32 RF, GPS RF, and switching regulator return paths.
  • Placement has been optimized for the collar use case:
    • ESP32-S3 module at the top edge with antenna facing outward.
    • GPS MAX-M10S near the U.FL connector for a short RF path.
    • MAX30102 heart/PPG sensor near the skin-contact side.
    • TMP117 temperature sensor kept near the skin-contact area and away from charger/regulator heat.
    • SPH0645 microphone near an exposed edge.
    • USB-C and LiPo connectors on accessible edges.
    • BQ24074 charger and TPS63070 buck-boost support passives grouped tightly around their ICs.
  • Pre-routing board validation reports the board is routable.
  • Routing could not be started because the project currently has a stale active auto-layout job in outOfCredit state. That job must be discarded or cleared before a new routing job can be launched.
  • Once the stale job is cleared, run auto-route, then re-run DRC for airwires, dangling traces, overlapping copper, and RF/USB route quality.
Routing Attempt — 2026-06-03
  • Re-ran board validation: board is still valid for routing with 46 components and 32 nets.
  • Re-ran DRC before routing: remaining blocking layout items are unrouted airwires plus footprint-internal overlapping-pad warnings on several IC/module footprints.
  • Attempted to start auto-routing again, but the same stale active auto-layout job is still blocking routing: auto-layout-81d945b8-9117-4a9d-b17c-9aaab611a068, status outOfCredit.
  • No additional routing could be created from this session until that active job is discarded/cleared.
Routing Resume Attempt — 2026-06-03
  • Current PCB has 347 route segments, 31 smart vias, 70 vias, and 19 remaining airwires after the first routing pass.
  • Current board remains valid for routing: 46 components, 32 nets, 105 mm × 45 mm, 4 copper layers.
  • Current DRC snapshot still reports 19 airwires and 35 overlapping-copper reports. The overlapping reports are primarily footprint/pad-definition issues around module IC footprints and should be reviewed before manufacturing, but they do not prevent the router from accepting the board.
  • Attempted to resume/launch the cleanup autoroute pass, but the active job is now auto-layout-ce5c2bf0-1d08-4231-ac0d-8c87f35b4497, status outOfCredit.
  • Required next action: discard/clear that active auto-layout job in the project UI, then rerun the cleanup routing pass and final DRC.
Cleanup Autoroute Result — 2026-06-03
  • The autoroute lock cleared and a cleanup autoroute pass was launched: auto-layout-8d67eebd-800f-48e0-bb0c-3bcea7226206.
  • Result: the cleanup pass completed but added 0 routing nodes, so it did not improve the partially routed board.
  • Post-route DRC remains unchanged: 19 airwires and 35 overlapping-copper reports.
  • Router warning: USB differential pair routing was abandoned due to a stall for USB_DN and USB_DP.
  • Remaining unrouted areas include USB D+/D-, GPS UART/RF-related connections, microphone I2S connections, and local regulator pins.
  • Conclusion: further blind autoroute passes are unlikely to help. The next effective step is targeted layout remediation: fix/replace footprints that have overlapping pads or inaccessible pins, adjust local placement around USB/GPS/microphone/regulator areas, then reroute those nets or run a new cleanup autoroute.
Layout Completion Attempt — 2026-06-11
  • Targeted placement remediation was performed instead of another blind route attempt. USB, microphone, I2C/sensor, and regulator areas were opened up while preserving the ESP32-S3 antenna edge placement and keeping the GPS/U.FL path short.
  • U6 microphone footprint pads were separated from their previous overlapping auto-position state so routing could proceed.
  • Autoroute job auto-layout-d74adc2b-4448-4800-8967-79ba029509b3 completed and added 397 routing nodes/traces/vias.
  • A final cleanup autoroute job auto-layout-d9b3e633-3b29-4030-b5ce-eac7a32ef4f5 completed but added 0 nodes, indicating the autorouter cannot improve the remaining problem areas automatically.
  • Current routed layout contains approximately 357 route segments, 40 smart vias, and 81 vias.
  • Current DRC snapshot: 15 remaining airwires and 20 overlapping-copper reports.
  • Remaining airwires are concentrated on USB D+/D- (IO20/DP1, IO19/DN2), GPS UART/RF/power pins (IO17, IO18, SIGNAL, VCC, V_IO), and regulator local high-current/internal pins (VIN_1, VOUT_1) plus BQ24074 EN1.
  • The overlapping-copper reports are footprint-internal/library-footprint issues around ESP32-S3 module mounts, TPS63070 VIN/VOUT duplicate pads, MAX30102 exposed pad, and MAX-M10S module pads. These block manufacturing signoff until the affected footprints are corrected or replaced with verified land patterns.
  • Board is not manufacturing-ready yet. Next required engineering step is footprint remediation for U1, U3, U7, and U8, followed by targeted manual routing of USB D+/D-, GPS RF/UART, and regulator VIN/VOUT connections and another DRC pass.
DRC Remediation Attempt — 2026-06-11
  • Re-ran DRC: still 15 airwires and 20 overlapping-copper reports.
  • Inspected U1, U3, U7, and U8 footprints. The overlapping-copper reports are caused by duplicate generated defaultFootprint.mounts.* pads overlapping real named electrical pads, not by component body overlap or ordinary trace routing.
  • Tried deleting the reported duplicate mount-pad nodes directly; Flux reported these were not valid editable layout nodes.
  • Tried disabling the duplicate mount pads with direct active=false layout rules; the DRC count did not change, confirming the problematic pads are generated from the footprint assets and are not reliably removable as local board edits.
  • Library search found candidate replacement parts/footprints for ESP32-S3-WROOM-1, MAX-M10S-00B, MAX30102EFD+T, and TPS63070RNMR. Replacing them is the next viable path, but it is a schematic-impacting operation: each affected component must be replaced, its nets reconnected pin-by-pin, then placement/routing repeated locally.
  • Do not attempt more blind autoroute passes until the affected footprints are replaced or corrected; the router precheck will continue to warn about the same footprint-internal overlaps.
ACU-Conservative Finish Attempt — 2026-06-11
  • User authorized doing whatever was necessary, but requested conservation of ACUs.
  • Before consuming more autoroute ACUs, attempted an additional board-level workaround: applied near-zero pad-size and zero mask/paste expansion rules to the duplicate generated defaultFootprint.mounts.* pads reported in overlap DRC.
  • Result: DRC did not change; still 15 airwires and 20 overlapping-copper reports. Autoroute precheck still reports the same generated duplicate footprint pads.
  • Conclusion: the remaining overlapping-copper errors are below the editable board-node level and appear to be generated from footprint assets. More autorouting or placement cannot clear them.
  • An internal feedback report was submitted for the generated-footprint-pad issue on U1 ESP32-S3-WROOM-1, U3 MAX-M10S, U7 BQ24074, and U8 TPS63070.
  • To avoid wasting ACUs, stop further blind autoroute attempts until the affected footprint assets are repaired/replaced with verified footprints that do not emit duplicate mount pads.
  • Architecture

  • Power Budget

  • Charger Configuration — BQ24074

  • 3.3 V Regulator — TPS63070

  • MCU / Peripheral Pin Map

  • Validation Notes

  • Layout Notes for Next Phase

  • PCB Layout Status — 2026-06-03

  • Routing Attempt — 2026-06-03

  • Routing Resume Attempt — 2026-06-03

  • Cleanup Autoroute Result — 2026-06-03

  • Layout Completion Attempt — 2026-06-11

  • DRC Remediation Attempt — 2026-06-11

  • ACU-Conservative Finish Attempt — 2026-06-11

Smart Pet Collar Sensor Hub 4Xmq

Smart Pet Collar Sensor Hub 4Xmq thumbnail
Battery-powered smart pet collar PCB with ESP32-class wireless MCU, GPS, heart sensing, temperature, motion sensing, microphone, USB programming, and mobile-app data connectivity.

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Arrow

$16.94–$26.69

Digi-Key

$8.75

HQonline

$9.21

LCSC

$38.33–$38.50

Mouser

$51.59

TME

$20.08

Verical

$21.89–$33.74

Controls