
Introduction
In the world of irrigation, 24 VAC sprinkler solenoids have been the industry standard for decades, and the traditional way to power them is equally old-school: a bulky 24 VAC wall transformer. It works, but these transformers are heavy, expensive, and inefficient. Their output voltage is unregulated, and their overload and short-circuit protection is primitive. They are also tied to the mains standard—a transformer designed for 120 V mains cannot be directly used on a 230 V outlet in another country.
Contrast that with modern DC switch-mode power supplies. They are lightweight, cheap, efficient, and protected against common faults. Better still, they accept 100-240 V input, so work anywhere in the world.
Among DC power sources, one has become nearly universal: USB-C. With Power Delivery (PD), a USB-C adapter is no longer just a 5 V phone charger. Instead, it can supply multiple voltage levels and ample juice for much heavier loads. Those that support PPS (Programmable Power Supply) further allow the voltage to be adjusted in fine increments. That raises an interesting question: can we ditch the traditional AC transformer and drive sprinkler solenoids from USB-C instead?
Yes—and there is more than one way! In this article, I will dive into four of them, summarized below:
| Drive Method | Description | Frequency | Drive Waveform |
| PWM | Control effective holding current by PWM duty cycle | 1 kHz or above | ![]() |
| Dual-Voltage | Apply high voltage initially for pull-in, then drop to a lower voltage for holding. | DC (0 Hz) | ![]() |
| Synthesized Sine Wave | Use an H-bridge to synthesize AC sine wave from DC | Carrier: 40 kHz Output: 60 Hz | ![]() |
| Bipolar Square Wave | Use an H-bridge and alternate DC polarity to produce a square-wave | 45 Hz | ![]() |
I built a small custom circuit to test all four, so rather than just talking theory, we can watch actual waveforms on the oscilloscope and take measurements at the solenoid.
The Electric Quirks of 24 VAC Solenoids
To begin, it helps to understand how sprinkler solenoids work electrically. I wrote a detailed article about this more than a decade ago in Understanding 24 VAC Sprinkler Valves. Below I summarize the important points.
A typical solenoid consists of a coil surrounding a spring-loaded iron plunger. Applying 24 VAC energizes the coil and pulls the plunger inward, which in turn opens the valve. Electrically, the coil can be modeled as a resistor in series with an inductor. Typical solenoid specs are:
- Coil Resistance: 25–60 Ω
- Inrush Current: 300–500 mA
- Holding Current: 150–250 mA
Initially, the solenoid needs a fairly large inrush current to pull the plunger into the coil. Once seated, it can stay there with a smaller holding current. Under AC, this transition happens naturally because the inductance—and hence the inductive reactance and total impedance— increases significantly as the plunger pulls in. This also explains why a stuck or missing plunger leaves the inrush current flowing indefinitely, which can burn out the coil.
This behavior is one reason that simply replacing 24 VAC with a fixed DC voltage is not ideal. Under steady-state DC, the current is determined entirely by the coil resistance, and inductance no longer limits it. Therefore, a voltage high enough for reliable pull-in will produce unnecessarily high holding current. Conversely, a lower voltage suited for holding may not pull the plunger in at all.
Note: this article is specifically about conventional 24 VAC sprinkler solenoids, which are used in the vast majority of irrigation systems. Valves that run natively on DC do exist, including latching solenoids and motorized ball valves, but they are less common and more expensive than 24 VAC valves. For that reason, DC-operated valves are not the focus of this article.
The Four Methods
1. Unipolar PWM
Idea: Apply a fixed supply voltage high enough to pull the plunger in, and rapidly switch that voltage on and off. This reduces the average current through the coil to match the target holding current.
Reference: This is the approach Vinne used to convert his sprinkler system to DC, driving each solenoid with a DRV103 solenoid driver.
Design Parameters:
- Supply Voltage. Given typical coil resistances and inrush currents, a fixed voltage between 15–24 V is sufficient. The method is fairly insensitive to the exact supply voltage, because we can tune the duty cycle to deliver the desired holding current.
- Duty Cycle D. It can be estimated as \( D=\frac{I_{\text{hold}}\cdot R}{V_{\text{supply}}} \). For example, assuming a 35 Ω coil, a 20 V supply voltage, and a holding current of 200 mA, we have \( D=\frac{0.2\times35}{20}=35\% \)
- Frequency. A higher frequency produces smoother coil current as the solenoid inductance filters the PWM pulses, but it also leads to greater switching losses and potentially more EMI. Conversely, a lower frequency produces larger current ripple and may cause audible or even mechanical vibration.
There is another practical complication: if high-frequency PWM is applied immediately, the smoothed current does not provide a strong initial pull-in. In my testing, the solenoid struggled to pull in at 5 kHz, where it produces a relatively flat 200 mA current, insufficient for inrush current. On the other hand, at 50 Hz—same duty cycle—the current swung widely between 57 mA to 440 mA, and the solenoid was able to activate decisively.
Running continuously at 50 Hz, however, is not the solution, because it produces an audible buzz and causes the holding force to pulsate. The practical fix is to apply a 100% duty-cycle over a short (e.g. 100 ms) activation window. More on this in the Experimental Results section below.
Pros: The circuit is simple. All it requires is a PWM control signal, a low-side N-MOSFET, and a flyback diode. The holding current is easily adjustable in software.
Cons: PWM continuously switches the solenoid voltage over potentially hundreds of feet of sprinkler wire, so EMI due to rapid voltage transitions requires serious consideration. It also becomes less convenient as the number of zones grows: either each zone needs an independently PWM-controlled switch, which rules out the shift-register architecture most multi-zone controllers use, or PWM must be introduced to the shared COM line, in which case all zones share the same duty cycle and other COM-powered accessories must tolerate the switched supply.
2. Dual-Voltage
Idea: Instead of using PWM to reduce the effective voltage, how about simply reducing the voltage itself? Apply a high voltage briefly to pull the plunger in, then switch to a stable low voltage for holding.
Reference: This is the method I adopted for the DC-powered OpenSprinkler.
Design Parameters:
- Pull-in Voltage and Period: As in Method 1 above, a voltage between 15–24 V is generally sufficient. Applying this voltage for a short period (e.g. 100 ms), is enough to reliably pull the plunger in.
- Holding Voltage: \( V_{\text{hold}}=I_{\text{hold}}\times R \). For a 35 Ω coil and a target holding current of 200 mA, we have \( V_{\text{hold}}=0.2\times35=7\text{V} \).
Pros: Unlike PWM, the holding voltage is steady DC, so there is no continuous high-frequency switching over long wires in the field. In addition, one power supply can serve many zones simultaneously, making the approach easy to scale to a large number of zones.
Cons: Because all zones share the same supply rail, starting a new solenoid while others are already running momentarily returns every active zone to the high pull-in current. This spike is harmless to the solenoids, but it can briefly strain an undersized power supply.
Historically, the main drawback of this method was circuit complexity. Providing two different voltage levels would require substantially more circuitry. Today, thanks to USB-C PPS, these voltages can be requested programmatically, using nothing more than a PPS-capable USB-PD sink chip like the CH224A. The implementation is surprisingly simple, and the pull-in and holding voltages can be independently adjusted with fine increments in software.
3. Synthesize AC from DC
Idea: Use an H-bridge to synthesize 24 VAC sine wave from the DC supply, and drive the solenoid with it.
Reference: The Yardian Pro Sprinkler Controller uses this approach, and appears to be the only irrigation controller on the market that does.
At first glance, this sounds counter-intuitive: didn’t we just spend all this effort ditching the AC transformer? Why convert DC back into AC now? But there are good reasons to do so.
- Compatibility. It works not just with solenoids, but with legacy accessories like pump start relays and wireless sensors that expect a genuine 24 VAC input—some of which may not work reliably with pure DC voltage. For example, some pump start relays are large industrial contactors that have very low coil resistance and rely heavily on AC impedance to function. Under DC, they may fail to actuate or draw a massive current. Recreating an AC sine wave provides broader compatibility with the existing ecosystem.
- Zero Net DC. Long irrigation wires often run underground and may eventually develop a nicked splice in wet soil. Sustained DC across such connections can trigger electrochemical corrosion and eat the copper. An alternating waveform leaves zero net DC and prevents this type of corrosion.
- Modern Fault Protection. Synthesizing AC allows implementing active current limiting, short-circuit and other fault protections that are harder to achieve with a traditional AC transformer.
Design Parameters:
- Supply Voltage. To synthesize a sine wave at 24 V RMS, the peak voltage should be \( V_{\text{peak}}=\sqrt{2}\,V_{\text{RMS}} \) \(= \sqrt{2}\times 24\approx 34\,\text{V} \). Yardian uses a 36 VDC adapter, the closest off-the-shelf DC adapter.
- Output Frequency. This should be 50–60 Hz to match sprinkler solenoids specs.
- Carrier Frequency. The sine wave is synthesized by rapidly switching the supply voltage at tens of kHz (carrier frequency) while modulating the duty cycle (or pulse density) according to a sine-wave envelope. A higher frequency produces lower distortion, but increases switching losses and high-frequency emissions. Conversely, a lower carrier frequency produces greater ripple and a rougher approximation of a sine wave.
Pros: This method provides the closest electrical equivalent to a traditional AC transformer. As explained above, it offers broad compatibility with existing 24 VAC accessories, leaves zero net DC in the wiring, and allows for fast modern fault protection.
Cons: The implementation is substantially more complicated than Methods 1 and 2. It requires an H-bridge, suitable gate driving, carefully designed output filter, and continuous high-frequency modulation, typically demanding a dedicated waveform generator. In addition, as the output is AC, in a multi-zone setup, zone switching needs TRIACs (instead of MOSFETs), adding cost, size, and conduction loss. Finally, a 36 VDC adapter is not common. While USB-C can provide this voltage, doing so requires an EPR-capable source of high power (e.g. 180 W), which itself is large, uncommon, and expensive.
4. Bipolar Square Wave
Idea: While experimenting with Method 3, an obvious question occurred to me: if all we really want from AC is alternating polarity, do we need to synthesize a sine wave at all? What if the H-bridge simply flips the DC polarity back and forth? The result is a bipolar square wave. It preserves the “zero net DC” property of AC, but eliminates the high-frequency carrier and much of the circuit complexity of Method 3.
Of course, the big question is whether a sprinkler solenoid designed for sine wave would tolerate such a waveform. There is encouraging news: although the voltage is a crude square wave, the current is not. As the solenoid is strongly inductive, its current changes gradually, producing a distinctive rounded “shark-fin” waveform, as shown later in Experimental Results. To my delight, this method works remarkably well.
Design Parameters:
- Supply Voltage. As in Methods 1 and 2 above, a fixed voltage between 15–24 V is generally sufficient. Unlike a sine wave, where the peak and RMS voltages differ by a factor of \( \sqrt{2} \), here the peak and RMS voltages are equal.
- Output Frequency. This is a critical parameter. As the waveform is no longer sinusoidal, the ideal frequency is not necessarily 50–60 Hz. Increasing the frequency gives the inductive current less time to rise during each half-cycle and therefore reduces its RMS value. As shown in the derivation below, for typical sprinkler solenoids driven from \( \pm20V \) square wave, the optimal frequency falls in a surprisingly narrow range of roughly 40–45 Hz.
Pros: Compared to Method 3, implementation is dramatically simpler. The H-bridge only needs to reverse polarity at a low frequency; there is no high-frequency carrier or sine-wave modulation. A 20 V USB-C PD supply is sufficient, instead of the less common 36 V source. The alternating polarity also preserves AC’s “zero net DC” benefit, which reduces corrosion. Finally, with only a few dozen polarity reversals per second, switching losses and high-frequency emission are much lower than with Methods 1 and 3.
Cons: The main open question is accessory compatibility. A 40–45 Hz square wave is quite different from the 50–60 Hz sine wave that 24VAC accessories are designed for. In my testing, a heavy-duty pump-start relay (Furnas 45EG20AJ) worked reliably and its holding current at 45 Hz matches its normal holding current, which is an encouraging result. However, broader testing is still needed, especially for other pump-start relays, wireless sensors, and transformer-coupled accessories. Next, the low-frequency square wave also produces some audible hum, although subjectively it is comparable to the same solenoid running on a conventional AC transformer. Finally, because the output is AC, multi-zone switching still requires TRIACs, just as in Method 3.
Frequency Derivation: This part is math-heavy, so I kept it separate. With the help of ChatGPT, I found out that for an ideal series R-L solenoid driven by a bipolar square wave of amplitude \( V \) and frequency \( f \), the steady-state RMS current is: $$ I_{\text{RMS}} = \frac{V}{R}\sqrt{1 – 4f\frac{L}{R}\tanh\left(\frac{R}{4fL}\right)} $$
Here the seated inductance \( L \) can be estimated from the solenoid’s holding current:
$$ L = \frac{1}{2\pi f_{\text{AC}}} \sqrt{\left(\frac{V_{\text{AC}}}{I_{\text{hold}}}\right)^2 – R^2}$$
As an example, a \( R = 35\,\Omega \) solenoid drawing \( I_\text{hold}=200\,\text{mA} \) from \( V_{\text{AC}} = 24\,\text{V} \) at \( f_{\text{AC}}=60\,\text{Hz} \) corresponds to about \( L=305\,\text{mH} \) of inductance.
Now drive this solenoid with \( \pm20V \) bipolar square wave and solve the RMS-current equation for a target holding current of \( I_{\text{RMS}}=200\,\text{mA} \), we have \( f\approx 43.7 \,\text{Hz} \).
Repeating this calculation over typical coil resistances from 25 Ω to 60 Ω gives optimal frequencies of approximately 40–45 Hz. The plot below shows how surprisingly narrow this range is.

There is a useful intuition for why this range is so narrow. In the limit of a highly inductive coil, the square-wave voltage produces a triangle-wave current. Equating its RMS value to the current produced by a 24 VAC sine wave at 60 Hz makes the inductance cancel out entirely, leaving $$ f=\frac{2\pi\cdot 60\cdot V}{4\sqrt{3}\cdot V_{\text{AC}}} $$ For a \( V=20\,\text{V} \) supply, this evaluates to 45.3 Hz. In other words, for a strongly inductive load, a \(\pm20V\) bipolar square wave at 45.3 Hz delivers the same RMS current that the coil would draw from 24 VAC at 60 Hz. Real coils have finite resistance, which shifts the equivalent frequency somewhat lower. As a typical 24 VAC solenoid is indeed strongly inductive, this explains why different solenoids all tend to converge on the same 40–45 Hz band.
Other Methods
Two other methods are worth mentioning, although I exclude them from the main comparison because their operating parameters are largely fixed in hardware rather than adjustable in software.
Single Fixed Voltage. This is a popular DIY approach — just use a 12 VDC adapter. With a 35 Ω coil, that gives about 340 mA, a compromise that’s barely enough for inrush current and unnecessarily high for holding current. Method 2 addresses exactly this problem by using dual voltages.
Series Resistor + Bypass Capacitor. Another approach uses a series resistor to limit holding current and a capacitor in parallel with it to provide a temporary high-current path during pull-in, as demonstrated in this Hackaday project. It is simple and requires no software control, but the capacitor is bulky, the resistor dissipates heat throughout the watering cycle, the RC values are hardcoded in hardware, and the capacitor needs time to discharge before the next activation.
Implementation
To compare the four methods, I designed a single PCB containing a USB-C connector, a CH224A PD sink chip (set up in I2C mode), switching regulator, 3.3V LDO, ESP8266 microcontroller, and a discrete MOSFET H-bridge. A 1Ω resistor is placed in series with the solenoid, which lets me watch the current waveform on a scope and measure RMS current. The schematic and assembled board are shown below.


The solenoid for testing is an Orbit 24 VAC solenoid with a measured coil resistance of about 35 Ω. The power supply is a 35 W USB-PD adapter capable of 20 V/1.75 A, with PPS from 3.3–11 V.
H-Bridge. For proof of concept, I intentionally kept the H-bridge simple. Each low-side switch is an AO3400 logic-level N-MOSFET rated at 30 V (Vds); each high-side switch is an AO3407 P-MOSFET, driven by an AO3400 inverter and a 1 kΩ / 2.2 kΩ divider. All four switches are active-high and driven from four separate GPIOs, which I denote as P1_high, P1_low, P2_high, P2_low.
There is no dedicated gate-driver IC, so dead-time control is all implemented in software. This kept the prototype inexpensive. A more serious implementation should use a proper half-bridge gate driver with built-in dead-time control.
The MCU. ESP8266 is arguably not a great MCU for this experiment, particularly Method 3, for which ESP32 would be a far better choice as it provides hardware PWM peripherals. I chose ESP8266 simply because I have a drawer full of them, and it is nonetheless adequate for a proof of concept.
Configurations for the Four Methods:
For Methods 1 and 2, only unipolar DC drive is needed. Therefore I replaced P1_high with a direct connection to VBUS, removed P1_low, and replaced P2_high with a flyback diode. P2_low is then the only active switch.
For Methods 3 and 4, the full H-bridge is populated. Method 3 uses high-frequency bridge modulation to synthesize a sine-wave, while Method 4 simply flips the supply polarity at a low frequency.
The configurations of the four methods are illustrated below.


Method 3 Implementation. This is the most software-intensive of the four methods. I had Codex implement a sine-wave synthesis algorithm using a 40 kHz, 1-bit sigma-delta pulse-density modulator. During each half-cycle, one high-side MOSFET remains on while the diagonally opposite low-side MOSFET is switched with a pulse density proportional to the magnitude of a 60 Hz sine wave; the active bridge diagonal determines the polarity. The solenoid’s inductance filters this high-frequency pulse stream into an approximately sinusoidal current. A 25μs all-off dead time is inserted whenever the bridge changes polarity to avoid shoot-through.
Download the Source Code:
Source code for all four methods is available on GitHub.
Experimental Results
1. Unipolar PWM
I started Method 1 with a PWM frequency of 5 kHz, and used an oscilloscope to measure the solenoid voltage (yellow) and current (magenta). The current was measured through the 1 Ω resistor, so 1 mV is 1 mA of coil current. The first screenshot below shows the result. Here the voltage waveform is effectively filtered by the solenoid inductance, resulting in a very smooth current waveform. But this smooth current never rises significantly above the holding level, so the solenoid struggled to pull in.
At 50 Hz PWM frequency, the result was the opposite: the much longer PWM intervals allow the current to rise substantially during each pulse, producing much stronger pull-in force (magnetic force scales with the square of current). The solenoid activated decisively. However, it also buzzes audibly.


At 1 kHz, the current ripple is clearly visible but still short of reliable pull-in. This frequency also falls within the audible range and produces a noticeable tone.

The practical solution is to separate the pull-in and holding phases: apply 100% duty cycle briefly (e.g. 100 ms) to activate the solenoid, then transition to high-frequency PWM for holding. This approach is also used in commercial solenoid drivers. For example, Vin the Wrench’s DC conversion used the DRV103 driver which has built-in pull-in delay before switching to PWM holding.
2. Dual-Voltage
The dual-voltage method is much simpler to characterize because the solenoid is driven by steady DC rather than a switching waveform. The screenshot below shows the transient behavior: initial pull-in at 20 V for 100 ms, followed by a transition to 7 V. The solenoid voltage trace is yellow, and the current is magenta.

The measured peak and holding currents closely match the expected values (570 mA and 200 mA). Two observations are worth noting:
- The current waveform reveals the mechanical action of the solenoid. After the initial current rise, a sharp dip appears as the plunger moves into position and changes in the coil inductance momentarily oppose the current. The width of this dip shows that the pull-in event completes within 50 ms.
- The transition from 20 V to 7 V took approximately 250 ms. This delay is caused by the USB-PD adapter renegotiation process rather than the solenoid driver circuit. I confirmed this because the transition from the initial voltage ramping up to 20 V also took about 250 ms. One consequence is that the coil sees elevated current for roughly 350 ms rather than the 100 ms requested — harmless thermally, but longer than planned.
This experiment demonstrates the key advantage of the dual-voltage approach: the pull-in and holding are handled directly through voltage control, without PWM switching or high-frequency current ripple.
3. Synthesize AC from DC
A note on the supply voltage first. Producing a genuine 24 V RMS sine wave requires a 33.9 V supply. The USB-C adapter I have available tops out at 20 V, and the MOSFETs on the prototype circuit are rated for only 30 V. I therefore ran this experiment at the same 20 V used for the other methods. The synthesized waveform here should be viewed as a proof of concept rather than a full-power 24 VAC-equivalent implementation. Nonetheless, it illustrates the essential behavior of the method.
The first capture below shows that although the voltage is generated by high-frequency switching, the current waveform is much smoother and resembles a sine wave. The coil’s inductance does the filtering, exactly as intended. Measured RMS current is 107 mA at 59.9 Hz.
The second capture zooms in on the voltage waveform. The pulse density varies across each half-cycle — dense near the peak, sparse near the zero crossing — which is what the sigma-delta modulator produces. Note also the phase lag: the current crosses zero well after the voltage flips polarity, as expected for an inductive load.


The third capture was taken with the plunger held out, and the current is substantially larger (341 mA). This demonstrates the inrush-versus-holding behavior: with the plunger out, inductance is lower, impedance is lower, and the coil draws more current. In addition, as resistance dominates, the phase lag is much less pronounced. Once the plunger seats, the inductance rises and the current naturally falls. This is the key feature of traditional AC drive: the transition from high inrush current to lower holding current happens automatically, without any pull-in timing phase in software.

Although the experiment used a 20 V supply (for reasons explained above), the results can be roughly extrapolated to a 33.9 V supply, which is \(33.9/20 \approx 1.695\) times higher. Assuming the solenoid behaves approximately linearly, the measured currents would scale up to about 181 mA holding and 578 mA inrush, close to the solenoid’s rated values.
4. Bipolar Square Wave
This is perhaps the most interesting method. The drive itself is substantially simpler than Method 3, yet the result still closely resembles what the solenoid sees under true AC. Because the square wave’s frequency directly affects RMS current, I collected results at three frequencies: 40, 45, and 50 Hz.
I started at 40 Hz (\(\pm20V\)). The first capture below shows the holding state with the plunger seated. The RMS current is 191 mA. While the voltage is a crude square wave, the current takes on a much smoother “shark-fin” shape, showing the expected exponential rise and fall during each half-cycle.
To check the inrush behavior, I physically held the plunger out, and the RMS current increased dramatically to 482 mA, as shown in the second capture. This closely resembles the natural inrush-to-hold behavior of the solenoid under conventional AC drive.


The pull-in capture below shows the transition from inrush to holding as the plunger moves into position. The current peaks at about 568 mA, and the pull-in event completes in roughly 20–30 ms.

So far the sprinkler solenoid behaves well under bipolar square-wave. But what about other 24 VAC accessories, such as pump-start relays? They may have very different coil resistance and inductance.
To find out, I hooked up a Furnas 45EG20AJ pump-start relay. This is a heavy-duty contactor with a coil resistance of only about 9 Ω and a rated holding current of 300–330 mA. At 40 Hz bipolar drive, it pulled in decisively and held reliably, but drew about 399 mA RMS, above its normal AC holding current. During pull-in, the current rose to roughly 1.48 A peak, then dropped sharply as the contactor closes and the coil inductance rises.



Next, I increased the square wave frequency to 45 Hz. The sprinkler solenoid’s holding current drops to 166 mA, and the Furnas relay to 329 mA. This is particularly interesting because it closely matches the theoretical prediction discussed earlier: for a strongly inductive load, 45.3 Hz is the frequency at which a \(\pm20V\) bipolar square wave delivers the same RMS current as a 24 VAC, 60 Hz sine wave.
For reference, I measured the Orbit solenoid and the Furnas relay driven from three conventional 60 Hz transformers. Interpolating the measurements to 24 VAC (since no single transformer produced precisely 24 VAC) gives approximately 165 mA RMS for the solenoid and 330 mA RMS for the relay. In comparison, the 45 Hz square wave produces 166 mA and 329 mA respectively—both remarkable matches. Two devices differing by a factor of four in coil resistance, both reproduced almost exactly.


Finally, I increased the square wave frequency further to 50 Hz. The sprinkler solenoid current drops to about 148 mA RMS, while the Furnas relay to about 287 mA RMS. Both are noticeably below their normal operating currents, although pull-in and holding remained reliable for both.


Discussion. The measurements are summarized below:
| Frequency | Solenoid | Relay | Observation |
|---|---|---|---|
| 40 Hz | 191 mA | 399 mA | Both somewhat over-driven |
| 45 Hz | 166 mA | 329 mA | Both within 2% of their 24 VAC values |
| 50 Hz | 148 mA | 287 mA | Both somewhat under-driven, but still reliable |
| 24 VAC reference | 165 mA | 330 mA | measured 24VAC / 60 Hz results |
Overall, the measurements agree remarkably well with the theory. Increasing frequency reduces RMS current because the current has less time to build during each half-cycle. Moreover, 45 Hz is a sweet spot: for both the sprinkler solenoid and the much heavier Furnas contactor, the measured RMS current closely matches what they draw from a traditional 24 VAC sine wave transformer.
Compatibility with arbitrary 24VAC accessories is still not guaranteed, but the successful Furnas test is encouraging because it represents exactly the sort of heavy pump-start contactor that would be difficult to drive using the DC-only methods.
Conclusion
There is no single best method here: each trades simplicity, flexibility, and compatibility differently. Choose:
- Unipolar PWM if you want the quickest prototype and the least hardware complexity. A single MOSFET and flyback diode are enough, and holding current is easy to adjust in software. The tradeoff is continuous high-frequency switching.
- Dual-Voltage if you want similarly simple hardware but prefer steady DC output. With USB-C PPS, both voltages can be easily adjusted in software.
- Sine-Wave AC Synthesis if you want genuine 24 VAC output, zero net DC on the field wiring, and maximum compatibility with existing AC accessories. But it comes with the highest hardware and software complexity.
- Bipolar Square Wave if you want most of what Method 3 offers without most of what it costs. It preserves zero net DC, automatic inrush-to-hold, likely good compatibility with existing 24 VAC accessories, and only requires the H-bridge to flip polarity at a few dozen Hz. The trade-offs are that there is audible buzz, and broader accessory compatibility needs further testing.
USB-C is what makes all of this practical. Even when a method uses a fixed drive voltage, USB-C PD lets the controller select among several supply voltages without changing adapters; with PPS, it can be adjusted in fine increments. Combined with universal 100–240 V input, regulation, built-in protection, compact size, and near-universal availability, USB-C turns out to be a surprisingly capable replacement for the old 24 VAC transformer—one you may finally be ready to ditch.



