Silicon ChipMighty USB-C Bench Supply, Part 1 - October 2026 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: A self-made trap for RAM manufacturers
  4. Feature: Improvised Electronics, Part 2 by Dr David Maddison, VK3DSM
  5. Project: Mighty USB-C Bench Supply, Part 1 by Tim Blythman
  6. PartShop
  7. Project: Programmable USB-PD Modules by Tim Blythman
  8. Feature: Motor Control, Part 1 by Andrew Levido
  9. Project: Audio Spot Frequency Oscillator by Richard Kabzinski
  10. Feature: A guide to EV Charging by Geoff Graham
  11. Subscriptions
  12. Project: Phenomenal Pinball Machine, Part 5 by Phli Prosser
  13. Serviceman's Log: ELSEC 764 UV Monitor Repair by David Worboys et al
  14. PartShop
  15. Vintage Radio: The Philco Model 38-7 by Dr Hugo Holden
  16. Market Centre
  17. Advertising Index
  18. Notes & Errata: Simple USB Power Monitor, June 2026; Simple LC Meter, May 2026
  19. Outer Back Cover

This is only a preview of the October 2026 issue of Silicon Chip.

You can view 36 of the 104 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Articles in this series:
  • Improvised Electronics, Part 1 (September 2026)
  • Improvised Electronics, Part 2 (October 2026)
Items relevant to "Mighty USB-C Bench Supply, Part 1":
  • USB-C Power Supply main PCB [04107261] (AUD $5.00)
  • USB-C Power Supply control panel PCB [04107264] (AUD $5.00)
  • PIC16F18146-I/SO programmed for the USB-C Power Supply [0410726A.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC16F18115-I/SN programmed for the USB-C Power Supply [0410726B.HEX] (Programmed Microcontroller, AUD $10.00)
  • 0.91-inch white OLED with 4-pin I²C interface (Component, AUD $7.50)
  • TH transistor - 2SC5242-O(Q)‎ 230V 15A NPN (TO-3PN) (Component, AUD $8.00)
  • USB-C Power Supply kit (Component, AUD $95.00)
  • USB-C Power Supply firmware (Software, Free)
  • USB-C Power Supply PCB patterns (PDF download) [04107261-2] (Free)
Articles in this series:
  • Mighty USB-C Bench Supply, Part 1 (October 2026)
  • Programmable USB-PD Modules (October 2026)
Items relevant to "Programmable USB-PD Modules":
  • USB-C Power Supply main PCB [04107261] (AUD $5.00)
  • USB-C Power Supply control panel PCB [04107264] (AUD $5.00)
  • PIC16F18146-I/SO programmed for the USB-C Power Supply [0410726A.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC16F18115-I/SN programmed for the USB-C Power Supply [0410726B.HEX] (Programmed Microcontroller, AUD $10.00)
  • 0.91-inch white OLED with 4-pin I²C interface (Component, AUD $7.50)
  • TH transistor - 2SC5242-O(Q)‎ 230V 15A NPN (TO-3PN) (Component, AUD $8.00)
  • USB-C Power Supply kit (Component, AUD $95.00)
  • USB-C Power Supply firmware (Software, Free)
  • USB-C Power Supply PCB patterns (PDF download) [04107261-2] (Free)
  • Preassembled USB-C PPS control module (Component, AUD $25.00)
  • USB-C PPS control module PCB pattern (PDF download) [04107265] (Free)
Articles in this series:
  • Mighty USB-C Bench Supply, Part 1 (October 2026)
  • Programmable USB-PD Modules (October 2026)
Items relevant to "Audio Spot Frequency Oscillator":
  • Audio Spot Frequency Test Generator PCB [04111261] (AUD $5.00)
  • PCM5102 DAC module (Component, AUD $10.00)
  • NJM5532DD ultra-low-noise, low-distortion dual op amp (Component, AUD $5.00)
  • NJM5532D low-noise, low-distortion dual op amp (Component, AUD $3.50)
  • 0.96in white OLED with SSD1306 controller (Component, AUD $10.00)
  • 0.96in cyan OLED with SSD1306 controller (Component, AUD $10.00)
  • Audio Spot Frequency Oscillator firmware (Software, Free)
  • Audio Spot Frequency Test Generator PCB pattern (PDF download) [04111261] (Free)
Items relevant to "Phenomenal Pinball Machine, Part 5":
  • Pinball Machine Control PCB [08107261] (AUD $25.00)
  • Pinball Machine Power Supply PCB [08107262] (AUD $7.50)
  • Pinball Machine Player LED PCB [08107263] (AUD $2.50)
  • Pinball Machine Score LED PCB [08107264] (AUD $5.00)
  • Pinball Machine LED Output PCB [08107265] (AUD $2.50)
  • Pinball Machine Bumper LED PCB [08107266] (AUD $5.00)
  • Pinball Machine Cascade LED PCB [08107267] (AUD $5.00)
  • Pinball Machine Switch Input PCB [08107268] (AUD $2.50)
  • Pinball Machine General Input PCB [08107269] (AUD $2.50)
  • Pinball Machine High Current Interface PCB [08107260] (AUD $2.50)
  • Pinball Machine Rollover Interface PCB [08117261] (AUD $2.50)
  • Pinball Machine Bumper Driver PCB [08117262] (AUD $5.00)
  • 5m of 10-way ribbon cable (Component, AUD $10.00)
  • Pinball Machine Control Board short-form kit (Component, AUD $150.00)
  • Pinball Machine Power Supply short-form kit (Component, AUD $50.00)
  • Pinball Machine cable and connector set (Component, AUD $65.00)
  • Software and 3D printing files for Phil Prosser's Pinball Machine (Free)
  • Phil's Phenomenal Pinball Machine PCB patterns (PDF download) [08107260-9, 08117261-2] (Free)
Articles in this series:
  • Phenomenal Pinball Machine, Part 1 (June 2026)
  • Phenomenal Pinball Machine, Part 2 (July 2026)
  • Phenomenal Pinball Machine, Part 3 (August 2026)
  • Phenomenal Pinball Machine Part 4 (September 2026)
  • Phenomenal Pinball Machine, Part 5 (October 2026)

Purchase a printed copy of this issue for $14.00.

Mighty USB-C Part 1 / 2 Bench PSU By Ti m Bly thm The Mighty USB-C Bench an PSU leverages USB-C’s Power Delivery features to create an efficient adjustable supply that can deliver up to 20V at 2A. It’s extremely portable and has many handy features, including an adjustable current limit. Delivers up to 20V at 2A (if the USB power source is capable) Compact case measures 94 × 83 × 30mm Detailed OLED display plus LED status Rotary encoder for tactile voltage and current control Highly configurable for efficiency or low-noise operation Software features include fuse emulation Detailed USB-PD source information T here is an increasing amount of inexpensive USB-C power supplies from local retailers, which we can use to supply much higher voltages and currents than legacy 5V USB. The original USB-PD (Power Delivery) standards allow a variety of voltages up to 20V at up to 3A; the newer USB-PPS (Programmable Power Supply) offers even more fine-grained control. 28 Silicon Chip So we thought it’d be very convenient to have a light, portable power supply you can plug into a range of USB ports to operate as a simple but useful bench supply. That’s exactly what this project delivers. USB-PD dates back to 2013 and USB-PPS was introduced in 2017, so they are not new standards. It takes time for products to be developed, released and adopted; we have now Australia's electronics magazine reached the point that such power supplies are easy to come by, meaning that a design using these features is practical. In a sense, this project supersedes the Dual-channel Breadboard PSU from December 2022 (siliconchip.au/ Series/401). That small and simple device acted as a basic bench power supply for circuits on a breadboard or in similar prototyping situations. It used a voltage-boosting module to derive up to 15V from a 5V USB input at low currents and could also utilise fixed DC supplies like plugpacks. It was a strictly linear design that could manage 1A output with a DC supply, or much less with a USB input. The Breadboard PSU did not include a microcontroller; it used potentiometers for its setpoints and analog circuitry to drive its outputs. A separate, optional display unit (driven by a microcontroller) monitored the PSU and showed its status on an LCD panel. Despite its simplicity, we use the prototype from time to time; the ubiquity of 5V USB means that there is never any problem finding a suitable power source. This new design can deliver considerably higher voltages and currents than the Breadboard PSU, and it’s very convenient due to the fact it can be powered from a range of USB-C power supplies (including some power banks) and because it’s small, light and highly portable. It also has quite a few new features, like a load switch, automatic thermal shutdown and a ‘circuit breaker’ mode. Hybrid power supplies To understand why a variable supply voltage is so useful (as provided by USB-PD), consider ‘hybrid’ PSU designs. A traditional linear power supply design, like our Breadboard PSU or the 45V/8A Bench PSU from October-December 2019 (siliconchip. au/Series/339) must be capable of dissipating a lot of power. The 45V/8A Bench PSU might need to dump nearly 400W from its heatsink during operation under some conditions. Our design needs to handle this dissipation and ensure the circuitry does not fail from overheating. As a result, the heatsink and fans for that design took up a considerable amount of space in the large enclosure. siliconchip.com.au Fig.1: the requested supply voltage (red area) for DC, USB-PD and USB-PPS sources when a particular output voltage (blue area) is selected. The amount of red visible reflects the voltage that needs to be dropped across the output transistor and thus its dissipation. Less red area is preferable, which is best achieved using a USB-PPS source. The worst-case scenario for such a device is a low output voltage at high current. The circuitry must drop the voltage from the input supply (over 50V for the 45V/8A Bench PSU) to nearly 0V at the maximum current, thus dissipating a lot of power. In contrast, a hybrid PSU includes switch-mode circuitry to provide a variable voltage at the input of the linear section that is high enough to allow proper regulation but no higher. Our Hybrid Bench Supply from April-June 2014 (siliconchip.au/Series/241) can manage about half the output power of the 45V/8A Bench PSU but fits in a case that is about an eighth the size! Pure switch-mode designs are possible, but can suffer from a noisy output, particularly at the switching frequency. The presence of a linear stage after the switch-mode stage in a hybrid design can help to reduce undesirable noise and also speeds up the onset of current limiting in response to a rapidly changing load impedance. The Mighty USB-C Bench PSU is a hybrid design that uses the variable voltage capability of modern USB-PD devices to feed a linear output stage at a level that minimises dissipation. It provides the sort of features that are expected from a bench PSU while using ubiquitous USB power. The Mighty USB-C Bench PSU looks much more polished than the Breadboard PSU and, thanks to the developments in USB power sources, is considerably more powerful too. With much of the circuitry handed off to a separate USB power supply, the Mighty USB-C Bench PSU is tiny, fitting in the palm of the average hand. Its specified output (20V at 2A) is quite modest compared to some of the other units mentioned here, but we siliconchip.com.au are limited by the capabilities of readily available USB-C power supplies. Control algorithm Fig.1 shows graphically how a USB-PD or USB-PPS based power supply can be much more efficient and compact than one running from a fixed DC supply. The red area shows the amount of voltage that must be dropped by the output transistor to achieve the voltage setpoint. This voltage, multiplied by the output current, is the amount of power that the PSU must dissipate during normal operation. So the smaller the red zone, the less power the pass transistor has to manage. A USB-PD power supply can provide one of several discrete voltage output levels. We choose the lowest level that allows enough headroom for the linear regulator to avoid dropout. That provides a significant reduction in the red area. USB-PPS has more fine-grained control (typically steps of 100mV), so it can operate much closer to the ideal level, shrinking the red area even further. Note that a DC supply needs to drop the most voltage at low output voltages, while the USB-PPS supply allows a small but uniform amount of headroom across most of the working range, since it is finely programmable. The USB-PD supply only offers a few discrete steps, but still outperforms the DC supply. In operation, the supply chooses a preferred USB source voltage depending on several settings and live readings. The source is not The Mighty USB-C Bench PSU can be so compact since it outsources the role of AC-DC conversion to an external USB-PD or USB-PPS power supply. Australia's electronics magazine October 2026  29 permitted to supply less than 5V, since that would prevent proper operation of the logic circuitry. Also, the output is capped at whatever maximum the source can supply. You can see these two last behaviours in the horizontal regions of Fig.1(c). The ideal source voltage is based on either the setpoint or output voltage, plus an amount known as the Voltage Headroom. The next highest available PDO (power data object) voltage above this is chosen for USB-PD supplies; you can see this changing behaviour in the stepped shape of Fig.1(b). A USB-PPS supply allows the PDO voltage to be chosen to the nearest 100mV. If no PDO is found, the highest available is chosen, as long as it is at or below 25V. Different PDOs will typically have different current limits, so the achievable current setpoint might change as the voltage setpoint is adjusted. If the Headroom is relative to the setpoint, the PSU will respond quickly to changes, even if current limiting occurs. However, it may dissipate more power while current limiting is active, since the source voltage does not reduce, even if the output voltage drops. Setting the Headroom relative to the output voltage will allow efficient operation (even when limiting is active), but that might result in it being slower to recover from current limiting, since the algorithm then limits the preferred voltage to a lower value than it would with the setpoint. Effectively, the output slowly ramps up on recovery as allowed by the Headroom. Along with numerous other parameters, the Headroom is adjustable, so the behaviour of the USB-C PSU can be optimised for different scenarios and to favour efficiency or response time as needed. Design considerations To interface with a USB-C power supply, we need some circuitry that can request an appropriate voltage from it. There are modules available that can do this, including some based on the HUSB238 USB-C power delivery sink controller IC. Suitable modules include the Adafruit 5807 and Jaycar’s PP2081 (www.jaycar.com. au/p/PP2081). The HUSB238 chip cannot handle USB-PPS, so we have also designed our own compatible module using the 30 Silicon Chip AP33772S USB-C power delivery sink controller IC, which can. Since these modules are quite interesting in their own right, we have described them in a separate article, starting on page 38. You can use our module or one of the commercial modules mentioned above for the USB-C PSU. You can even use a pure DC power source, although you will miss out on the efficiency gains that a hybrid device offers. Because the AP33772S is only available as a QFN (quad flat no-lead) part, which is tricky to hand-solder, we have designed the module for assembly by JLCPCB. In other words, you can purchase the module fully assembled. We recommend you check out that article, if you have not already done so, since it provides more detail on the operation of these power delivery sink controller modules. There is also an explanation of some of the terminology that relates to USB-C Power Delivery (PD) and Programmable Power Supply (PPS) modes. The 2022 Dual-channel Breadboard PSU was intended to be as straightforward and inexpensive as possible. We have the same aim with the USB-C PSU design. There are no obscure parts; the AP33772S IC is the most unusual, but it is readily available from suppliers like DigiKey, Mouser and LCSC (the component supply part of the JLCPCB group). The basic operation is similar to the Breadboard PSU in that a pair of reference voltages are used to set the output voltage and current limit. A dual op amp and some extra circuitry (mostly passives) monitors the voltage and current signals to drive a power transistor as the pass element. The USB-PD modules have an I2C interface, so a microcontroller is necessary. Using a trusty PIC16F18146 8-bit microcontroller adds more than enough smarts to provide a detailed user interface. All the voltage regulation and current limiting happens in the hardware around the op amp, so the core functions are not limited by the software speed. The presence of the PIC16F18146 allows us to provide many other features; for example, a relay can be used to manually switch the USB-C PSU’s output. Combined with a thermistor as a temperature sensor (read by an analog-­ to-digital converter in the micro), the relay can also provide an automatic Australia's electronics magazine safety shut-off if the temperature rises too high or other problems occur. Circuit details Figs.2 & 3 show the complete circuit of the Mighty USB-C Bench PSU. Fig.2 contains all the parts on the main PCB, while the Fig.3 components are on a separate PCB that forms the front panel. The two are connected by a sixway cable from CON1 to CON101. The main voltage control and current limiting is based around IC1, a common LM358 op amp. IC1a performs the voltage control using NPN transistor Q1 (fed from the POWER+ rail) as an emitter-follower to provide current gain. The output from Q1’s emitter passes through a 50mW shunt resistor for current sensing and into the 10kW/1kW divider, which in turn feeds back to IC1a’s inverting input as Vsignal. The control voltage, Vset, is presented to IC1a’s non-inverting input via a 1kW resistor so that the op amp’s inputs see a similar impedance. With the op amp in control, the voltage at the two inputs is the same, meaning that the voltage at the top of the 10kW/1kW divider is 11 times that at the pin 3 non-inverting input. The 50mW shunt resistor is monitored by IC2, a differential amplifier with a gain of 20. Thus, 1A through the shunt resistor results in 1V appearing at IC2’s pin 4. The Isignal line is sent to the non-inverting input of IC1b, which forms the current-limiting part of the circuit. A voltage, Iset, is supplied to IC1b’s inverting input. The output of IC1b connects to NPN transistor Q2 via a 100kW resistor. Q2 has its emitter connected to ground and its collector to the point where the voltage control signal is fed into IC2a. When Q2 switches on, its collector is pulled to ground, reducing the voltage control signal. When the current signal from IC2 rises above the Iset reference, IC1b’s output voltage rises, switching on Q2, reducing the voltage setpoint and thus the output voltage to bring the current under control. The principle of the circuit so far is much the same as the Dual-channel Breadboard PSU, although it only has one channel rather than two. Note that Q2’s base is connected to IC3’s pin 18 via a 10kW resistor. This is primarily so that the microcontroller can monitor the voltage at this point. If siliconchip.com.au Fig.2: this is the part of the circuit on the main PCB; CON1 here connects to CON101 in Fig.3. Two microcontrollers are used; IC3 is the main controller, while IC4 is used mostly for its DAC feature and to control the boost regulator that produces the OA+ op amp supply. The red dotted line from CON5/CON6 to CON2 shows the main current path through the circuit. Q2’s base is near 0.6V then Q2 is conducting and pulling down the voltage reference at IC1’s pin 3, so current limiting is occurring. If Q2’s base is near 0V, there is no current limiting. Relay RLY1 is used to switch the output to screw terminals CON2. RLY1 is in turn controlled by NPN transistor Q4, with back-EMF suppression diode D2 protecting Q4 when the relay switches off. Schottky diodes D4 and D5 protect the circuitry in case the load tries to pull the output below GND or above the positive supply rail. siliconchip.com.au IC1 and IC2 have the necessary supply bypassing capacitors, while the capacitors between the op amp outputs and inverting inputs provide negative feedback to suppress any tendency for the circuit to oscillate. The feedback loop for the current has substantial gain, hence the 10nF feedback capacitor there. LM358 op amp IC1 has some properties that are critical to the operation of the USB-C PSU. Firstly, its inputs and outputs can both operate near its negative rail. Since the signals are Australia's electronics magazine referenced to circuit ground (and will come close to ground at times), these levels must be within the common-­ mode input range of the device. To assist with operation near the negative rail, the feedback voltages are biased slightly upwards via 220kW resistors to the output of 3.3V regulator REG1. A 0V or 0A output actually registers at around 15mV on the Vsignal and Isignal lines. This keeps the op amp away from the limits where the behaviour might become non-ideal. October 2026  31 The output behaviour of IC1 is not so critical, as Q1’s base-emitter voltage drop means that even with a 0V output, the op amp’s output does not need to get close to its negative rail. The op amp’s positive rail is a different matter, as we need enough voltage for IC1 to drive Q1’s emitter near to the POWER+ rail. The positive rail output swing of IC1 is a few volts less than its supply, and we need to compensate for the ~0.7V base-emitter drop of Q1 and the voltage across its 47W base resistor. Thus, a separate OA+ supply is provided, which is above the POWER+ voltage. We will see where the OA+ voltage and the POWER+ rail come from shortly. Main microcontroller IC3 is an 8-bit PIC16F18146 microcontroller with 20 pins. It includes several handy analog and digital peripherals. It is supplied with the usual support circuitry of a 100nF bypass capacitor on its supply rails (+5V and GND), a 10kW resistor pulling up its MCLR pin, with these and the other programming pins (PGD/PGC) connected to header CON3 for programming and debugging. In terms of peripherals, it includes an 8-bit (256-step) digital-to-analog converter (DAC) that we use to provide the Vset voltage. The DAC is referred to an internal 2.048V reference with 8mV steps, meaning that the PSU output can be controlled up to a nominal 22.4V (2.048V × 11) in 88mV steps. This DAC output is available at pin 17. While there are two 8-bit DACs in the PIC16F18146, only one can be connected to an external pin. The other DAC is referred to IC3’s supply voltage and set to code point 32, or ⅛ of the supply. The internal analog-to-digital converter (ADC) is configured to use the internal 4.096V reference, so the chip can measure its own supply voltage without any external components. The ADC is also used to measure a number of other signals, including those relating to the output circuitry, such as Vsignal, Iset and Isense on pins 14, 15 and 16. Pins 10 and 11 (POWER_ SENSE and OA_SENSE rails) also measure other analog voltages. The POWER+ and OA+ rails voltages are monitored via 10kW/1kW dividers in similar fashion to the output voltage. They have 100nF capacitors on their lower legs to provide some low-pass filtering. 32 Silicon Chip Tsense (on pin 8) is another analog signal formed from a divider made of a 10kW NTC (negative temperature coefficient) thermistor and a 2.2kW resistor; this also has a 100nF capacitor for filtering. The lug-type thermistor is mounted on Q1 and connected to the main PCB at CON4, for sensing Q1’s temperature. Second microcontroller As mentioned above, only one of IC3’s DACs can be fed outside the chip. Since that is providing Vset, we need another way to control the Iset current-­ limit determining voltage. External DAC ICs exist, but typically have a 3-wire SPI interface, and we were already running out of pins on IC3. Instead, we have employed IC4, a PIC16F18115 microcontroller, to provide the second DAC channel. The PIC16F18115 is just as cheap as any of the DAC chips we could find and, like IC3, it has an internal 2.048V reference, so it incorporates all the features we need to work as a DAC. IC4 provides the current control voltage ISET_DAC from its pin 5. It is controlled by IC3 via a single-wire asynchronous serial (UART) interface from pin 9 on IC3 to pin 3 on IC4. Like IC3, IC4 is powered from the +5V rail (pin 1, with pin 8 being ground), which is bypassed by a 100nF capacitor. Pins 1, 4, 6, 7 and 8 connect to a second ICSP header, CON7, with pin 4 pulled up by a 10kW resistor. This means both chips can be reprogrammed while on the board, if necessary. IC4 is also responsible for the generation of the OA+ op amp supply rail from the POWER+ rail. This is achieved by the circuitry around NPN transistor Q3 and N-channel Mosfet Q5, connecting to IC4 at its pins 2, 6 and 7. Pins 6 and 7 feed a comparator inside IC4. Pin 6 of IC4 also connects to the POWER_SENSE line to measure the voltage feeding into Q1. Pin 7 (OA_ FB) connects to a similar divider (10kW/1kW) that is in series with a ‘Vbe multiplier’ based on Q3 and the 10kW/1.2kW divider. The Vbe multiplier drops a voltage that is proportional to the transistor’s base-emitter voltage. The multiplier is given by the divider ratio; in this case, 11.2kW (10kW + 1.2kW) divided by 1.2kW = 9.3. At the small currents involved, we measured the base-emitter voltage at 0.55V, so the voltage across the Vbe multiplier is around 5.1V; this is bypassed by a 100nF capacitor. The circuitry around Q5 is a simple boost converter utilising inductor L1 and diode D1. Q5 is driven by pin 2 of IC4, which is fed a PWM signal as long as the pin 7 comparator input is lower than the pin 6 comparator input. This is handled by the configurable logic cell (CLC) peripheral of IC4, so voltage regulation occurs without software intervention. IC4 thus controls the voltage on the output of the boost regulator Fig.3: the front panel has the screen, four pushbuttons (one integral to the encoder), rotary encoder and dual-colour LED. Australia's electronics magazine siliconchip.com.au circuitry. The concept is similar to that used in the Digital Boost Regulator from December 2022 (siliconchip. au/Article/15588), although that used an internal DAC as the control voltage rather than a different signal from within the same circuit. Effectively, the circuit regulates the OA+ rail to 5.1V above the POWER+ rail, which is high enough to allow IC1 to drive Q1. We noted in the Digital Boost Regulator article that the control algorithm is quite crude, so the output passes through a 47W resistor and is bypassed by a 10μF capacitor to provide some filtering at the op amp’s supply pins. If Q1’s collector cannot source enough current, the load will tend to draw from Q1’s base and IC1 instead, because Q1’s base current contributes to the output current. The two 47W resistors help to protect the boost circuit and op amp from exceeding their output current capacity and being damaged. Power delivery Incoming power is supplied via a USB-PD module at CON5, or a pair of screw terminals at CON6. We’ll discuss the operation of the USB-PD module shortly, but we can expect a nominal voltage of 5-20V here, perhaps up to 25V, via 3A fuse F1 to the POWER+ rail. The +5V rail comes from an MCP1804 5V LDO (low-dropout) regulator IC; it has the requisite 10μF bypassing capacitors. The LDO function is vital, as we need to provide near enough to 5V even with a 5V supply. This is necessary so that the 4.096V reference in IC3 can regulate correctly and there is enough voltage to drive the 5V coil of the relay. The practical limit for the incoming supply voltage is about 25V; it must be below op amp IC1’s 30V recommended maximum less the 5V added to the OA+ rail. Current shunt monitor IC2, which runs from the incoming supply, has a maximum supply voltage of 26V. Digital circuitry IC3 is responsible for some other digital signals. Its pin 2 drives Q4 via a 5.1kW resistor, which in turn controls RLY1. There are two I2C serial buses (SDA, SCL, SDA2 and SCL2), which all have 5.1kW pullups to the +5V rail. The RE_A and RE_B lines connect to the quadrature outputs of a siliconchip.com.au Parts List – Mighty USB-C Bench Power Supply 1 main PCB assembly (see below) 1 front panel assembly (see below) 1 USB-C PD or PPS power source (eg, AC to USB-C adaptor or USB-PD battery bank) 1 extruded aluminium enclosure, 94 × 83 × 30mm [Adafruit 2230; DigiKey, Mouser] 1 M3 × 6mm blackened panhead machine screw 1 M3 × 12mm blackened panhead machine screw 2 M3 nuts (solderable; eg, brass or nickel-plated) 2 M3 flat washers 1 TO-3P insulated mounting kit (silicone pad and 3mm plastic bush) 4 small self-adhesive rubber feet wire and connectors to suit usage (eg, 5A cable; optionally, banana sockets) wiring to connect panel to main PCB (approx. 30cm of light-gauge hookup wire) Main PCB assembly 1 73 × 77mm double-sided PCB coded 04107261 1 USB-C PD module [Adafruit 5807, Jaycar PP2081] OR 1 USB-C PPS module [Silicon Chip SC7740] 2 2-way 5mm/0.2in pitch screw terminals (CON2, CON6; optional) 2 5-way 2.54mm/0.1in pitch pin headers (CON3, CON7; optional, for ICSP) 1 2-way JST XH board-mount male connector (CON4; optional) 2 3-way 2.54mm/0.1in pitch pin header (CON5) 1 10kW lug-mount NTC thermistor [Altronics R4112] 2 M205 fuse clips (F1) 1 3A fast-blow M205 fuse (F1) 1 4.7μH 1.3A 120mW SMD inductor, M2520/1008 (L1) [Abracon AIML-1008HC-4R7M, Murata LQM2MPN4R7NG0L] 1 5V/2A DPDT SMD or TH 2A telecom relay (RLY1) [Omron G6K-2F-Y-DC5V] Semiconductors 1 LM358 dual single-supply op amp, SOIC-8 (IC1) 1 INA180B1IDBVT 20× current sense amplifier, SOT-23-5 (IC2) 1 PIC16F18146(T)-I/SO SMD 8-bit microcontroller programmed with 0410726A.HEX, SOIC-20 (IC3) 1 PIC16F18115(T)-I/SN SMD 8-bit microcontroller programmed with 0410726B.HEX, SOIC-8 (IC4) 1 MCP1700(T)-3302 SMD 3.3V LDO regulator, SOT-23 (REG1) 1 MCP1804(T)-5002 SMD 5V LDO regulator, SOT-223 (REG2) 1 FJA4313 or 2SC5242 NPN transistor, TO-3P (Q1) 3 BC817-40 SMD 45V 800mA NPN transistors, SOT-23 (Q2-Q4) 1 2N7002 SMD 60V 115mA N-channel Mosfet, SOT-23 (Q5) 2 1N5819WS 40V 1A SMD schottky diodes, SOD-323 (D1, D2) 2 SS34 40V 3A SMD schottky diodes, DO-214AB/SMC (D4, D5) Capacitors (all SMD M3216/1206 50V X7R MLCC unless noted) 5 10μF X5R 3 1μF 9 100nF 1 10nF 1 1nF Resistors (all SMD M3216/1206 ±1% ⅛W unless noted) 2 220kW 12 10kW 1 2.2kW 7 1kW 1 50mW M6331 3W 1 100kW 5 5.1kW 1 1.2kW 2 47W Front panel assembly 1 double-sided 29 × 89 × 0.8mm black PCB coded 04107264 2 small rubber grommets [Keystone 730] 1 0.91-inch I2C OLED module (MOD101) [SC7484] 1 rotary encoder with pushbutton and 18t spline shaft (RE101) 1 knob to suit RE101 3 reverse-mount SMD tactile switches (S101-S103) [Adafruit 5410] 1 PCF8574 or PCF8574A SMD I2C I/O expander IC, wide SOIC-16 (IC101) 1 back-emitting/reverse red/green bicolour SMD gullwing LED, 3.2×2.8mm (LED101) [Kingbright AAA3528SURKCGKC09] 1 100nF SMD M3216/1206 X7R 50V MLCC capacitor 1 1kW M3216/1206 ±1% ⅛W SMD chip resistor short lengths of solid core wire (eg, component lead offcuts) to connect and secure the OLED Complete Kit (SC7739, $95 + P&P): includes the USB-PPS module, two PCBs, two programmed microcontrollers, the case, and pretty much everything else needed. Preassembled USB-C PPS Control Module (SC7740, $25 + P&P) rotary encoder and also have pullups to +5V and 100nF debounce capacitors to ground. CON1 is the connection to the separate control panel PCB (at CON101). The panel PCB carries OLED module MOD101, which takes in +5V, GND, SDA and SCL signals for power and communication. IC101 is a PCF8574 (or PCF8574A) I2C I/O expander, which also connects to the +5V, GND, SDA and SCL lines. Its pins can act as inputs (with internal pullups) or open-drain outputs, so it is used to read the pushbuttons switches S101, S102 and S103, as well as the pushbutton switch on rotary encoder RE101. IC101 also drives dual red/green LED101 via a single 1kW resistor. To save space on the panel PCB, the resistor is shared, and only one element is driven at a time. If both LED outputs are driven, the lower forward voltage of the red element means that the green element does not illuminate. The quadrature outputs of the rotary encoder (RE_A and RE_B) go directly back to the main PCB. Although IC101 has spare inputs, we don’t expect the I2C interface to be fast enough to keep up with the rotary encoder’s operation. Finally, the second I2C bus (SDA2 and SCL2) connects to CON5 to control the external USB-PD module. Keeping this independent means that the display and controls can still be used even if there is a fault with the second I2C bus. S = Setpoint (target) Mechanical design The main PCB is designed to fit into a small, inexpensive extruded aluminium enclosure, with the intention that Q1 can be affixed to it to add thermal mass and assist with dissipation. The case we have chosen is sold by the Adafruit company and is available from various sellers, including DigiKey and Mouser. The main and front panel PCBs are both sized to be a neat fit to this enclosure, with the front panel PCB replacing the included front panel. The USB-C connection is accessed via a hole cut in the rear panel, and the main PCB is secured to it by means of a nut soldered to the PCB. If you need to resort to a different enclosure, we recommend a similar but larger aluminium case, such as a diecast or extruded design. This will allow Q1 to be heatsinked. The front panel PCB could be used as a bezel and mounted to a larger panel. The holes in the front panel and adjacent to the USB-PD module are suitable for M2.5 hardware. To assist with alternative enclosures, there are mounting holes on the main PCB to allow the use of M3 machine screws and tapped spacers. Two of the holes are adjacent to where the USB socket (on the module) is located, so mechanical strength is supplied where it is most needed. To keep the part count and cost down, we have designed the PCB with strain relief holes adjacent to CON2 Angle brackets <> mark the value that Current setpoint Voltage setpoint can be set with the will flash if it is too rotary encoder high will flash if supply is too low DAC setting (0-255) of the setpoint under user control (output) and CON6 (DC input). This means that wires can be soldered directly to the PCB. The output wires can then be run through the holes in the front panel or be terminated to banana sockets if you wish. You may need to drill out the panel holes to suit banana sockets. Similarly, the thermistor termination and front panel wiring are suitable for 0.1in/2.54mm pitch headers, but the simplest option is to solder the wires directly. There will be little need for strain relief since these parts will not move once the unit is closed up. Firmware for IC4 IC4’s firmware is quite simple. It configures the EUSART peripheral to listen for 9-bit serial data on the SER_ CON line. To avoid problems with spurious data, IC4 waits to receive two identical data words in a row before acting. Using nine bits allows us to send two different sets of 8-bit commands without worrying about data framing. With the ninth bit set low, the remaining eight bits are used to set the DAC level for current control. If the ninth bit is set high, the command uses the other eight bits to set the duty cycle of the PWM peripheral. The PWM peripheral uses a 32MHz internal oscillator with a period of 100 cycles, so it operates at 320kHz, and the value corresponds directly to the duty cycle percentage. Setting the duty cycle to zero effectively disables the PWM signal and thus the boost feature. The software limits the duty cycle to 15% to avoid excessive loads on the boost section. Firmware for IC3 Fig.4: the display is packed with information about the settings and operating conditions of the USB-C PSU. Many of the indicators will flash if improper conditions are detected. At startup, the processor initialises all the necessary peripherals and scans the first I2C bus to determine if there is a PCF8574 (7-bit bus address 0x20) or PCF8574A (0x38) present. After this, the second I2C bus is scanned to determine whether a HUSB238 (0x08) or AP33772S (0x52) is present. If neither is present, a fixed DC source is assumed. This information is displayed on the OLED screen. If present, the module is queried for the USB-C source capabilities, and a summary of this is also displayed. Commands are then sent to IC4 to ensure it is in a known state. Much of the firmware on the main processor is dedicated to providing the Australia's electronics magazine siliconchip.com.au L indicates that current limiting is active A = Actual Thermistor (Q1) temperature will flash if it is approaching the trip limit 34 Silicon Chip Incoming USB-PD supply voltage (or DC voltage) 5V+ supply rail is shown and will flash if below 4.5V user interface. There are numerous settings that can be changed to alter the behaviour of the USB-C PSU, not just the main operating parameters like voltage, current and so forth. A 5Hz timer is used to control updating the display and USB-PD module at a reasonable rate. Various lines are read to measure the voltage and current setpoint and actual value; the thermistor temperature; the OA+, POWER+ and +5V rails; and Q2’s base for current-limiting detection. The monitoring of the nine analog voltages is performed in the background by the ADC peripheral operating continuously in an accumulating mode. This automates oversampling and effectively gives fresh 16-bit results from the 12-bit ADC every 20ms. When a new result is ready, the values are adjusted by calibration constants to provide meaningful values for display and calculation. With the 220kW resistors biasing the voltage and current readings, these are not simply a ratio, but also include an offset adjustment. The remaining values (OA+, POWER+ and +5V rails and Q2’s base) have no offset and are simply scaled. The reason for choosing a 2.2kW resistor as part of the thermistor divider chain is that this value gives a fairly linear relationship (within 1°C) between voltage and temperature over the range of 20°C to 80°C. Thus, the temperature can be estimated using a ratio (slope) and offset calculation, and the same software routines are used to perform the calculations as for the voltages. The main operating screen (Fig.4) allows the two DAC outputs to be adjusted, using the rotary encoder to set the voltage and current setpoints. Pressing the rotary encoder toggles between voltage and current setting. The relay can be controlled with two of the pushbuttons. The raw 8-bit (0-255) DAC value is adjusted, and the calculated voltage and current setpoints are shown. The steps correspond to about 88mV for voltage control and 8mA for current control. With the offset noted above, the DACs need to be at step two or higher to have a non-zero output, which ensures that zero levels can be achieved. In the event that the USB-C PSU detects a fault condition, such as the thermistor going open-circuit or siliconchip.com.au The design uses our APS33772S USB-PPS board (published separately in this issue) to provide the USB-PPS features when powered by a suitable USB power source. Alternatively, you can use a commercial HUSB238 module (such as Jaycar’s PP2081) instead. detecting a high temperature, the relay is opened and the voltage control DAC is set to zero. The fault is displayed and must be cleared before the condition can be reset. The LED on the front panel shows solid red when the relay is off and green when the relay is on and the output is active. A fault will cause the LED to flash. Other data is also shown on the main screen, including the temperature, supply voltage (POWER+) and available current. An “L” is shown if current-limiting is active. In one mode, an overcurrent fault condition will open the relay. The behaviour then is more like a fuse, opening the circuit if the limit is reached. In the brief period before the relay opens, the current limiting is still enforced for safety. Minor faults (not severe enough to cause a trip) are shown on the main page by flashing the appropriate data display. For example, if the temperature is flashing, it is nearing its limit. If the current setpoint is flashing, it might be exceeding the capacity of the power supply. For the current, there is also an option to automatically ramp the setpoint down to a safe level. Settings There are many pages of settings and calibration data. These are entered and cycled through by using the > button on the front panel; this can only be done while the output relay is off. Some calibration settings require an output from the PSU, so the voltage, current and relay are under software control when the settings pages are active. Australia's electronics magazine The first few settings are the ones that might be changed regularly, such as the different operating modes and settings, while the later ones allow adjustment of the calibration parameters. We’ll delve into these later, once construction of the unit is complete. While there are many ways to adjust the settings, we expect that most applications will fall into one of two cases. Firstly, running the boost regulator for the OA+ rail will allow the output to come very close to the incoming supply voltage and offer very efficient operation, since Q1 needs to drop very little voltage. USB-PPS supplies allow the source voltage to be chosen in 100mV steps, and dissipation in Q1 below 1W can easily be achieved across most of the range with this configuration. If necessary, the boost regulator can be shut off. In this case, Q1 will likely be dropping 3V or more depending on the current draw. Due to the loss of headroom, these settings might be better for sensitive applications at lower currents or lower voltages. USB-PD control A critical part of the USB-C PSU’s operation is the need to control the USB-C power source via the module connected at CON5. The aim is to ensure sufficient headroom of the POWER+ rail above the desired output voltage while minimising that headroom, since that is the main contributor to dissipation and heating in Q1. Several parameters and settings that can be used to tweak this behaviour. These are used, along with the source capabilities, to determine the best PDO October 2026  35 (power data object) to request. This is checked and updated multiple times per second; you can see the POWER+ voltage display change as the voltage is changed. Of course, the capabilities of the USB-C PSU are strongly dependent on the features of the USB-C power source that is connected. Most USB power sources provide a slightly higher voltage (than nominal) to compensate for cable resistance. There is tolerance in the voltage specifications for this. For example, a nominally 20V power source powering the USB-C PSU measured at 20.15V and from this, the PSU was able to supply 20.07V into a 200mA load. That does mean that there needs to be some headroom in the current capacity of the supply. During our testing, we sometimes exceeded the power source’s limit (deliberately and accidentally!) and found that the typical supply behaviour was to simply shut down until a power cycle had occurred. Performance The USB-C PSU has been optimised for stability under a very wide range of conditions, so we aren’t making any claims that it has a very fast response to changes. As with similar designs, the ability of the output voltage to decrease due to changes in setpoint is limited by the load and output resistance, since Q1 is only capable of sourcing current. Increasing the output voltage will be as fast as designs like the Breadboard PSU, provided that the USB-PD source does not need to ramp up. The ramp rate under these conditions will depend on things like the headroom setting and source response. Scope 1 shows a typical response to ramping being limited by the behaviour of the source. Since current limiting is handled in hardware, this response is not affected Scope 1: changing the setpoint from 0V to 10V. The blue trace shows the output voltage, while the red trace is the Vset line. The green trace (also 12V scale) shows the USB-C supply voltage. The supply voltage must ramp up to allow the output to meet its setpoint. Although there is a delay due to the supply requiring software control, the output voltage follows the supply quite closely due to the OA+ boost circuitry. by the source’s behaviour. Recovery from current limiting may be slowed if the source voltage has been ramped down. If the USB-C PSU is set to track the setpoint voltage, ramping will not happen except on setpoint changes. Tests with our prototype showed a temperature rise of around 6°C/W, so we expect that the PSU should be able to dissipate around 4W continuously without tripping at normal ambient temperatures. At 50°C, the case is noticeably hot to the touch, so we have chosen this as the trip limit. The electronics can handle this with ease. 4W dissipation should thus allow 2A of continuous current with 2V of headroom, which was achievable over most of the range for the USB-C sources we tested. The continuous SOA (safe operating area) of Q1 goes up to 30V at 4A, so the expected working range is well within these limits. Note that this is dissipation in the PSU and not in the load. With a USB-PPS source and lower headroom, continuous operation at less than 1W dissipation should be Views of both sides of the black front panel PCB. 36 Silicon Chip Australia's electronics magazine achievable, even with a 2A load. Efficiency Fig.1 demonstrates how difficult it would be to give a single efficiency figure for the USB-C PSU. The efficiency and dissipation depend a lot on the voltage and current settings, the headroom settings, and the USB source capabilities. With a USB-PPS power source, the headroom will be close to nominal, especially if the OA+ boost circuit is active. With a USB-PD source, the actual headroom might be much higher due to the spacing of the source voltages, as indicated by the sharp upward steps in Fig.1(b). This is the main reason that we thought it best to design a USB-PPS module. Broadly speaking, efficiency can be improved by tweaking the settings, but this may result in longer response times to setpoint changes or slower recovery from current limiting. We will discuss this in detail in Part 2, along with the settings. Next month As you can see, there is much that has gone into the design of both the hardware and firmware of the USB-C PSU. Since there are so many settings and features to be explained, we will look at the assembly, setup and how to use the PSU next month, including details of the many settings and their SC operation. siliconchip.com.au