Current version



Completed, ready for production (for EEZ H24005 model)

PCB manufactured

Yes (r5B12)

PCB assembled

Yes (r5B12)


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

File repository
(include Eagle, Gerber, BOM files and SPICE simulations)


TAPR v1.0


C4.1 (Collective Code Construction Contract)

Revision history

2017-03-24: r5B12a

  • Fan generates EMI, isolated fan supply, +5 V SMPS replaced with AC/DC module (#9)
  • Power relay MCU controlled (#23)
  • Ethernet LEDs connected wrong (#28)
  • RJ45 modular jack replacement (#34)

2017-10-11: r5B11

  • Added capacitor between ground and Earth (#17)

2016-10-24: r5B10

  • Side 2 of USB isolator has now power connected (#4)
  • Removed +Vcc (pin 1) on USB header X9 (#10)

2016-07-24: r5B9 (Version 2.0 on GitHub)

  • Replaced PCB iron core transformer with AC/DC module 12 V/5 W that support 115 / 230 VAC power input (bridge rectifier, filter capacitor and 12 V LDO for fan is not needed any more)
  • Changed Ethernet RJ-45 connector model and pinouts (X7)
  • Changed AC power input connector type (X4)
  • Added triac pull-down resistors R110, R111
  • Optimized number of parts size and values, renumbered reference designators

2016-06-14: r5B8

  • Master sync and power connector merged into one 10-pin IDC
  • Added place for optional USB isolator (ADuM3160)

2016-05-26: r4B43 (Version 1.0 on github)

  • Correction of swapping pins introduced in r4B40

2016-05-01: r4B42

  • Changed ramp capacitor from 820p to 1n
  • Fan LDO replaced with MC7812

2016-04-06 r4B41

  • Added fan control
  • Power connector changed

2016-01-27 r4B40

  • A1 and A2 pins swap on triac Q1 and Q2 to lower required gate current
  • KK1 heatsink type changed

2015-11-14 r4B39 – First public release


Fig. 1: AUX PS module assembled (PCB r5B12)


The Auxiliary power module contains the following circuits:

  • AC power input protection,
  • In-rush current limitation and stand-by circuit for main transformer or AC/DC power modules,
  • Dual output AC/DC module for powering the Arduino shield module (+5 V) and cooling fan (+12 V),
  • DC fan controller
  • Ethernet and USB connectors that are exposed on the enclosure’s rear panel and
  • digitally controlled power relay (DOUT2)


Fig. 2: AC input, soft start and dual output power supply

AC input protection and soft-start circuit

The auxiliary power module is currently the only one that is in direct connection with AC mains voltage.

WARNING: a special caution is required while this module is operational.

The AC input lines protection is consists of bidirectional TVSs, MOVs and a SAR. That improves immunity against various spikes and disturbances that can appear on the PSU input. They are dimensioned to withstand 230 VAC and could be modified for better sensitivity if the PSU is planned to be connected onto 115 VAC mains voltage. Between this module and AC mains fused IEC inlet is required (optionally with built-in or separate AC switch and EMI filter).

The in-rush current limiter provided soft-start of the mains power source, especially if toroidal transformer is used that can drawn shortly very high current until its core becomes magnetized. If AC/DC power modules are used instead of transformer this limiter will provides even smoother power-up by supplementing the effect of in-rush limiter that is usually installed in such items. In-rush current limitation is accomplished by placing a power resistor (R103, Fig. 2) in serial with load (transformer or AC/DC modules) at the beginning of the power-up sequence. When power up current in-rush (within 100 ms, Fig. 3 magenta trace) is finished we can disconnect R103 to avoid its further heating and eventually permanent damage. Connection of R103 is managed by MCU that controls triac Q21 with PWR_SSTART signal (Fig. 3 cyan trace). Shortly after input current is normalized, an additional circuit in parallel with that one is established by firing Q22 using PWR_DIRECT signal (Fig. 3 blue trace). Finally the former circuit with R103 is disconnected and AC mains power up sequence is completed.

Note that Q21 and Q22 are controlled with two different type of opto-triac: first with Zero-crossing and another with nonzero-crossing (or random) device. That means that power up sequence could start only when mains voltage is minimal (zero) and R103 bypassing can happen in any moment long after the transformer’s core is magnetized.


Fig. 3: Mains transformer line in-rush current on power up with active soft-start

Obviously above mentioned circuit that is used for power-up can be used for power-down or Stand-by action. That can be done by simply pushing PWR_DIRECT signal low or to remove power from the MCU. Because of former case the standby switch (SW1, see Fig. 4) on the Arduino shield do not need to be for a high voltage nor dangerous AC mains voltage will be present on the Arduino shield (and front panel).

Dual output AC/DC module

PCB mounted 5 W AC/DC module is used for supplying separately Arduino shield board and cooling fan. That two power outputs are isolated (no common ground exists) as mean of suppressing EMI generated by fan. Due to that interfacing the fan are also isolated using two optocouplers (OK3, OK4).

10-pin IDC connector (X5) is used for powering Arduino shield board as for interfacing with cooling fan, soft-start circuit and power relay DOUT2.

Fan speed control

When PSU works continuously with high output currents additional cooling is required and for that an external Ø60 mm DC fan is used. Powering the cooling fan is regulated with MCU using isolated AUX_FAN_CTRL line that is programmed to generate a PWM signal that can be used to adjust output power using Q23 (and hence fan speed is changed) without excessive power loss like in case of linear regulation. To decrease spikes that comes from fan and could have negative effect on the Q23 and EMI a few additional parts are added (reverse polarized D11, RC snubber R120, C79 and LC filter L5, C78).

Fan sense

Selected cooling fan has 3-wire interface while two is used for power and third for tachometer (tach) output. It’s forwarded to AUX_FAN_SENSE MCU input (via Q24, OK3) with level shifting to 3.3 V (R117, R122).

The tach output generate rectangle waveform (50% duty cycle and 2 pulses represents one revolution) when fan is powered with DC source. But PWM is not a DC source and tach signal is chopped by the PWM drive signal, since power is not always applied to the fan. The lower the speed the higher is distortion and it becomes completely unusable pretty fast. The Fig. 4 shows signal distortion when speed is decreased for only 10% from the nominal value of 4500 rpm.


Fig. 4: PWM powered fan tach output (4050 rpm, timebase: 2 ms)


Fortunately, that issue can be efficiently resolved with so-called “pulse stretching” – switching the fan on (i.e. PWM=255, for 8-bit drive) long enough to gather the tach information. That can increase audible noise if on period last too long. Also on the other side if its too short for the expected frequency range the results will be inaccurate. On Fig. 5 is shown correct tach output waveform for the duration of 25 ms when DC power is applied.


Fig. 5: Fan tach output with "pulse stretching" (4050 rpm, timebase: 5 ms)

Ethernet and USB connections

This module is intended to be mounted directly on the inner side of enclosure’s rear panel. In that way Ethernet (X7) and USB (X11) connector could be directly mounted on the PCB to simplify the cabling. In this way is also possible to mount optional line protection devices close to the place where cables enters the enclosure. Ethernet connection to the Arduino shield is provided via X8 while for the isolated USB connection (IC17) with the Arduino board a X10 is used.

The distance between rear panel and PCB is maintained with five 14 mm M3 metal spacers that provide good mechanical strength while external cables are plugged in and out.

Digitally controlled power relay (DOUT2)

AUX PS module has one MCU controlled (via Q25) power relay with both NO and NC contacts accesible from the enclosure's rear panel (X6). Both contacts are MOV protected and no RC snubber exists that could be benefical for working with AC loads. Therefore it has to be applied externally.


Fig. 6: Ethernet modular jack, isolated USB and DOUT2 power relay

PCB layout

The auxiliary power module is assembled on the 115 x 74 mm two-layer PCB designed in Eagle without autorouter assistance. There is a few places on the PCB that deserve additional attention:

  • proper spacing between opto-triac’s low and high-voltage sections,
  • AC power traces width and spacing and
  • no trace is routed on top side in the KK1 heatsink area.


Fig. 7: PCB layout r5B12a (both sides)


SPICE model

Soft-start sequence v3a

LTspice model of soft-start accomplished with sequential firing of two triacs

License GNU GPLv3 Author This email address is being protected from spambots. You need JavaScript enabled to view it. Website Website Date Tuesday, 12 January 2016 09:09 Language  English File Size 9.99 KB Download 242 Download
Joomla templates by a4joomla