OpenValence Download

OSSM Flagship PCB

A 75 x 75 mm controller PCB that sits in an 85 mm round housing. It takes a 36 V supply, powers and commands the motor, and talks to the outside world through an ESP32-P4 with a stacked ESP32-C6.

It runs Nucleus. The design is under CERN-OHL-S-2.0.

A three-quarter render of the OSSM Flagship PCB: a black six-layer board with gold pads, the ESP32-P4 module near one edge, two large power resistors and the power stage across the middle, white JST connectors along the side.

Status WIP

These renders come straight from the KiCad project as it stands today, so parts can still move. No fabrication files are published and no boards are for sale.

What's in the repo

The KiCad 10 project, the parts list, the stackup and a dated ledger of design decisions. Where FEATURES.md and SPEC.md disagree, SPEC.md wins.

Main parts

Hover or tap a number to see what that part does.

Top view of the OSSM Flagship PCB with numbered markers on its main parts. ESP32-P4 module (main processor) Surge stopper (input protection) Input power FET (surge stopper) Input fuse Regen load resistors (pair) Regen clamp switch Motor switch (smart high-side) Quadrature buffer to the motor RS485 transceiver (motor comms) HOME button PAIR button Status LED Qwiic / STEMMA QT port 5 V buck converter
  1. ESP32-P4 module (main processor)M5Stack Stamp-P4 with a Stamp-AddOn C6 stacked on top for Wi-Fi and BLE. Its low-power core generates the quadrature motion signal.
  2. Surge stopper (input protection)LTC4364 rides through input spikes at 51.5 V, limits current to about 25 A, blocks reverse polarity and reverse current, and retries about once a second after a fault, so regen never reaches the power supply.
  3. Input power FET (surge stopper)One of the back-to-back FETs the surge stopper drives: it carries the whole bus and opens on any fault.
  4. Input fuse15 A soldered fuse, the last-resort backstop against a dead short from a stiff supply.
  5. Regen load resistors (pair)Two 15 ohm power resistors in parallel (7.5 ohm) that burn off the energy a back-driven motor pumps into the bus; each handles about 6.8 W mean and 132 W bursts at worst case.
  6. Regen clamp switchConnects the resistors across the bus above 44.5 V and releases below 43.2 V, before the supply's overvoltage trip, with no firmware involved.
  7. Motor switch (smart high-side)TPS48111 gates bus power to the motor XT30: soft pre-charge of the motor, latching trips at 15.2 A (10 ms) and 30 A (1.2 us), and the E-stop or an overvoltage cuts it in hardware.
  8. Quadrature buffer to the motor74AHCT125 lifts the P4's A/B pulses to 5 V for the motor's opto inputs.
  9. RS485 transceiver (motor comms)THVD1450 carries Modbus to the motor, with ESD protection and an optional 120 ohm termination; the motor's position comes back over it.
  10. HOME buttonPress to home, hold to reset; there is no separate reset button.
  11. PAIR buttonPress to open a 120 s pairing window. Hold it while powering on for config mode: Bluetooth and USB only, no Wi-Fi.
  12. Status LEDAddressable status LED, level-shifted to 5 V so the colors stay reliable.
  13. Qwiic / STEMMA QT portJST SH port on its own I2C bus: plug in small screens and sensors without soldering.
  14. 5 V buck converterLM76003 synchronous buck (3.5 A) that feeds the P4 module and the accessory 3.3 V regulator; a twin makes 12 V for the fan, clamp and pump.

Top and bottom

Motor interface

The target motor is the YZ 60AIM40F (200 W). The PCB is also built to drive the 350 W 60AIM40. It talks to the motor three ways.

Hardware protection

Board features

Related

Nucleus is the PCB's firmware, and Valence is the protocol its hub uses. The diagrams show the connections, and Components lists every part.