mohan-bee/gimbal-one-budget-pcb

A 4-layer STM32-based gimbal controller PCB with an onboard LSM6DS3TR-C IMU, three DRV8313 3-phase motor drivers, protected 3S battery input, 3.3 V buck regulation, and SWD/UART control interfaces.

Version
0.1.0
License
unset
Stars
0

Files

README.md

# Gimbal One — cheaper IMU prototype

This separate board replaces the ICM-42688-P with **ST LSM6DS3TR-C (JLC C967633)**. The approved ICM board remains `mohan-bee/gimbal-one-pcb@0.1.10`; this is `mohan-bee/gimbal-one-budget-pcb@0.1.0`.

## Price and purchasing

JLC's indexed listing shows **US$1.5162 at 1 piece**, $1.3178 at 10 pieces, checked 22 October 2026. Treat these as indicative component prices: the live page does not expose a current price to this session. Confirm them in the quote. A reliable current ICM price was unavailable, so no percentage saving or assembled-board total is claimed.

**C967633 is Standard Only assembly, Extended, and requires X-ray.** A cheaper chip can still produce a more expensive small-batch assembly quote. Compare both complete BOM quotes before ordering. The existing website's $25 electronics allowance is unchanged; it is not a priced BOM. Existing through-hole connectors and L1 remain post-reflow manual assembly, just as in the original board; no extra manual work is used to claim savings.

Source: [JLC C967633](https://jlcpcb.com/partdetail/LSM6DS3TR-C/C967633).

## Implemented changes

- ST six-axis accelerometer/gyroscope, with SPI and INT1 to the same MCU pins. Pins 2/3 stay grounded for standalone Mode 1; pins 9/10/11 are now isolated. Both supply decoupling capacitors remain.
- Removed four old ground branches, added the capacitor ground return, and rerouted one ground connection around the sensor interior.
- Sensor lands changed to 0.575 × 0.350 mm, mask expansion 0.050 mm, paste contraction 0.020 mm (approximately 82% area). A 1.8 × 1.3 mm top-copper keepout protects the interior between pads. Supplier pin-1 frame was independently retrieved for C967633.
- Same black 84 × 70 mm single PCB, mounting holes, STM32G431, three DRV8313 stages, power protection and reviewed power traces. Existing printed cradle and motor wiring are mechanically compatible.

References: [ST datasheet](https://www.st.com/resource/en/datasheet/lsm6ds3tr-c.pdf), [ST TN0018 mounting guidance](https://www.st.com/resource/en/technical_note/cd00134799-surface-mounting-guidelines-for-mems-sensors-in-an-lga-package-stmicroelectronics.pdf).

## Firmware change required

This is **not firmware-compatible with ICM-42688-P**. Use the [official ST driver](https://github.com/STMicroelectronics/lsm6ds3tr-c-pid) with MCU SPI read/write callbacks. Confirm WHO_AM_I register 0x0F returns 0x6A; stay at or below 10 MHz SPI. Configure sampling, scales and INT1 explicitly, verify axis directions on the assembled cradle, and recalibrate offsets and control tuning. Fail closed on an unexpected device ID or stale sensor data. Working stabilization firmware and hardware qualification are not supplied by this PCB revision.

## Validation and release state

The source topology, floating IMU pins, native PCB DRC, independent copper-clearance/keepout checks, power widths and 74 placement dispositions pass. KiCad reports zero error-level violations and zero unconnected items. Its 108 external library warnings concern generated embedded footprints. Existing schematic capacitor-spacing and PCB orientation heuristics are advisory; copper routing and clearances are checked independently. See `validation-summary.json`, `imu-layout-validation.json`, `power-width-validation.json` and `fabrication/kicad-drc.json`.

This is a **prototype quotation/fabrication candidate**, not a production-qualified replacement. The original fabrication requirements still apply, including four layers with 35 µm minimum finished copper and filled/capped via-in-pad. Manufacturer DFM, final assembly quote, firmware integration and physical sensor/motor/thermal tests remain required.

## Files and reproduction

- `controller.circuit.tsx` / `index.circuit.tsx`: actual revised tscircuit board.
- `dist/index/circuit.json` and `3d.glb`: compiled electrical board.
- `fabrication/`: Gerbers, drills, SMT BOM/CPL, nine-part manual list, KiCad and assembly drawings.
- `routing/budget-changes.json`: exact local routing changes.
- `ISSUES.md`: tool issues and workarounds encountered.

Run `bun install`, `bun run check`, `bun run build`, `bun run verify`, `bun run export:fabrication`, and `bun run verify:power`. The independent geometry audit uses Python/Shapely; its script is included as `audit-geometry.py`.