MustafaMulla29/rp2040-bldc-motor-controller-new

A 9V USB‑PD RP2040 controller board with MCT8329A sensorless BLDC driver, three MOSFET half-bridges, protected power switching, USB data/programming, and onboard speed/arm controls for a three-phase motor.

Version
0.3.81
License
unset
Stars
0

Files

README.md

# 9 V USB-PD BLDC controller

Battery-free controller for the Readytosky 2212 920KV motor. **J19 PWR requests 9 V / 2 A USB-PD; J1 DATA connects to the computer.** The two USB cables can be connected together. There is no battery, battery charger, balance connector or external temperature probe.

Power flows through the PD input switch, input-current shunt, fuse F1, reverse-blocking diode D3 and current-limited switch U11 to the motor bridge. D3 prevents motor energy from flowing back into the USB source. Its voltage drop and the switch resistance mean the motor bus is slightly below the 9 V input under load. SW4 OFF removes motor power and clamps ARM; USB communication remains powered.

All fitted components are on the top of a **73 × 72 mm, four-copper-layer PCB**. J10/J11/J12 are outward-facing AMASS 24.243.4 sockets. The motor's original 3.5 mm male bullets plug into three purchased 3.5 mm female / 4 mm male rigid adapters, then into those sockets. RV1 speed, SW3 ARM, SW1 BOOTSEL and SW2 RESET are onboard. Sixteen copper test pads provide service access.

The assembly includes the PCB, motor, original motor leads, rigid adapters, a PD-power USB cable and a computer-data USB cable. USB source/host enclosures and cable lengths are representative. Exact motor-lead and adapter-body dimensions remain unverified; this view does not prove physical mating.

The compact layout saves **12.5% board area** compared with the previous 77 × 78 mm outline, and **27.0%** compared with 80 × 90 mm. See [layout changes](docs/compact-layout.md).

## Build and inspect

Run `bun run dev` and open **3D** for the full connected system. The default
package entrypoint is `system.circuit.tsx`; `index.circuit.tsx` remains the
PCB-only design for fabrication. Both use the same live board source.

```sh
bun run typecheck
bun run test
bun run check # strict schematic-style advisories are documented in docs/validation.md
bun run build
bun run assembly:test
bun run check:integration
bun run dev
```

`bun run build` compiles the board and integrated package using the included
assembly asset. After a board or assembly edit, use `bun run build:all` locally
to regenerate that asset and rerun the PCB audits. `circuit/route-plan.json` is
guarded against changed pads, nets or rules.
`dist/index/circuit.json` is the PCB build; `dist/system/circuit.json` adds the
external assembly. Both and their reports must be rebuilt after source changes.
A passing certificate applies only to its recorded input hash.

Publish with `bunx tsci push --compress`. The pinned CLI has a small Bun
dependency patch that allows two minutes for file uploads and honors
`tscircuit.config.json`'s `ignoredFiles`. This keeps the local assembly authoring
tools out of the upload while retaining `assets/connected-system.glb` for the
package's full 3D view. `bun install` reapplies the patch.

## Engineering status

**Hold the current manufacturing order.** The 12 October follow-up fixes the R81 Kelvin routing and U11 native paste size. U7 now exports six native rectangular paste windows; factory stencil/process approval remains required. See the [order-readiness review](docs/order-readiness.md). Passing PCB DRC and configured width checks does not approve fabrication or motor operation.

The change is a design prototype, not a bench-qualified motor controller. The supplied firmware provisions and checks 9 V PD while keeping the motor OFF. Motor tuning, startup/current supervision, USB control commands and coast-stop/AVS behavior still need implementation and physical testing before claiming working motor operation. D4 is a transient suppressor, not a continuous regenerative braking load.

See [connections and firmware](docs/connectors-and-firmware.md), [PD-only design](docs/pd-only-design.md), [assembly](docs/full-assembly.md) and [manufacturing status](docs/order-readiness.md). Previous battery-revision files are backed up outside this package.

Validation results and the remaining native style advisories are recorded in [validation](docs/validation.md).