benikigai/plus-onePublic

Plus One

README.md · 4.9 KB · commit #5 · Nov 2, 2026

SHA-256 c92a468442f6cca321e84c4605cd73da35a50647ef7a8dda3d2a199b32140acd

Build an accessory for Plus One

Plus One ships with nothing attached. Its base is the interface: a magnet ring, three twist-lock lugs, an alignment key and five pogo pads. Anything that fits that base is an accessory: a clip, a stand, a dock, a screen.

Prototype in design. Nothing is built. Every number here is a target, not a measurement. Print the fit gauge before you trust any of them.

Three ways to get one

  1. Buy ours, with the puck or in the Plus One++ box.
  2. Print a free file from this folder or from someone else's accessory OPD.
  3. Buy from a maker who lists theirs on openproduct.co.

Start here

  • interface.yaml has every number: the magnet ring, the lugs and windows, the key, the pads and their pinout, the accessory ID record, keep-outs, load targets and print clearances. It's what you hand your agent.
  • cad/fit-gauge.step is a printable ring with the interface and nothing else. Print it first. It should lock with a firm click and come off without force. If it doesn't, change the clearances in the template, not your accessory.
  • cad/flat-back-template.step is a plain back you can build on.
  • template/mating_half.py makes the mating half with your own plate thickness: python mating_half.py --plate 3 --out my-back.step.
  • catalog.yaml lists our first accessories and the free printables.

The base in brief

Puck 57 mm across, 9.5 mm thick
Magnet ring radius 23 to 26.8 mm, sealed in the puck. Polarity still to be checked against the WPC spec
Twist lock three windows in the rim at 30, 150 and 270 degrees. Hooks drop in and twist 18 degrees to sit over the lugs. The lugs carry the load; the magnets only align
Alignment key an arc slot near 12 o'clock. The back's tab enters at 72 degrees and locks at 90
Pads five, at radius 21 mm, outside the charging coil: PWR, SDA, GND, SCL, ID
Loads 8 N magnetic hold, 30 N lug pull-out (targets, not measured)

Rules

  • Printed backs use a steel ring or washer. Magnets stay sealed inside the puck. Never put magnets in a back.
  • Keep metal out of the charging coil, within 20 mm of the centre, and away from the antenna end (see keep_outs).
  • Leave the top alone. The speaker fires through the light-ring seam and the mics listen through the top.
  • Leave USB-C and the BOOT pinhole reachable.
  • Anything that uses the pads is a module. It carries an ID chip, draws no more than 300 mA, and needs N+1's safety review before it's sold. A passive back leaves the pads untouched.
  • Say it works with magnetic phone mounts and chargers. Don't claim Qi2 or MagSafe for the puck or your accessory.

The accessory ID (a proposal)

The ID pad is a 1-Wire line. A module carries a small 1-Wire EEPROM with a record: a magic word, vendor and product IDs, hardware revision, class (power, sensor, display, radio, infrared), peak power draw, its I2C addresses, a name, its OPD slug and a CRC. The puck reads it before switching power on, so firmware knows what's attached. No ID means a passive back, and the pads stay off. The full layout is under accessory_id in interface.yaml. Vendor IDs come with a hub listing.

Starter prompts for your agent

Give it interface.yaml and the fit gauge's STEP file, then try:

  • "Design a bike mount for this base. It clamps a 22 to 35 mm handlebar, twist-locks on the lugs, and takes the steel ring. Give me a STEP file and print settings."
  • "Make a desk stand that tilts the puck 30 degrees toward me. Keep the pads untouched and the BOOT pinhole open."
  • "Check my back against interface.yaml: clearances, keep-outs, and whether the hooks sit over the lugs once locked."
  • "Design a module that adds an ambient air sensor on the pads. Draw its ID record and its I2C address, and stay under 300 mA."

Publish your own

Every accessory on openproduct.co is its own OPD. Put your STEP files, a photo of it locked on the fit gauge, and your print settings in a repo, and declare the base it fits:

card:
  product: Bike mount for Plus One
  fits: [plus-one-base@1]   # proposed field, openproduct-co/opd-spec (see the PR on interfaces)

The hub groups accessories by the base they fit. Badges show what's been checked:

  • Fits: you uploaded a photo of it locked on the fit gauge.
  • Reviewed: N+1's safety review passed. Required before any module is sold.
  • Community: made and shared by someone else; not checked by N+1.

Open questions

  • The magnet ring's exact size and polarity, against the WPC spec.
  • Whether the magnet ring and a steel ring near the antenna end hurt the radio. The S8 radio check and the module vendor's guidance will tell.
  • The pad order and the ID record are proposals until the first board is laid out.
  • The hook overlap is 0.6 mm. It may need to grow once real prints are tested.