Skip to the content
PCBKitNew board
2 layers95 × 82 mmOrc, the printed circuit board in 3D

Open replacement controller board for surplus Motorola PMUN1046A relay boxes: ESP32-C3, CANopen control, 10 x 15 A channels. Independent project, not affiliated with Motorola Solutions.

Size
95 × 82 mm
Copper layers
2
Thickness
1.6 mm
Parts
85
Nets
103
Pads
330
Tracks, vias
652, 160
Pours
8
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Aug 2026
Updated
5 Sep 2026

Overview

Orc is an open-source printed circuit board by aramder, from the aramder/orc repository on GitHub. It is a 2-layer board of 95 × 82 mm with 85 parts on 103 nets, routed with 652 tracks and 160 vias.

It is built around the SN65HVD230D, ADUM1250ARZ-RL7 and AMS1117-3.3, with the PCA9555PW, SS34 and AO3401A among its other parts. Its parts include 21 resistors, 20 transistors, 15 capacitors, 12 diodes and 7 ICs. It belongs with the home automation and IoT and interfaces and adapters boards and the ESP32 and RISC-V boards of this library.

Main components

8

README

README.md
ORC — Open Relay Controller

status controller channels donor

A replacement controller board for surplus Motorola PMUN1046A relay boxes — same relays and enclosure; open CAN control over plain terminal blocks instead of the proprietary wired link to the radio.

Independent open-source project. Not affiliated with, endorsed by, or connected to Motorola Solutions, Inc. — see TRADEMARKS.md.

Project writeup and photos →

Safety: this switches high-current DC in a vehicle. It is not safety qualified and must not be used for safety-critical functions. Read DISCLAIMER.md before building anything.


Why

The PMUN1046A Universal Relay Controller (URC) is a sealed 12 V automotive relay box — ten relay outputs at 15 A each, per-channel fusing, and a busbar power input rated for up to two cables at 60 A each (Motorola's install manual), in a trunnion-mounted weatherproof chassis. Power goes straight to the busbar through cable glands — no special harness needed on the input side. Surplus units are common and cheap. Everything about it is desirable except that it only takes commands from a Motorola APX radio over a proprietary GCAI/USB link.

ORC replaces the controller board outright and makes the box a general-purpose, openly-controlled ten-channel power distribution module. ORC stands for Open Relay Controller.

ORC does not implement, emulate, or interoperate with the GCAI link. The controller board is an independent design that replaces the donor unit's controller board entirely; control is plain CAN or USB.

About the donor unit (PMUN1046A Universal Relay Controller)

Motorola's URC ships as part of the APX mobile radio ecosystem — a sealed relay box meant to switch scene lighting, sirens, and other accessory loads from the radio head. The relay board and chassis are generic 12 V automotive gear; only the controller board and its proprietary GCAI/USB command link to the radio are Motorola-specific. The relay board is entirely passive (relays, fuses, terminal blocks, busbar — no drivers or regulator of its own); a small internal harness carries switched 9 V coil drive between it and the controller board. Power input has no special harness at all — it lands straight on the busbar through the enclosure's cable glands. ORC keeps the relay board and chassis, and replaces the controller board and its proprietary radio link with plain CAN over terminal blocks — no proprietary connector anywhere in this design.

What it is

Inherited from the donor unit

  • Ten switched channels, 15 A each
  • Per-channel fusing + busbar
  • Board-to-board coil-drive harness (P/N 0975931M01) — the internal cable between the relay board and the controller board, carrying switched 9 V coil drive; not a power-input harness
  • Sealed, trunnion-mounted chassis

Rebuilt on the new controller board

  • ESP32-C3 controller (native USB for programming only; CAN-exclusive control, no wireless)
  • 9 V relay coil supply
  • Ten relay driver stages
  • CAN terminal blocks (no proprietary connector)

Category-wise this is a PDM (power distribution module) — the sPOD / Switch-Pros class of device — with an open CAN control interface instead of a proprietary wired link to the radio.

The board

ORC Rev A (green, right) next to the OEM PMUN1046A control PCB (blue, left), top-down

ORC Rev A (green, right) and the OEM control PCB it replaces (blue, left).

ORC Rev A installed in the PMUN1046A enclosure alongside the OEM relay board

ORC Rev A installed in the donor enclosure, alongside the OEM relay board that stays.

Full writeup, build story, and more photos: Open Relay Controller for the Motorola PMUN1046A.

Repo structure

One repo for design inputs, hardware, and firmware — no split-repo overhead for a project this size:

PathContentsStatus
docs/Design inputs, specs, architecture decisionsActive
hardware/KiCad project — schematic, PCB, BOMSchematic captured, boards fabricated, populated, and bring-up verified on real hardware
firmware/PlatformIO / Arduino firmwarecanopen_app is real application firmware (CAN + USB relay control), verified on real hardware
tools/Host-side CAN/USB bench test scriptsUsed against real hardware

License

Different parts of the repo carry different licenses. Full texts are in LICENSES/; each directory also carries its own LICENSE file.

PathLicense
hardware/CERN-OHL-W-2.0
firmware/, tools/Apache-2.0
docs/CC-BY-4.0

Hardware and software are licensed separately because they are separate works: under CERN-OHL's own definitions the ESP32-C3 is an Available Component, so a hardware license on the board does not reach the code running on it. See NOTICE for the summary and TRADEMARKS.md for trademark and affiliation.

Status

Real-hardware bring-up complete. Boards were sent to fab 2026-08-02, came back populated, and have been bench-tested since 2026-08-10: the PCA9555/I2C-isolator chain, the full 10-channel relay-driver mapping, and the CAN (RPDO1/TPDO1/TPDO2/Heartbeat) and USB control paths have all been exercised on real hardware. Five real firmware bugs were found and fixed along the way — BUG-001 through BUG-005, see docs/features/LOG.md for the full history — the last of which (a liveness stall under an absent/unpowered PCA9555) was verified on real hardware 2026-09-04. One real mechanical fault (a harness connector shorting against the enclosure chassis) was also found and fixed on the bench — see docs/circuit-draft.md for the follow-up enclosure-clearance item.

No further active development is planned barring a new bug. A couple of feature requests (FR-003, FR-005) remain open in the backlog but aren't being actively pursued right now.

Working conventions for part selection, asset verification, and check gates: docs/hardware-workflow.md. Bench test tooling for talking to a real board over CAN/USB from a PC: tools/.

Parts

85
QtyValueFootprintReferences
1110k 5%Resistor_SMD:R_Array_Concave_4x0603R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R38
11SS34Diode_SMD:D_SMAD8, D9, D10, D11, D12, D13, D14, D15, D16, D18, D19
10AO3401APackage_TO_SOT_SMD:SOT-23Q8, Q12, Q16, Q17, Q19, Q21, Q23, Q25, Q27, Q29
10MMBT3904Package_TO_SOT_SMD:SOT-23Q6, Q10, Q14, Q15, Q18, Q20, Q22, Q24, Q26, Q28
810uF 50VCapacitor_SMD:C_0805_2012MetricC22, C23, C24, C25, C26, C27, C29, C30
7100nF 50VCapacitor_SMD:C_0603_1608MetricC13, C17, C18, C19, C20, C21, C28
410k 1%Resistor_SMD:R_0603_1608MetricR20, R21, R22, R23
22.5mm NPMountingHole:MountingHole_2.5mmMNT2, MNT4
233uHInductor_SMD:L_Chilisin_BWVS00606045L3, L4
24mm NPMountingHole:MountingHole_4mmMNT1, MNT3
2LMR50410Package_TO_SOT_SMD:SOT-23-6U3, U4
101x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ5
110k 0.1%Resistor_SMD:R_0603_1608MetricR13
110x SS34Diode_SMD:D_SMAD17
1120 1%Resistor_SMD:R_1206_3216MetricR14
12.7k 1%Resistor_SMD:R_0603_1608MetricR19
124k 1%Resistor_SMD:R_0603_1608MetricR36
13k 1%Resistor_SMD:R_0603_1608MetricR37
15.08mm Screw TerminalConnector_Samtec_HPM_THT:Samtec_HPM-04-01-x-S_Straight_1x04_Pitch5.08mmJ6
16.2k 1%Resistor_SMD:R_0603_1608MetricR18
1ADuM1250ARZ-RL7Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU9
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1ESP32-C3-SuperMiniAramLib:ESP32-C3-SuperMiniU7
1Harness, 14-pos 0.1in THTConnector_PinSocket_2.54mm:PinSocket_1x14_P2.54mm_VerticalJ7
1PCA9555PWPackage_SO:TSSOP-24_4.4x7.8mm_P0.65mmU1
1SN65HVD230Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU6
1SW_DIP_x04Package_SO:SOIC-8_5.3x5.3mm_P1.27mmSW2

Questions

How big is the Orc PCB?

It measures 95 × 82 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Orc use?

85 parts, built around the SN65HVD230D, ADUM1250ARZ-RL7, AMS1117-3.3 and PCA9555PW. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Orc KiCad files?

From the aramder/orc repository on GitHub, at the commit this page was made from: the board is hardware/orc.kicad_pcb and its schematic hardware/communications.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Orc design in my own project?

Its repository states no licence, so its author keeps all rights: ask aramder before reusing the design.

Similar boards

  • 4 layers92.1 × 62.8 mmMotor controller, the printed circuit board in 3D

    Motor controller

    mohamed-belal-10/can-motor-controller-node

    CAN-connected closed-loop DC motor controller node — KiCad hardware (STM32F103, DRV8874, SN65HVD230) with an AS5600 encoder sub-PCB

    55 partsMIT
  • 4 layers95 × 55 mmGalvanik, the printed circuit board in 3D

    Galvanik

    viridivn/galvanik

    OSHW galvanic hair electrolysis device

    103 parts2
  • 2 layers96.5 × 81.3 mmBluePill base, the printed circuit board in 3D

    BluePill base

    michpro/mikroBUS

    Collection of add-on boards in mikroBUS™ standard

    48 parts5CERN-OHL-P-2.0
  • 2 layers148.6 × 192.2 mmBadge, the printed circuit board in 3D

    Badge

    NuttyShell/NuttyBadge

    NuttyBadge: A NuttyShell crafted multi-tool. Opensourced Hardawre and Software

    169 parts31GPL-3.0
  • 2 layers100 × 85 mmESP32 MediaCarrier routed, the printed circuit board in 3D

    ESP32 MediaCarrier routed

    xmyoot/esp32-media-carrier

    ESP32 multimedia carrier board with 7–24 V DC buck regulator, 3.2 W Class-D I2S audio amp, WS2812 LED ring driver, and SPI TFT display header

    97 partsMIT
  • 4 layers159 × 130 mmRC11, the printed circuit board in 3D

    RC11

    AgOpenGPS-Official/Rate_Control

    106 parts20GPL-3.0
  • 2 layers172.7 × 91.4 mmNanoSprayLinear, the printed circuit board in 3D

    NanoSprayLinear

    lansalot/AOG_Dev

    Like AgOpenGPS but not. This version is constantly under development.

    90 partsGPL-3.0
  • 2 layers74 × 32 mmColorSensor01, the printed circuit board in 3D

    ColorSensor01

    nevzathipertek/color_sensor

    99 parts1