benikigai/plus-onePublic

Plus One

model.yaml · 2.8 KB · commit #2 · Nov 1, 2026

SHA-256 f3424f3e28fde7a6d912a63b5e4ab7faa5778b8d61e21102826b3d918ec8f238

# Draft device-model layer (proposal 0001). Not part of schema 0.4.0 yet.
status: draft layer from proposal 0001 (openproduct-co/opd-spec#3); not in schema 0.4.0 yet
id: dev:plus-one-core
access: device-model
eligibility: our own product (proposal 0001 rule 5)
simulator:
  name: to be confirmed
  note: the firmware research covered Renode on nRF52, not the ESP32-S3; Espressif's QEMU fork has an esp32s3 machine whose
    coverage of I2S, touch and the radio must be checked before choosing
mcu:
  part: part:esp32-s3-module
  core: Xtensa LX7, dual core, 240 MHz
  flash_mb: 16
  psram_mb: 8
pins:
- id: pin:plus
  function: gpio_in
  to: part:tact-switch
  pull: up
  wake: true
- id: pin:boot
  function: strap
  to: part:boot-button
- id: pin:ring-data
  function: rmt_out
  to: part:ring-led
- id: pin:touch
  function: touch
  to: touch ring electrode on the PCB
- id: pin:mic-clk
  function: i2s_pdm_clk
  to: part:mems-mic
- id: pin:mic-data
  function: i2s_pdm_data
  to: part:mems-mic
- id: pin:amp
  function: i2s_out
  to: part:audio-amp
- id: pin:mic-power
  function: gpio_out
  note: tied to the ring state in hardware
buses:
- id: bus:i2c0
  kind: i2c
  devices:
  - part:imu
  - part:fuel-gauge
  - part:haptic-driver
  - qwiic port
  - pogo pads (module ID)
  - part:wireless-receiver
radio:
  stack: ESP-IDF Wi-Fi and BLE
  module_certified: the module carries its own modular approvals; confirm before relying on them
  envelope:
    bands:
    - 2400-2483.5 MHz
    max_tx_dbm: per the module's approval
    regions:
    - US
    - EU
  note: the Wi-Fi and BLE libraries are Espressif binaries; firmware links them, the OPD never holds them (rule 1)
charging:
  paths:
  - USB-C
  - dock on the pogo pads
  - magnetic wireless charger
  receiver: part:wireless-receiver
  note: receive only; a phone can't charge it
power:
  battery: part:battery
  states:
  - off (hardware switch)
  - deep sleep, plus as wake
  - listening, mics on, ring lit
  - talking, amp on
  note: battery life is not modelled; figures stay estimates until a bench rig measures them (rule 8)
firmware:
  load_path: USB-C; hold BOOT while plugging in to reach the ROM bootloader; nothing is locked
  recovery: the ROM bootloader can't be overwritten, so any unit can be reflashed
  notice: Whoever flashes a Plus One with their own firmware is responsible for its radio compliance (47 CFR 2.909).
  reference: N+1 Labs reference firmware, open licence, linked here once published
scenarios:
- 'press and hold the plus, speak, release: the ring shows listening then thinking'
- 'an agent needs you: the ring pulses and the haptic taps once'
- 'a module is attached (battery, screen, Thread, IR): the ID line reads it and firmware loads its driver'
- 'dropped onto a magnetic charger: the wireless receiver starts charging and the ring shows it'
test_stations:
- sta:s7
- sta:s8