Compact & efficient DC source with advanced features

DCP405 power module

  • Up to 3 modules per BB3 for a total power of up to 465 W, individually controlled or combined (tracking mode)
  • 0 – 40 V (80 V when coupled in series)
  • 0 – 50 mA / 0 – 5 A (or 10 A when coupled in parallel)
  • Fast transient response (<50 µs)
  • Remote sensing for precise voltage output
  • Remote voltage programming
  • Down-programmer
  • Isolated (“floated”) output
  • Fast settling time, low-jitter programming lists


Multiple protections
For better protection of the connected load and the module itself, various protections have been implemented: over-current, over-voltage (hardware and software), over-power and over-temperature.
Advanced features
The selection of current range, remote sensing, remote programming or down-programmer is a click away.
Calibration wizard
(Re)calibration of output voltage and current can be easily done directly on the device or remotely using SCPI commands.<br /> The calibration parameters are stored on the module itself so there is no need to worry about whether it will be lost if the module is moved to another slot or another BB3 chassis.
  • Power input: 48 Vdc (e.g. Mean Well LRS-150F-48)
  • Max. output power: 200 W (limited to 155 W due to Mean Well AC/DC module)
  • Voltage regulation (CV), 0 – 40 V
    Voltage set and read resolution: 5 mV
  • Current regulation (CC) with 2-range (50 mA, 5 A)
    Low range current set and read resolution: 5 uA
    High range current set and read resolution: 0.5 mA
  • On-board power pre-regulator and bias power supply
  • On-board OVP with triac/MOSFET crowbar and two fuses
  • Down-programmer
  • Output enable (OE) circuit with LED indicator combined with coupling indication
  • On-board Ø4 mm safety sockets (19 mm/0.75” pitch)
  • 20-pin pass-thru connector for output terminals coupling with other Power boards
  • Remote voltage sense with LED indicator and inverse polarity protection
  • Remote voltage programming with LED indicator
  • Galvanically isolated SPI bus for communication with the MCU board
  • I2C EEPROM for storing board specific configuration and calibration parameters
  • I2C Temperature sensor
  • Dimensions: 185 x 95 mm, 4-layer PCB

Current version





Yes (TME, Mouser, Digikey, Farnell, RS)

File repository
(include Eagle, Gerber and BOM files)


TAPR v1.0


C4.1 (Collective Code Construction Contract)


Output power terminals
coupling capability (require BP3C backplane)



Split rails

Common ground





Block diagram

Fig. 1: DCP405 power module block diagram

Power pre-regulator

The main role of the power pre-regulator circuit is to efficiently decrease input voltage to the power post-regulator. It is based on DC/DC low EMI step-down synchronous controller (IC1). It’s output voltage (PREG_OUT+) is set to 3 V above programmed output voltage using tracking circuit built around Q3.

The pre-regulator is powered by “off-the-shelf” AC/DC power module Mean Well model LRS-EPP-48 that comes with various certifications including CE, UL, etc. that can be checked on manufacturer’s web site.


Fig. 2: Power pre-regulator

Bias power supply

The bias power supply is built around low power buck step-down converter (IC2), and thanks to coupled inductor (TR1) it provides both positive and negative rails that are further regulated with simple linear regulators (IC5, IC6) to power all analog and digital logic with +/-5 V. For better separation between analog and digital power, +5 V is split with two ferrite beads (FB1, FB2) right on the IC5 output.

The IC2 also provides POWERGOOD signal that indicates MCU what is module’s power condition. It is related to UVLO (under-voltage lockout) functionality that is controlled with voltage divider consists of R13, R16. Therefore the step-down converter will cut-off power when input voltage drops below +26.4 V, and starts again when it rises above +27.3 V.


Fig. 3: Bias power supply, DIB interface

EEZ DIB interface

The DCP405 module interface with the MCU module is accomplished over the 20-pin 0.1” right angled header (X2). Since its power output has to be isolated (“floated”) all digital control lines has to be isolated. Therefore two high speed digital isolators (IC3, IC7) are used. Additionally, 2-to-4-line decoder (IC4) is also deployed because EEZ DIB v1.0 specification offers only two SPI CS (Chip Select) lines per module and the DCP405 comes with four SPI devices.

Onboard I2C EEPROM (IC8) provides storage for module-specific information such as its ID, calibration data, working hours counters, etc. Please note that it is on the A-side of the isolation barrier, because the same I2C bus is shared among all modules (that includes AUX PS module, too).

Power post-regulator

The post-regulator regulation (“pass”) element is PNP BJT, actually two of them (Q4, Q5) connected in parallel with current balancing power resistors (R25, R29). Their thermal coupling is also good since they are sharing the same heatsink and are mounted close to each other as shown on Fig. 4.

The output voltage is controlled by two control loops: constant voltage (by IC9A, IC9B), and constant current (by using IC10A and IC11). In general, only one can be active at a time. Diodes D11 and D13 ensure that the output signal from one of the control loops does not affect the other loop.


Fig. 4: Heatsink side view


Fig. 5: Post-regulator with down-programmer

The precision +2.5 V voltage reference (IC15, Fig. 6) is used for both control loops in supervising output voltage and current. Therefore, the gain in both control loops must be adjusted so the output range returns a positive value between zero and +2.5 V. That is done by selecting the feedback loop resistors for IC9B and IC11 which are connected as differential amplifiers. For example, if we’d like to have the output voltage in the range from zero to 40 V, IC9B’s gain must be 2.5 / 40 = 0.0625 (in effect, the output signal measurement must be attenuated by a factor of 16).


In practice, due to component tolerances, it is likely the highest values (e.g. 40 V) will not be reached, and a few tens of mV below maximum voltage will be the actual limit when the maximum DAC voltage is applied to the non-inverting input of IC9A.


The same problem can be expected on the other end of the voltage range; the minimum DAC voltage will not get the output voltage down to zero, but to only a few tens of mV above zero. This issue is more important, because it requires a negative DAC voltage – not possible with the DAC chip used (IC17, Fig. 6) without adding an additional operational amplifier. Fortunately such “shrinking of range” can be easily overridden with two simple changes:

  • at the high end, we need to change the gain factor, and
  • at the low end, move the reference ground potential from zero to, say, 50 mV (applied on IC9B and IC11 non-inverting inputs)

The voltage loop gain (for IC9B) is set to ~0.061 with a combination of 7.5 kΩ (for R42, R49) and 124 kΩ (for R47, R48). For the current loop (IC11), the gain is reduced from an “ideal” of 50 (i.e., 5 A across a 10 mΩ sense resistor gives 50 mV and 2.5 V / 0.05 V = 50) to 47.56 by using combination of 39 kΩ (R58, R65) and 820 Ω (R59, R68).


A new reference ground potential of about 50 mV is derived from a +2.5 V reference (IC15) by using the voltage divider R31, R38, and buffering it via IC10B. The offset on the lower programmed output value must be taken into account in firmware, however.

Current sensing and ranges

The output current is measured by the voltage drop across a current sense resistor (R61 and R67) for two ranges: LOW (up to 50 mA) and HIGH (up to 5 A). It is important to take into account any heating of the high range current sense resistor, since it decreases accuracy because its resistance is temperature dependent. Choosing a resistor with a low TCR even while keeping dissipation low will be best. Using the 10 mΩ the dissipated power will be 250 mW. The resistor chosen for R67 has a TCR of 20 ppm/oC (declared for 20 to 60 oC).

Selecting the current range is done by switching between two current sense resistors using MOSFETs Q12 and Q13 with low Rds(on) that is important when high range is selected to reduce the heating which might affect measurement precision regardless of the current sense resistor temperature stability (TCR).

Digital control

The post-regulator is an analog circuit controlled by analog control loops. Any control function done digitally (e.g., via MCU firmware) requires signal conversion. Four SPI devices are added to support this requirement (Fig. 6):

  • Dual channel 16-bit Digital to Analog Converter,
  • Four channel (multiplexed) 15-bit delta-sigma (ΔΣ) Analog to Digital Converter,
  • 16-bit I/O expander
  • Temperature sensor


Fig. 6: Digital control, temperature sensor, voltage reference and remote programming

Digital to analog converter (DAC)

The DAC (IC17) is used to control the voltage and current for the power supply. Using a SPI bus, the MCU communicates with the DAC to program a new voltage at the DAC’s outputs (U_SET and I_SET). This chip also includes a power-on reset circuit which ensures that the DAC outputs power up at zero, and remains there until an explicit command from the MCU firmware takes place.

The range of voltage the DAC can manage is determined by the voltage at its reference pin (Vref) which is connected to the precision voltage reference of +2.5 V (IC15).

Analog to digital converter (ADC)

The ADC (IC19) is equipped with a four channel input multiplexer, and can manage up to 2 000 samples per second. It’s used to measure voltage and current control loops levels (U_MON, I_MON), but also the DAC outputs (U_SET, I_SET). The ADC used is a 16-bit bipolar device which gives 15-bit resolution (positive half) of the full scale (the negative half is not fully used; it monitors to some extent down-programmer sinking).

16-bit I/O expander

An SPI I/O expander (IC14) is used to collect various digital signal inputs and to enable/disable various functions as shown in table below for both standard and basic model.




I/O name







Reverse remote sense polarity detected





CC (constant current) mode of operation is active





CV (constant voltage) mode of operation is active





Power good has been received (i.e. bias power is operational)





New A/D conversion data are ready





HW OVP circuit is tripped





Set the low current range resistor





Set the high current range resistor





Enable (or disable) the down programmer circuit





Enable or disable power output





Voltage remote sensing selection (internal / remote)





Voltage programming source selection (DAC / external)





Enable HW OVP circuit


Not used





Power output enabled (uncoupled)





Power output enabled (coupled)

Temperature sensor

On-board temperature measurement is used for software based OTP (over-temperature protection) and it is achieved using the dedicated SPI temperature sensor (IC16) that is positioned close to power pre-regulator switches (Q1, Q2). It provides temperature with ±2 °C (max.) accuracy from -40 °C to +85 °C.

Remote programming

It is already stated that output voltage is regulated with CV control loop that is consists of IC9A and IC9B that is programmed using the DAC’s U_SET output. Additionally, the DCP405 offers voltage programming by supplying a positive analog signal (+2.5 V for the full scale) on the push-in terminal input X3-1 (and X3-2 as return). Only one reference signal can be used at a time which is managed with an analog multiplexer/switch (IC17). The default setting is internal (i.e. DAC output). Analog programming is faster, but additional care must be taken to stay within the safe working range even though there is protective TVS diode ZD3.

Mode of operation detection and indications

When its output is enabled, the DCP405 can work in one of the following operational modes:

  • CV (constant voltage): the voltage control loop circuit (IC9) is setting the output voltage, and CV LED is active
  • CC (constant current): the current control loop (IC10A, IC11) is setting output voltages, and thereby limiting output current, and CC LED is active,
  • UR (unregulated, i.e. not regulated): neither the output voltage nor output current are controlling the DCP405’s output, and both LEDs are active. In normal operation this mode is entered for a very short time while regulation is changed from CV to CC mode or vice versa. However, if DCP405 stuck in this mode that is indication that regulation is not possible, i.e. the output cannot be set to programmed voltage or current.

The CC and CV circuits use comparators (IC20A, IC20B) that compare control loop outputs (U_SERVO, I_SERVO) against LOOP_CTRL signal, or simply the voltage difference on diodes D11, D13 that separates CV and CC control outputs. The signals produced are level shifted for TTL inputs (using the R84, R86 and R96, R100 voltage dividers).


Fig. 7: CV/CC detection and indication, OVP with triac/MOSFET crowbar

OVP crowbar

The OVP (over-voltage protection) circuit is added to act as a very fast protection in situations when output voltage erroneously rise above set value. It purpose is to protect DCP405 when e.g. battery or other power source is connected to the output terminals with voltage higher the programmed. It also protects connected load in case that something badly wrong is happened with the post-regulator that it voltage uncontrollably rises. The OVP circuit is consists of two main parts: fast comparator (IC21) and “crowbar” circuit where triac Q15 and MOSFET Q19 act as crowbar controlled by Q17 and Q20. Voltage divider R88, R92 connected to the output voltage sets comparator threshold that is set to about 5 % above set voltage.

Voltage sensing

Output voltage can be “sensed” locally or remotely. In the first case the sense inputs is connected to the power output (OUTF+, POST_OUT-). In the second case, the connection is done via the load’s input terminals using a separate cable connected directly to the load’s terminals. The firmware manages this through the signal relay (K1). The remote sensing cable can be shielded, but the cable shield must be connected to an PE terminal (X3-3) only on one end to avoid ground loop problems.


Fig. 8: Remote sensing reverse polarity protection, output terminals, remote sense relay

Remote voltage sensing is necessary to insure precise output voltage programming regardless of output current. It is essentially impossible to deliver power to a load with 1 mV precision without remotely sensing the voltage at the load’s input terminal, perhaps at the end of a cable just half a meter away from the output terminals. Output currents of a few amperes through insufficiently robust connection cables, or to load terminals with a resistance in miliohms, could easily produce a voltage drop across the cable from a few milivolts to even a few hundred milivolts. When using remote sensing, the output voltage actually supplied to the load is not measured at the power outputs but at the connected load terminals. The CV control loop (IC9B, Fig. 5) can compare that voltage against the programmed one, and all the voltage drops along the cable will have no effect. The technique is generally referred to as “Kelvin sensing”, or 4-wire measurement technique.

Remote sense reverse polarity detection and protection

Exposing the voltage sensing inputs to some external connection has disadvantages, however. The major one, not always obviously so, is that any or both of the sense cables can be mistakenly connected in a reverse polarity fashion that can ends up with unexpected results for the connected load. Internally, local sensing will be correct because the signal relay (K1) will insure the correct connection to the voltage control circuitry.

When remote inputs are disconnected from the load input power connectors, the DCP405 can still work safely because they will still be properly polarized thanks to R105, R106 and R111, R113. There will be only a small deviation in output voltage because of the addition of about 2 x 1 kΩ to the input voltage divider of IC9B.

However, if a sense wire is connected to the opposite polarity power output, there will be a serious fault condition for the input signal will have no relation to the channel attempting to ensure correct voltage and current to the load. There will be a maximum error bias within the CV control loop; it will try to compensate, and the end result will be the maximum possible voltage on the output (i.e. 40 V). This could easily result in irreparable damage to the connected load, especially if the set output current is high.

To avoid some of these unfortunate events, a reverse polarity detection circuit (Q22, Q24) has been added in parallel with the remote sensing inputs. It has two purposes: first, to immediately decrease output voltage, and to generate a SENSE_ERR signal (Q23) that will notify MCU to immediately disable output.

Reverse polarity power output protection

Mistakenly connected load such as battery to the power terminals could results with damage of one or more sections. Therefore TVS diode (ZD5) is connected to the outputs. Replaceable fuse (F2) connected in series limits stress applied on diode.

PCB layout

Fig. 9: PCB Top (cyan) and bottom (blue) layer



DCP405 is an open hardware design: schematics, PCB layout, Gerber files and BOM are available on GitHub.


EEZ DIB DCP405 power module schematics r3B3

PCB color: Blue, CE: Yes

Power pre-regulator: LM5145

Status: Active

Version: r3B3
Published: October 20, 2020
EEZ DIB DCP405 power module schematics r2B11

Crowdfunding edition (PCB color: Green, CE: No)

Power pre-regulator: LTC3864

Status: Retired (GitHub archive)

Version: r2B11
Published: August 28, 2020