mohan-bee/fitness-band

A 4-layer BLE wearable mainboard with Li-ion charging/protection, 3.3/1.8 V power regulation, motion and battery sensing, plus a folded 2-layer flex sensor board carrying MAX30102 optical and TMP117 temperature sensors.

Version
0.0.2
License
unset
Stars
0

README.md

# Screenless fitness band — Option B, prototype revision B

Two separate boards: **50 × 24 × 0.8 mm four-layer rigid main PCB**, and **36 × 14 × 0.12 mm two-layer polyimide sensor flex**. The module antenna overhangs the main PCB by 3.2 mm; the complete module/board footprint is approximately 53.2 × 24 mm. These are assembled, supervised bench prototypes.

Use the frozen designs in **[manufacturing/rev-b](manufacturing/rev-b)** for fabrication. Each board has its native KiCad design, constraints, Gerbers, separate plated/non-plated Excellon drills, exact-MPN BOM, placement CSV and pad-1 orientation table. The release manifest records hashes and independent DRC results.

The main autorouter previously failed its reachability precheck. The source now uses a custom routing adapter to replay the track/via geometry extracted from the checked native main board. It rejects changes to the routing input, including pads, connectivity, obstacles, bounds and process rules. Core DRC remains enabled. The site's main-board preview now includes those completed routes; the native main PCB remains authoritative for fabrication, including its plane and finishing artwork. `bun run verify` checks native file hashes, then compares native pad positions and named nets with the frozen release source snapshots in manufacturing/rev-b/source-snapshots.

Read [manufacturing status](manufacturing/rev-b/MANUFACTURING_STATUS.md), [fabrication instructions](manufacturing/rev-b/FABRICATION.md) and [assembly/bring-up instructions](manufacturing/rev-b/ASSEMBLY_AND_BRINGUP.md). Flex laser-coverlay and PI/FR4 stiffener artwork are supplied separately; do not infer these from a standard solder-mask export.

The charger is now **MCP73871T-2CCI/ML**, replacing BQ25180. It has resistor-set 50 mA nominal charging, a 6-hour safety timer and a dedicated cell-thermistor network. Charging temperature protection does not require MCU firmware. Other main parts are MDBT50Q-1MV2, TPS63031, TLV70018, MAX17048, BMA400, MAX30102 and TMP117.

## Editing and checks

```sh
bun install
bun run typecheck
bun run verify
bun run build:flex
```

The TSX files define the schematics, footprints and placement. The main track/via data in routing/main-native-routes.json was extracted from the frozen native board; the adapter reuses that geometry rather than solving a new route. A change to the captured routing input fails the build. Reconcile future changes into the native design, route and check it before updating these routing fixtures or exporting a new revision. Run `bun test routing/main-routing.test.ts` to verify replay and rejection of changed layouts. The release exporter refuses native boards with DRC violations or airwires.

Run scripts/export-release.py with KiCad's bundled Python to export existing native boards. Preparation scripts document processing of a fresh tscircuit export; do not run preparation over the frozen final boards. Full native reports and source checks are in validation/.

[HARDWARE_REVIEW.md](HARDWARE_REVIEW.md) records datasheet decisions and post-assembly qualification. [ISSUES.md](ISSUES.md) contains tscircuit platform findings only. This package does not establish measured RF performance, battery endurance, optical accuracy, waterproofing or skin-contact qualification. No boards have been ordered.