A Smaller DCC Amplifier: The AdaFruit DRV8871


My default DCC amplifier solution is the Cytron 13A DC Motor Driver MD13S, available on Amazon and other sources. The MD13S provides more output (13A continuous) than almost any amplifier available for dead-rail use. However, the Cytron’s size (33mm(W) x 61mm(L) or 1.3”(W) x 2.4”(L)) may be an issue for some applications.

In searching for a more miniature DCC amplifier for the ProMini Air (PMA) receiver, I came across the Adafruit DRV8871 DC Motor Driver Breakout Board (1”(L) x 0.8”(W) x 0.4”(H)) with a maximum output of 3.6A: good specs in a small package.

You can obtain this device from the following sources:

However, the DRV8871 cannot be used “out of the box.” Some slight modifications are necessary, as described next.


The DRV8871 must have two opposite-polarity inputs. The PMA’s +5V logic DCC output is input to the DRV8871 on IN1. To provide an inverse input on the DRV8871’s IN2 input, I used a 2N2222 “inverter” to invert the PMA’s +5V logic DCC output. The photos below show how this inverter is constructed and interfaced with the DRV8871. 

First, I added a 30K resistor parallel to the board-mounted 30K current-sense resistor to drop the total current sense resistance to 15K, allowing the DRV8871 to produce its maximum current of 3.6A. 

Next, I soldered a 1K resistor, RB, to a shortened lead on the transistor Base of a 2N2222 NPN transistor. Then I soldered (see picture below), from bottom to top, the transistor Collector (IN2), resistor RB (IN1), and transistor Emitter (GND) in place with the transistor legs soldered flush with the bottom of the PCB. I passed resistor RB’s free end through the IN1 hole and back out and soldered it to IN1. I soldered the Bk (PMA GND) to the emitter leg, Ye (PMA +5V logic DCC) is soldered to the resistor RB’s extended lead connected to IN1 and soldered Wh (PMA +5V) to resistor RC (1K), whose opposite end I soldered to the collector’s leg. That’s it for the modifications!

Modifications to create opposite polarity inputs

A bottom view shows how RB connects to IN and Ye (PMA +5V logic DCC).

Bottom view of modifications

Next, I wrapped the DRV8871 PCB with a large diameter heat shrink applied over the input components. This arrangement provides a compact DCC amplifier capable of delivering 3.6A. 

The product in use

Below is an oscilloscope trace of the input and output of the DCC amplifier. As you can see, the amplified waveform (blue) matches the input waveform (yellow) well.

Comparison of the ProMini Air receiver’s input (yellow) to the DRV8871’s and the DRV8871’s DCC Track Right output (blue) to the DCC decoder

Below: The amplified Track Right (blue) and Track Left (yellow) output by the DRV8871 demonstrate proper opposite-polarity DCC is produced.

The DRV8871’s Track Right (blue) and Left (yellow) outputs demonstrate proper opposite-polarity, full voltage DCC is delivered to the DCC decoder.

Surge Current Protection

When power is turned on, some decoders, such as those made by Zimo, induce large “surge currents” that will cause the DRV8871 amplifier to shut down. Other decoders, such as those made by ESU (LokSound), do not.

There is a simple solution to prevent possible surge current-induced shutdown by placing a low resistance, high wattage resistor in series with one leg of the DCC8871’s amplifier output. A 1 Ohm, 2 Watt resistor appears to work well, obtained from numerous sources. CVP Airwire documentation for their CONVRTR-25 receiver/amp recommends the same solution. See the photos below. All DRV8871 amplifiers obtained from the author will provide this resistor.

A 1 Ohm, 2 Watt resistor connects to one output of the DRV8871 amplifier to prevent large surge currents caused when the decoder turns on.
DRV8871 amplifier with surge current protection


The Adafruit DRV8871 DC Motor Driver Breakout Board provides the following advantages:

  • small size: 1” x 0.8”
  • reasonable cost: less than $10 US directly from Adafruit
  • adequate power: 3.6A max

Only a small amount of modification is required to make the DRV8871 usable with the ProMini Air receiver to provide a compact DCC amplifier for dead-rail applications. I hope this offering provides you with more amplifier options!

The modified DRV8871 is available directly from the author, with a modest mark-up from the unmodified DRV8871’s cost.