benikigai/plus-onePublic
Plus One
SHA-256 ff4847102829b7ce081a4c21fb29c1959f23cfbe15c9ac655a93a42b13b5c802
# Plus One: N+1 Labs' open agent puck. Prototype in design; every value is a design target.
# Generated by tools/make_plus_one_data.py.
opd_version: 0.5.0
extensions:
- id: battery
version: 0.1.0
card:
product: Plus One
maker: N+1 Labs
maker_endorsed: true
synthetic: true
category:
- agent-device
- consumer-electronics
- battery-powered
- wireless
- open-hardware
revision_examined: Plus One Core, generation one, concept rev B (decision 20; prototype in design, nothing built)
units_examined: 0
license: CC-BY-4.0
base_opd: null
base_relation: null
trust_level: claimed
visibility: public
product_page: https://nplusonelabs.com/plus-one/
metrics:
observed_share:
value: 0.0
badge: self-reported
card_completeness:
value: 1.0
badge: self-reported
rebuild_check:
value: true
badge: self-reported
reproduction_agreement:
value: null
badge: self-reported
sources:
- id: src:design-brief
kind: maker
ref: docs/design-brief.md
sha256: 6f0dcfc631d99f9ef4cd184eec82128305918bf4bb15dcc02946ada9b75cc188
- id: src:cad
kind: maker
ref: parts/geometry.json
sha256: 5b6ad4ee5fcc256b25ecd4360824c7d90ec5d3e81e139f7e742ac035deeb344a
- id: src:tracker-puck-spec
kind: maker
ref: nplus1labs/factory docs/prototype/spec-tracker-puck.md (the line and operation models this copies)
- id: src:firmware-research
kind: maker
ref: nplus1labs/research docs/research/2026-11-firmware/synthesis.md
- id: src:ec-1-lessons
kind: maker
ref: openproduct-co/opd-spec examples/ec-1.opd/issues (synthetic lessons this design takes on)
- id: src:module-datasheet
kind: maker
ref: Espressif ESP32-S3-WROOM-1 datasheet (public)
- id: src:factory-engine
kind: maker
ref: 'nplus1labs/factory at 9bc6753: engine/specs/plus_one_build.yaml and engine/examples/plus-one-demand (simulated from
assumed values; uncalibrated)'
- id: src:layout-study
kind: maker
ref: line/layouts/README.md
sha256: f41d3c6a6a559485111c50009d4cf913e2bcc092bef7e0f6be3973cd15fdddb7
- id: src:decisions
kind: maker
ref: 'nplus1labs/research docs/decisions.md: decision 24 (a MadeCell base) and decision 25 (the layout follows volume)'
- id: src:dimension-direction
kind: maker
ref: 'openproduct-co/opd-spec branch feat/plus-one-parametric-cad: examples/plus-one.opd/docs/dimension-direction-2026-11-01.md
(approved exterior direction; CAD rework open)'
parts:
- id: part:top-shell
name: Top shell
material:
value: PC/ABS, graphite, soft-touch texture
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: injection-moulded, 1-cavity tool
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 3.83
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: from CAD volume at 1.15 g/cm3
geometry:
step: parts/top-shell.step
usd_prim: /Product/TopShell
fidelity: reduced
- id: part:ring-diffuser
name: Light-ring diffuser
material:
value: PC, light-diffusing grade, lime tint
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: injection-moulded, heat-staked into the top shell
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 0.69
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: from CAD volume at 1.20 g/cm3
geometry:
step: parts/ring-diffuser.step
usd_prim: /Product/RingDiffuser
fidelity: reduced
- id: part:plus-button
name: Plus button
material:
value: PC/ABS cap, pad-printed white plus
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: injection-moulded, pad-printed
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 1.52
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: from CAD volume at 1.15 g/cm3
geometry:
step: parts/plus-button.step
usd_prim: /Product/PlusButton
fidelity: reduced
- id: part:mic-gasket
name: Mic gasket
material:
value: silicone foam, acoustic grade
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: die-cut, adhesive-backed
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 0.01
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/mic-gasket.step
usd_prim: /Product/MicGasket_1
fidelity: envelope
- id: part:main-pcba
name: Main board (PCBA)
material:
value: FR-4, 4 layers, 0.8 mm, ENIG, round 52 mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought assembled from the EMS, tested before shipping
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 6.0
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/main-pcba.step
usd_prim: /Product/MainPCBA
fidelity: envelope
- id: part:speaker
name: Speaker, 12 mm thin
material:
value: micro speaker, 12 mm, 3 mm tall, 8 ohm, 0.5 W
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought assembled
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 1.2
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/speaker.step
usd_prim: /Product/Speaker
fidelity: envelope
- id: part:haptic-motor
name: Haptic motor, 7 mm coin
material:
value: coin LRA, 7 mm, 2.5 mm tall
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought assembled, adhesive-backed
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 0.6
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/haptic-motor.step
usd_prim: /Product/HapticMotor
fidelity: envelope
- id: part:battery
name: Li-ion cell with protection
material:
value: lithium-ion polymer, 28 x 16 x 3.5 mm, with protection board and lead; sits beside the module under the board
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought assembled with a connector on the lead
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 3.5
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/battery.step
usd_prim: /Product/Battery
fidelity: envelope
- id: part:battery-foam
name: Battery foam tape
material:
value: PU foam, 0.1 mm, double-sided acrylic
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: die-cut
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 0.1
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/battery-foam.step
usd_prim: /Product/BatteryFoam
fidelity: envelope
- id: part:base
name: 'Base: the interface'
material:
value: PC/ABS, graphite
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: injection-moulded with three twist-lock lugs inside the rim, an alignment key and pad seats; snaps to the top shell
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 3.51
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: from CAD volume at 1.15 g/cm3
geometry:
step: parts/base.step
usd_prim: /Product/Base
fidelity: reduced
- id: part:magnet-ring
name: Magnet ring
material:
value: NdFeB arc segments in a ring sized for magnetic phone mounts and chargers; exact size and polarity still to be
checked against the WPC spec
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought as a ring assembly; bonded into the base pocket
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 4.46
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: from CAD volume at 7.5 g/cm3
geometry:
step: parts/magnet-ring.step
usd_prim: /Product/MagnetRing
fidelity: envelope
- id: part:qi-coil
name: Wireless charging coil and ferrite
material:
value: copper coil, 37 mm, on a ferrite sheet; sits inside the magnet ring
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought; meets the board through two spring contacts
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 2.0
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/qi-coil.step
usd_prim: /Product/QiCoil
fidelity: envelope
- id: part:pogo-pad
name: Pogo pad
material:
value: brass, gold-plated, 2.4 mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: insert-moulded into the base
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 0.01
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/pogo-pad.step
usd_prim: /Product/PogoPad_1
fidelity: envelope
- id: part:board-screw
name: Board screw, 2 mm thread-forming for plastics
material:
value: steel, black zinc
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 0.1
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: from CAD volume at 7.85 g/cm3
geometry:
step: parts/board-screw.step
usd_prim: /Product/BoardScrew_1
fidelity: reduced
- id: part:esp32-s3-module
name: ESP32-S3 module, 16 MB flash, 8 MB PSRAM
material:
value: ESP32-S3-WROOM-1 class module with PCB antenna, shielded
source: inferred
confidence: low
evidence:
- src:design-brief
- src:module-datasheet
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/esp32-s3-module.step
usd_prim: /Product/PCBA_ESP32S3Module
fidelity: envelope
- id: part:mems-mic
name: MEMS microphone, bottom port
material:
value: digital PDM MEMS mic
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/mems-mic.step
usd_prim: /Product/PCBA_MEMSMic_1
fidelity: envelope
- id: part:audio-amp
name: Class-D amp with a capped output
material:
value: mono I2S class-D amp; gain and current limited in hardware
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/audio-amp.step
usd_prim: /Product/PCBA_AudioAmp
fidelity: envelope
- id: part:haptic-driver
name: Haptic driver
material:
value: LRA driver IC
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/haptic-driver.step
usd_prim: /Product/PCBA_HapticDriver
fidelity: envelope
- id: part:imu
name: 6-axis motion sensor
material:
value: MEMS accelerometer and gyroscope
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/imu.step
usd_prim: /Product/PCBA_IMU
fidelity: envelope
- id: part:fuel-gauge
name: Fuel gauge
material:
value: single-cell fuel gauge IC
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/fuel-gauge.step
usd_prim: /Product/PCBA_FuelGauge
fidelity: envelope
- id: part:charger
name: Charger with power path
material:
value: single-cell Li-ion charger IC
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/charger.step
usd_prim: /Product/PCBA_Charger
fidelity: envelope
- id: part:wireless-receiver
name: Wireless charging receiver
material:
value: receiver IC; charges the cell, never transmits
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/wireless-receiver.step
usd_prim: /Product/PCBA_WirelessReceiver
fidelity: envelope
- id: part:ring-led
name: RGB LED, addressable
material:
value: 2 x 2 mm addressable RGB LED
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/ring-led.step
usd_prim: /Product/PCBA_RingLED_1
fidelity: envelope
- id: part:tact-switch
name: Tactile switch under the plus
material:
value: 6 x 6 mm tactile switch
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/tact-switch.step
usd_prim: /Product/PCBA_TactSwitch
fidelity: envelope
- id: part:usb-c
name: USB-C receptacle, mid-mount
material:
value: 16-pin USB-C receptacle
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/usb-c.step
usd_prim: /Product/PCBA_USBC
fidelity: envelope
- id: part:boot-button
name: BOOT button
material:
value: side-push tactile switch
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/boot-button.step
usd_prim: /Product/PCBA_BootButton
fidelity: envelope
- id: part:power-switch
name: Hardware power-off switch
material:
value: slide switch in series with the cell
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/power-switch.step
usd_prim: /Product/PCBA_PowerSwitch
fidelity: envelope
- id: part:qwiic-connector
name: Qwiic connector
material:
value: 4-pin 1.0 mm JST SH
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/qwiic-connector.step
usd_prim: /Product/PCBA_Qwiic
fidelity: envelope
- id: part:battery-connector
name: Battery connector
material:
value: 2-pin 1.25 mm wire-to-board
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/battery-connector.step
usd_prim: /Product/PCBA_BatteryConnector
fidelity: envelope
- id: part:pcb
name: Bare board, 4 layers
material:
value: FR-4, Tg 150, round 53 mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/pcb.step
usd_prim: /Product/PCBA_PCB
fidelity: envelope
- id: part:passives
name: Passives
material:
value: MLCC, resistors, ferrites; count not fixed yet
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: purchased-component, placed by the EMS
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/passives.step
usd_prim: /Product/PCBA_Passives
fidelity: envelope
- id: part:light-sensor
name: Ambient light sensor (Plus One+)
material:
value: digital ambient light sensor
source: inferred
confidence: low
evidence:
- src:design-brief
note: Plus One+ only; footprint empty on Core
process:
value: purchased-component
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/light-sensor.step
fidelity: envelope
- id: part:nfc-tag
name: NFC tag (Plus One+)
material:
value: NFC Forum type 2 tag IC with PCB antenna
source: inferred
confidence: low
evidence:
- src:design-brief
note: Plus One+ only; footprint empty on Core
process:
value: purchased-component
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/nfc-tag.step
fidelity: envelope
- id: part:debug-jumper
name: Power test jumper and debug pads (Plus One+)
material:
value: 0 ohm jumper and test pads
source: inferred
confidence: low
evidence:
- src:design-brief
note: Plus One+ only; footprint empty on Core
process:
value: purchased-component
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
geometry:
step: parts/debug-jumper.step
fidelity: envelope
- id: part:retail-box
name: Retail box
material:
value: SBS board, printed
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 30.0
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/retail-box.step
fidelity: envelope
- id: part:pulp-tray
name: Pulp tray
material:
value: moulded pulp
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 8.0
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/pulp-tray.step
fidelity: envelope
- id: part:usb-cable
name: USB-C cable, 0.5 m
material:
value: TPE jacket, copper
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 15.0
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/usb-cable.step
fidelity: envelope
- id: part:quick-card
name: Quick start card with the unit QR
material:
value: coated card, printed
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
process:
value: bought
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
mass_g:
value: 3.0
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
geometry:
step: parts/quick-card.step
fidelity: envelope
assemblies:
- id: asm:top-sub
name: Top shell with diffuser, plus button and mic gaskets
- id: asm:core
name: Top shell sub-assembly with board, speaker, haptic and battery
- id: asm:base
name: Base with the magnet ring, charging coil and pads
- id: asm:plus-one
name: Plus One, sealed, nothing attached
- id: asm:packed
name: Packed unit with cable and card; no back ships
bom:
- item: asm:packed
parent: null
qty: 1
- item: asm:plus-one
parent: asm:packed
qty: 1
- item: part:retail-box
parent: asm:packed
qty: 1
supplier: sup:pack
- item: part:pulp-tray
parent: asm:packed
qty: 1
supplier: sup:pack
- item: part:usb-cable
parent: asm:packed
qty: 1
supplier: sup:pack
- item: part:quick-card
parent: asm:packed
qty: 1
supplier: sup:pack
- item: asm:core
parent: asm:plus-one
qty: 1
- item: asm:base
parent: asm:plus-one
qty: 1
- item: part:base
parent: asm:base
qty: 1
supplier: sup:shell-moulder
- item: part:magnet-ring
parent: asm:base
qty: 1
supplier: sup:magnet-vendor
- item: part:qi-coil
parent: asm:base
qty: 1
supplier: sup:coil-vendor
- item: part:pogo-pad
parent: asm:base
qty: 5
supplier: sup:shell-moulder
- item: asm:top-sub
parent: asm:core
qty: 1
- item: part:main-pcba
parent: asm:core
qty: 1
supplier: sup:ems
- item: part:board-screw
parent: asm:core
qty: 3
supplier: sup:fastener
- item: part:speaker
parent: asm:core
qty: 1
supplier: sup:audio-vendor
- item: part:haptic-motor
parent: asm:core
qty: 1
supplier: sup:haptic-vendor
- item: part:battery
parent: asm:core
qty: 1
supplier: sup:cell-maker
- item: part:battery-foam
parent: asm:core
qty: 1
supplier: sup:converter
- item: part:top-shell
parent: asm:top-sub
qty: 1
supplier: sup:shell-moulder
- item: part:ring-diffuser
parent: asm:top-sub
qty: 1
supplier: sup:shell-moulder
- item: part:plus-button
parent: asm:top-sub
qty: 1
supplier: sup:shell-moulder
- item: part:mic-gasket
parent: asm:top-sub
qty: 2
supplier: sup:converter
- item: part:esp32-s3-module
parent: part:main-pcba
qty: 1
supplier: sup:module-vendor
- item: part:mems-mic
parent: part:main-pcba
qty: 2
supplier: sup:chip-distributor
- item: part:audio-amp
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:haptic-driver
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:imu
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:fuel-gauge
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:charger
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:wireless-receiver
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:ring-led
parent: part:main-pcba
qty: 12
supplier: sup:chip-distributor
- item: part:tact-switch
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:usb-c
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:boot-button
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:power-switch
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:qwiic-connector
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:battery-connector
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
- item: part:pcb
parent: part:main-pcba
qty: 1
supplier: sup:ems
- item: part:passives
parent: part:main-pcba
qty: 1
supplier: sup:chip-distributor
suppliers:
- id: sup:shell-moulder
name:
value: 'To be sourced: shell moulder'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:ems
name:
value: 'To be sourced: EMS for the main board'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:module-vendor
name:
value: Espressif or an authorised distributor
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:chip-distributor
name:
value: 'To be sourced: component distributor'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:audio-vendor
name:
value: 'To be sourced: micro speaker maker'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:haptic-vendor
name:
value: 'To be sourced: LRA maker'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:cell-maker
name:
value: 'To be sourced: Li-ion cell maker'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:converter
name:
value: 'To be sourced: die-cut converter'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:magnet-vendor
name:
value: 'To be sourced: magnet maker'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:fastener
name:
value: 'To be sourced: fastener maker'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:coil-vendor
name:
value: 'To be sourced: wireless charging coil maker'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
- id: sup:pack
name:
value: 'To be sourced: packaging maker'
source: inferred
confidence: low
evidence:
- src:design-brief
note: not sourced yet
operations:
- id: op:diffuser-place
name: Seat the light-ring diffuser in the top shell
type: place
inputs:
- part:top-shell
- part:ring-diffuser
output: asm:top-sub
station: sta:s1
method:
value: by hand onto six stake posts
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: ring nest
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 5
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:diffuser-stake
name: Heat-stake the diffuser
type: heat-stake
inputs:
- asm:top-sub
output: asm:top-sub
station: sta:s1
method:
value: six-post hot-air cold-stake, timed
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: heat staker
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 9
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:button-place
name: Fit the plus button
type: place
inputs:
- asm:top-sub
- part:plus-button
output: asm:top-sub
station: sta:s1
method:
value: by hand, flange under the skin
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: ring nest
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 4
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:gasket-place
name: Place the two mic gaskets over the ports
type: place
inputs:
- asm:top-sub
- part:mic-gasket
output: asm:top-sub
station: sta:s1
method:
value: jig-located, liner peeled
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: gasket jig
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 6
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:board-place
name: Place the main board in the top shell
type: place
inputs:
- asm:top-sub
- part:main-pcba
output: asm:core
station: sta:s2
method:
value: by hand onto three bosses, LEDs to the ring
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: top-shell nest
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 10
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:board-screw
name: Drive three board screws
type: screw
inputs:
- asm:core
- part:board-screw
output: asm:core
station: sta:s3
method:
value: thread-forming, torque to angle window
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: top-shell nest
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 15
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:adhesive-dispense
name: Dispense adhesive for the speaker and haptic
type: adhesive
inputs:
- asm:core
output: asm:core
station: sta:s4
method:
value: two beads, camera-checked
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: dispense nest
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 8
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:speaker-place
name: Place the speaker
type: place
inputs:
- asm:core
- part:speaker
output: asm:core
station: sta:s4
method:
value: jig-located, 5 s hold
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: placement jig
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 5
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:haptic-place
name: Place the haptic motor
type: place
inputs:
- asm:core
- part:haptic-motor
output: asm:core
station: sta:s4
method:
value: jig-located
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: placement jig
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 5
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:battery-mate
name: Mate the battery connector
type: connector-mate
inputs:
- asm:core
- part:battery
output: asm:core
station: sta:s5
method:
value: seat, then a 3 N tug check
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: connector seating tool
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 8
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:battery-place
name: Place the battery on foam tape
type: place
inputs:
- asm:core
- part:battery-foam
output: asm:core
station: sta:s5
method:
value: locator, lead routed in its channel
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: battery locator
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 6
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:ring-bond
name: Bond the magnet ring into the base
type: adhesive
inputs:
- part:base
- part:magnet-ring
output: asm:base
station: sta:s6
method:
value: keyed fixture, polarity checked before the press
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: ring bonding fixture
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 8
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:coil-place
name: Place the charging coil and ferrite inside the ring
type: place
inputs:
- asm:base
- part:qi-coil
output: asm:base
station: sta:s6
method:
value: keyed to the base, adhesive-backed
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: ring bonding fixture
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 6
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:pad-press
name: Press the five pogo pads into the base
type: place
inputs:
- asm:base
- part:pogo-pad
output: asm:base
station: sta:s6
method:
value: press to a hard stop
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: pad press
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 6
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:base-close
name: Close the base onto the core
type: snap-fit
inputs:
- asm:core
- asm:base
output: asm:plus-one
station: sta:s6
method:
value: three snaps, force-monitored press
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: closing press
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 8
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:polarity-check
name: Check ring polarity, pad height and the key
type: inspect
inputs:
- asm:plus-one
output: asm:plus-one
station: sta:s6
method:
value: polarity gauge and height gauge
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: pad press
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 4
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:flash-provision
name: Flash firmware and provision the unit ID
type: flash
inputs:
- asm:plus-one
output: asm:plus-one
station: sta:s7
method:
value: over USB-C; unit ID written to eFuse
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: USB-C pogo fixture
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 24
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:mic-cal
name: Calibrate the two mics
type: test
inputs:
- asm:plus-one
output: asm:plus-one
station: sta:s7
method:
value: reference tone in an acoustic box
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: acoustic box
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 10
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:imu-cal
name: Calibrate the motion sensor
type: test
inputs:
- asm:plus-one
output: asm:plus-one
station: sta:s7
method:
value: six-face tilt
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: tilt table
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 6
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:functional-test
name: 'Functional test: button, touch, ring, haptic, IMU, wired and wireless charge, audio loopback, RF check'
type: test
inputs:
- asm:plus-one
output: asm:plus-one
station: sta:s8
method:
value: scripted test over USB; RF in a shield box; a reference wireless charger
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: functional tester
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 40
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:laser-mark
name: Laser-mark the unit QR on the base rim
type: label
inputs:
- asm:plus-one
output: asm:plus-one
station: sta:s8
method:
value: fibre laser, then a read-back
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: laser marker
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 6
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
- id: op:pack
name: Pack with the cable and card; no back ships
type: pack
inputs:
- asm:plus-one
- part:retail-box
- part:pulp-tray
- part:usb-cable
- part:quick-card
output: asm:packed
station: sta:s8
method:
value: by hand
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
fixture:
value: pack bench
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
cycle_time_s:
value: 10
unit: s
source: inferred
confidence: low
evidence:
- src:design-brief
- src:tracker-puck-spec
note: target from time-study estimates of similar operations
stations:
- id: sta:s1
name: Top shell sub-assembly
type: assembly
equipment:
- value: hot-air cold staker with six nozzles, a punch-travel monitor and a ring nest
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: mic gasket placement jig
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
operators:
value: 1
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
layout_usd_prim: /Line/S1
isa95_work_center: PlusOne-Line/S1
data_interface: unknown
- id: sta:s2
name: Place main board
type: assembly
equipment:
- value: top-shell nest, face down
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
operators:
value: 1
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
layout_usd_prim: /Line/S2
isa95_work_center: PlusOne-Line/S2
data_interface: unknown
- id: sta:s3
name: Drive board screws
type: assembly
equipment:
- value: electric screwdriver on a torque arm with torque and angle monitoring
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: screw presenter
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
operators:
value: 1
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
layout_usd_prim: /Line/S3
isa95_work_center: PlusOne-Line/S3
data_interface: unknown
- id: sta:s4
name: Speaker and haptic
type: assembly
equipment:
- value: bench dispenser with a bead camera
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: placement jig
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
operators:
value: 1
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
layout_usd_prim: /Line/S4
isa95_work_center: PlusOne-Line/S4
data_interface: unknown
- id: sta:s5
name: Battery
type: assembly
equipment:
- value: connector seating tool with a tug check
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: battery locator
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
operators:
value: 1
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
layout_usd_prim: /Line/S5
isa95_work_center: PlusOne-Line/S5
data_interface: unknown
- id: sta:s6
name: Close the base
type: assembly
equipment:
- value: ring bonding fixture with a polarity gauge
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: pad press with a height gauge
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: closing press with force monitoring
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
operators:
value: 1
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
layout_usd_prim: /Line/S6
isa95_work_center: PlusOne-Line/S6
data_interface: unknown
- id: sta:s7
name: Flash, provision, calibrate
type: test
equipment:
- value: USB-C pogo fixture
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: flashing PC
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: acoustic box for mic calibration (94 dB SPL at 1 kHz)
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: six-face tilt table for IMU calibration
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
operators:
value: 1
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
layout_usd_prim: /Line/S7
isa95_work_center: PlusOne-Line/S7
data_interface: unknown
- id: sta:s8
name: Functional test, mark, pack
type: test
equipment:
- value: functional tester with an RF shield box
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: reference wireless charger
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: laser marker
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
- value: pack bench
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
operators:
value: 1
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
layout_usd_prim: /Line/S8
isa95_work_center: PlusOne-Line/S8
data_interface: unknown
inspection_plans:
- id: insp:shell-iqc
station: sta:s1
stage: iqc
item: part:top-shell
characteristic: Diameter, ring slot width, cosmetic grade A
method:
value: caliper, pin gauge, light booth
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
sampling:
standard: ANSI/ASQ Z1.4
inspection_level: II
aql: 1.0
lot_size_range:
- 1201
- 3200
sample_size: 125
basis:
value: proposed plan; set at the pilot build
source: inferred
confidence: low
evidence:
- src:design-brief
- id: insp:pcba-iqc
station: sta:s2
stage: iqc
item: part:main-pcba
characteristic: EMS test record present; boots and enumerates over USB
method:
value: sample power-on
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
sampling:
standard: ANSI/ASQ Z1.4
inspection_level: S-3
aql: 0.65
lot_size_range:
- 1201
- 3200
sample_size: 32
basis:
value: proposed plan; set at the pilot build
source: inferred
confidence: low
evidence:
- src:design-brief
- id: insp:cell-iqc
station: sta:s5
stage: iqc
item: part:battery
characteristic: Open-circuit voltage 3.7 to 3.9 V; no swelling
method:
value: OCV meter, thickness gauge
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
sampling:
standard: ANSI/ASQ Z1.4
inspection_level: II
aql: 0.4
lot_size_range:
- 501
- 1200
sample_size: 80
basis:
value: proposed plan; set at the pilot build
source: inferred
confidence: low
evidence:
- src:design-brief
- id: insp:stake-ipqc
station: sta:s1
stage: ipqc
item: part:ring-diffuser
characteristic: Stake pull-off force
method:
value: push-out test, first five each shift
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
sampling:
standard: other
sample_size: 5
basis:
value: proposed plan; set at the pilot build
source: inferred
confidence: low
evidence:
- src:design-brief
- id: insp:oqc-audit
station: sta:s8
stage: oqc
item: asm:packed
characteristic: Packed unit complete; boots; QR reads
method:
value: audit
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed
sampling:
standard: ANSI/ASQ Z1.4
inspection_level: II
aql: 0.65
lot_size_range:
- 1201
- 3200
sample_size: 125
basis:
value: proposed plan; set at the pilot build
source: inferred
confidence: low
evidence:
- src:design-brief
tests:
- id: test:flash-verify
station: sta:s7
name: Firmware image flashed and verified
measures: image hash
- id: test:unit-id
station: sta:s7
name: Unit ID provisioned once
measures: eFuse read-back
- id: test:mic-sensitivity
station: sta:s7
name: Mic sensitivity after calibration
measures: dBFS at 94 dB SPL, 1 kHz
lower:
value: -28
unit: dBFS
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
upper:
value: -24
unit: dBFS
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:imu-bias
station: sta:s7
name: Motion sensor bias after calibration
measures: accelerometer bias
upper:
value: 0.05
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:button
station: sta:s8
name: Plus button actuation
measures: switch closes, debounced
- id: test:touch-ring
station: sta:s8
name: Touch ring delta
measures: touch counts on a reference finger
lower:
value: 30
unit: '%'
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:ring-leds
station: sta:s8
name: Light ring colours
measures: camera colour check per LED
- id: test:haptic
station: sta:s8
name: Haptic drive current
measures: mA at rated drive
lower:
value: 40
unit: mA
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
upper:
value: 90
unit: mA
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:charge
station: sta:s8
name: Charge current over USB-C
measures: mA from USB at 5 V
lower:
value: 100
unit: mA
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
upper:
value: 300
unit: mA
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:wireless-charge
station: sta:s8
name: Wireless charging
measures: charge current on a reference magnetic charger
lower:
value: 60
unit: mA
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:audio-loopback
station: sta:s8
name: Audio loopback
measures: speaker to mics, level and THD
upper:
value: 3
unit: '%'
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:rf-check
station: sta:s8
name: Radio check
measures: Wi-Fi and BLE RSSI against a golden radio in the shield box
lower:
value: -60
unit: dBm
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:power-off
station: sta:s8
name: Hardware power-off current
measures: cell current with the switch off
upper:
value: 1
unit: uA
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:pogo-limit
station: sta:s8
name: Pogo pad current limit
measures: short-circuit current at the pads
upper:
value: 300
unit: mA
source: inferred
confidence: low
evidence:
- src:design-brief
note: proposed limit
- id: test:qr-read
station: sta:s8
name: QR reads back
measures: scanner read
pfmea:
- id: fm:stake-weak
operation: op:diffuser-stake
failure_mode: Stake under-melted; diffuser loose
effect: Ring rattles; light leaks at the seam
cause: Stake time or temperature low
severity: 5
occurrence: 4
detection: 4
evidence:
- src:tracker-puck-spec
- id: fm:screw-strip
operation: op:board-screw
failure_mode: Screw strips the boss
effect: Board loose; button feel mushy
cause: Torque high or pilot hole oversize
severity: 6
occurrence: 3
detection: 3
evidence:
- src:tracker-puck-spec
- id: fm:adhesive-on-cone
operation: op:adhesive-dispense
failure_mode: Adhesive bead touches the speaker cone
effect: Buzz or low output
cause: Bead placement drift
severity: 6
occurrence: 3
detection: 4
evidence:
- src:design-brief
- id: fm:battery-unseat
operation: op:battery-mate
failure_mode: Battery connector half-seated
effect: Dead unit or resets after a drop
cause: Mate force low; in the factory simulation a 2 N tug let half-seated plugs through, so the check is now 3 N
severity: 8
occurrence: 4
detection: 3
evidence:
- src:ec-1-lessons
- src:factory-engine
- id: fm:wire-pinch
operation: op:base-close
failure_mode: Battery lead pinched when the base closes
effect: Short; heat in the worst case
cause: Lead outside its channel
severity: 9
occurrence: 2
detection: 4
evidence:
- src:ec-1-lessons
- id: fm:ring-polarity
operation: op:ring-bond
failure_mode: Magnet ring bonded flipped, or a segment missing
effect: Won't hold on a magnetic mount or charger
cause: Ring loaded upside down
severity: 6
occurrence: 3
detection: 2
evidence:
- src:design-brief
- id: fm:coil-offset
operation: op:coil-place
failure_mode: Coil off-centre in the ring
effect: Slow or no wireless charging
cause: Coil not keyed to the base
severity: 5
occurrence: 3
detection: 3
evidence:
- src:design-brief
- id: fm:pad-recessed
operation: op:pad-press
failure_mode: Pogo pad recessed
effect: Dock or module doesn't connect
cause: Pad not pressed to its stop
severity: 5
occurrence: 3
detection: 2
evidence:
- src:design-brief
- id: fm:gasket-shift
operation: op:gasket-place
failure_mode: Mic gasket off its port
effect: Low mic sensitivity; poor wake word
cause: Gasket lifts with the liner
severity: 6
occurrence: 4
detection: 3
evidence:
- src:design-brief
- id: fm:id-twice
operation: op:flash-provision
failure_mode: Unit ID provisioned twice or not at all
effect: Twin and QR point at the wrong unit
cause: Retry after a failed flash
severity: 6
occurrence: 2
detection: 2
evidence:
- src:design-brief
- id: fm:rf-detune
operation: op:functional-test
failure_mode: Radio check passes a detuned antenna
effect: Short range in the field
cause: Module antenna near the ring LEDs or the cell
severity: 6
occurrence: 3
detection: 5
evidence:
- src:ec-1-lessons
- src:module-datasheet
- id: fm:qr-unreadable
operation: op:laser-mark
failure_mode: QR unreadable
effect: Unit can't open its twin
cause: Laser focus or power drift
severity: 3
occurrence: 3
detection: 2
evidence:
- src:design-brief
ext:
battery:
cells:
- part: part:battery
chemistry:
value: Li-ion polymer
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
form: pouch
nominal_voltage_v:
value: 3.7
unit: V
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
capacity_mah:
value: 150
unit: mAh
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target for a 28 x 16 x 3.5 mm cell; no coin cell, the ESP32-S3's Wi-Fi draws far more than one can supply
protection_circuit:
value: single-cell protection board on the tab, the charger's limits and a hardware power-off switch. Charged by USB-C,
a dock on the pads, or a magnetic wireless charger; a phone can't charge it
source: inferred
confidence: low
evidence:
- src:design-brief
note: design choice
design_intent:
targets:
- characteristic: size
where:
- part:top-shell
target:
value: 55.4
unit: mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
upper:
value: 55.4
unit: mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
priority: must
owner: industrial-design
rationale: 'Approved exterior direction (2026-11-01): the diameter of a common magnetic phone charger, so the puck sits
flush on one. Replaces the 57 mm concept. The CAD, the magnet ring, the lugs and plus-one-base@1 in this file are still
sized for 57 mm and need rework'
- characteristic: thickness
where:
- part:top-shell
- part:base
target:
value: 12.0
unit: mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
upper:
value: 12.0
unit: mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
priority: must
owner: industrial-design
rationale: 'Approved exterior direction (2026-11-01): 12.0 mm at most, including the button dome and the base. Replaces
9.5 mm. A 12 mm puck still needs a thinner cell than the stock one; the CAD in this file is still 9.5 mm'
- characteristic: weight
where:
- part:base
target:
value: 28.0
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
upper:
value: 32.0
unit: g
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
priority: should
owner: product
rationale: Light enough to hang on a phone or a bag
- characteristic: button-travel
where:
- part:plus-button
target:
value: 0.3
unit: mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
lower:
value: 0.2
unit: mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
upper:
value: 0.4
unit: mm
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
priority: must
owner: product
rationale: Short, firm click you can find without looking
- characteristic: other
where:
- part:magnet-ring
target:
value: 8.0
unit: N
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
lower:
value: 6.0
unit: N
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
priority: must
owner: product
rationale: Magnetic hold on a phone mount. It stays put when a phone in a car mount hits a bump
- characteristic: other
where:
- part:base
target:
value: 30.0
unit: N
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
lower:
value: 30.0
unit: N
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
priority: must
owner: mechanical
rationale: Lug pull-out. The twist-lock lugs carry the load for clips, lanyards and bikes; the magnets only align
- characteristic: other
where:
- part:pogo-pad
target:
value: 300.0
unit: mA
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
upper:
value: 300.0
unit: mA
source: inferred
confidence: low
evidence:
- src:design-brief
note: design target
priority: must
owner: electrical
rationale: Pogo pad current limit. A shorted module trips safely
variants:
objectives:
- metric: throughput.cycle_time
direction: min
- metric: cost.cost_per_good_unit
direction: min
constraints:
- takt 60 s (design target)
- headcount at most 9
- no new station type beyond the brief
baseline:
scores:
throughput:
cycle_time:
value: 56
unit: s
origin: estimated
engine: expert-estimate
confidence: low
note: slowest station from target cycle times; nothing built
takt:
value: 60
unit: s
origin: estimated
engine: expert-estimate
confidence: medium
note: design target, about 480 units an 8-hour shift
bottleneck_station: sta:s8
headcount: 8
candidates:
- id: var:bench-cell
name: Bench cell, for the first 100 builder units
kind: staffing
base: baseline
description: 'Decision 25''s layout for the Q1 2027 bench builds. Three benches in a small U, no conveyor, at most three
units in the cell. One technician carries each unit through: bench A does S1 to S4, bench B does S5 and S6, bench C
does S7 and S8. 100 units in five build days. Layout: line/layouts/bench-cell.json.'
changes:
- action: merge
target:
- sta:s1
- sta:s2
- sta:s3
- sta:s4
description: bench A
- action: merge
target:
- sta:s5
- sta:s6
description: bench B
- action: merge
target:
- sta:s7
- sta:s8
description: bench C
generated_by:
method: agent
engine: discrete-event
run: nplus1labs/factory 9bc6753 engine/examples/plus-one-demand
created: '2026-11-02'
scores:
throughput:
takt:
value: 1215.0
unit: s
origin: estimated
engine: analytic
confidence: medium
note: 'set by the assumed volume: one 8-hour shift less breaks, 21 working days a month'
uph:
value: 16.9
unit: good units/h
origin: simulated
engine: discrete-event
confidence: low
note: capacity, simulated from assumed values; uncalibrated; no unit built; the technician is the constraint, not
a bench; about 17% busy at this volume
runs: 2000
evidence:
- src:factory-engine
- src:layout-study
headcount: 1
- id: var:u-cell
name: U cell, for about 2,000 to 4,500 a month
kind: staffing
base: baseline
description: 'Decision 25''s bridge between the bench builds and volume. The eight stations as benches in a U with a 2
s hand pass. Two operators: one runs S1 to S6, the other runs S7 and S8. Layout: line/layouts/u-cell.json.'
changes:
- action: modify
target:
- sta:s1
- sta:s2
- sta:s3
- sta:s4
- sta:s5
- sta:s6
description: one operator walks S1 to S6
- action: modify
target:
- sta:s7
- sta:s8
description: a second operator runs S7 and S8
generated_by:
method: agent
engine: discrete-event
run: nplus1labs/factory 9bc6753 engine/examples/plus-one-demand
created: '2026-11-02'
scores:
throughput:
takt:
value: 255.15
unit: s
origin: estimated
engine: analytic
confidence: medium
note: 'set by the assumed volume: one 8-hour shift less breaks, 21 working days a month'
uph:
value: 31.6
unit: good units/h
origin: simulated
engine: discrete-event
confidence: low
note: capacity, simulated from assumed values; uncalibrated; no unit built; the operator on S1 to S6 is the constraint
runs: 2000
evidence:
- src:factory-engine
- src:layout-study
headcount: 2
- id: var:madecell-balanced
name: Balanced MadeCell line, for about 10,000 a month
kind: mixed
base: baseline
description: 'Decision 24''s MadeCell base (a 40 x 8 ft frame, four bays, stations facing out from a central conveyor,
operators on the floor outside), balanced for decision 25''s volume case. 16 pallets and an overhead restocking rail.
S1 and S2 share a workstation, as do S3 and S4; S5 and S6 and S7 each run twice; S8 becomes a cell of three test fixtures.
Seven people. Layout: line/layouts/madecell-balanced.json.'
changes:
- action: merge
target:
- sta:s1
- sta:s2
description: workstation W1
- action: merge
target:
- sta:s3
- sta:s4
description: workstation W2
- action: split
target:
- sta:s5
- sta:s6
description: W3, built twice
- action: split
target:
- sta:s7
description: W4, built twice
- action: split
target:
- sta:s8
description: a test cell of three fixtures
generated_by:
method: agent
engine: discrete-event
run: nplus1labs/factory 9bc6753 engine/examples/plus-one-demand
created: '2026-11-02'
scores:
throughput:
takt:
value: 51.03
unit: s
origin: estimated
engine: analytic
confidence: medium
note: 'set by the assumed volume: one 8-hour shift less breaks, 21 working days a month'
uph:
value: 88.8
unit: good units/h
origin: simulated
engine: discrete-event
confidence: low
note: capacity, simulated from assumed values; uncalibrated; no unit built; W1 (S1 and S2) is the bottleneck, about
79% busy
runs: 2000
evidence:
- src:factory-engine
- src:layout-study
headcount: 7
bottleneck_station: sta:s1
- id: var:split-s8
name: 'Split S8: test in one station, mark and pack in another'
kind: station-layout
base: baseline
description: A ninth bench takes the laser mark and pack off S8. S7 and S8 then both sit at 40 s.
changes:
- action: add
target:
- sta:s8
description: mark and pack move to a new bench after S8
generated_by:
method: agent
engine: expert-estimate
created: '2026-11-01'
scores:
throughput:
cycle_time:
value: 40
unit: s
origin: estimated
engine: expert-estimate
confidence: low
bottleneck_station: sta:s7
headcount: 9
- id: var:plus-one-plus
name: Plus One+ (coming next)
kind: design-change
base: baseline
description: 'Coming next. The same board with more parts fitted: light sensor, NFC tag, debug jumper; a clear shell option.
No new station: a board-variant BOM at S2 and extra checks at S8, which push S8 past takt unless it is split.'
changes:
- action: add
target:
- part:light-sensor
- part:nfc-tag
- part:debug-jumper
description: fit the empty footprints
- action: modify
target:
- sta:s8
description: add NFC and light-sensor checks
generated_by:
method: manual
engine: expert-estimate
created: '2026-11-01'
scores:
throughput:
cycle_time:
value: 62
unit: s
origin: estimated
engine: expert-estimate
confidence: low
note: S8 gains about 6 s of checks
bottleneck_station: sta:s8
headcount: 8
- id: var:plus-one-plus-plus
name: Plus One++ (coming next)
kind: routing
base: var:plus-one-plus
description: Coming next. Plus One+ boxed with a set of backs. Adds S9 after S8, kitting the backs into the box.
changes:
- action: add
target:
- sta:s8
description: a new S9 after S8 kits the backs into a bigger box
generated_by:
method: manual
engine: expert-estimate
created: '2026-11-01'
scores:
throughput:
cycle_time:
value: 62
unit: s
origin: estimated
engine: expert-estimate
confidence: low
note: S9 kitting runs in parallel; S8 stays the bottleneck
bottleneck_station: sta:s8
headcount: 9
recommended:
variant: var:bench-cell
rationale: 'Decision 25: the layout follows volume. The first 100 builder units run on a one-technician bench cell; the
U cell bridges to about 4,500 a month and the balanced MadeCell line takes about 10,000. On any fixed eight-station
line, split S8 first: it sits at 56 s against a 60 s takt and the Plus One+ checks would push it to 62 s'
tradeoffs: a bench cell is cheap to set up but tops out at about 2,400 a month on one shift
engine_notes: The layout variants come from the N+1 factory engine (nplus1labs/factory 9bc6753), a discrete-event simulation
that runs this OPD's routing with a ±30% spread on every target time. They are simulated from assumed values; uncalibrated;
no unit built. The audio loopback, the RF check and wireless charging are outside the simulation. The other scores are
expert estimates.