Powering the PMC-C-CMX

Powering the PMC-C-CMX

The PMC-C-CMX can be powered through the terminal block or USB-C PD input.

Wire/Terminal input

  • 7-55V input range (10A max)

The PMC-C-CMX allows a wire to be inserted into a press-fit terminal block without a screwdriver to deliver up to 55V at 10A. Pin 1 on the terminal block, labeled 7-55VIN is connected to INPUT bus through a simple protection circuit, capable of 10A continuous. The board is designed to handle a total of 12A running through the bus connector continuously under a 20C temperature rise.

Minimum power requirements

The onboard converters can reliably function at as little as 7V and the CM4 TDP at full load is not to exceed 15 watts. A minimum power requirement of 7V @ 2.5A is derived. This does not account for peripherals such as USB devices, cameras on the INPUT or 5V/3V3 busses. The latter of which are capped at 30W/18W INPUT bus power draw, respectively.

Below are recommended power supply ratings for minimum, and fully-loaded configurations (additional power draw from the modular bus is not considered)


USBC PD input

  • Supports USB PD 2.0 with up to 45W power profiles
  • User-programmable power delivery profiles

The PMC-C-CMX includes a USB-PD 2.1 sink controller, the STUSB4500 by STMicroelectronics. Conforming to the USB-PD 2.1 standard, it allows the entire controller system to be powered by a capable PD charger at up to 100W (20V@5A). A bidirectional current switch capable of blocking the maximum INPUT bus voltage of 60V is controlled by the STUSB chip.

Default NVMe configuration

The STUSB4500 is pre-flashed with registers set for a PD configuration that will work out of the box for most users and power supplies. The chip has three Power Delivery Objects (PDOs):


(PDO 1 is 5V, and cannot be changed)

The order the PDOs are listed is also the precedence of the PD negotiation. STUSB will request PDO3 first, and if available will take PDO3. If using a 20V-capable charger but a lower bus voltage is desired (15V, 9V), the NVM must be reflashed.

As the minimum system INPUT bus voltage is 7V, the 5V PDO on the chip is disabled on the configuration it is shipped with.

Flashing the STUSB NVM

The NVM parameters can be configured by flashing the STUSB controller through its programming header. The pinout is given below:

STUSB4500 interface pinout

The STUSB4500 can be flashed with the onboard CM4's GPIO, or the onboard STM32H7. However if it is undesirable to change firmware/software deployments a simple external flasher with any AVR platform board such as an Arduino can be used to flash the NVM. A connection diagram and CPP code for flashing the default configuration is given below. Please note that it does require the Softwire library and it's dependancies, found at stevemarple/softwire.

Arduino UNO R3USB-PD interface

Please note that a 2.2k-10k pullup resistor is required between A4/3V3, and A5/3V3.

Using dual inputs

The PMC-C-CMX board can work with any combination of valid terminal input and USB-PD inputs together without posing hazard to the controller, or the upstream USB power supply. This means that using both a power input through the terminal and a USB-PD charger forms an implicitly redundant power scheme. If any one method fails, the system will automatically failover to the other power input. The voltage on INPUT bus will always be the higher of the two power inputs.

It is recommended to add a large (470-2200uF) smoothing/reserve capacitor on the INPUT bus when using dual inputs for redundancy.