Power Electronics
Buck-Boost Converter
Switching DC-DC that can step up OR down — and invert polarity
A buck-boost converter produces an output voltage higher or lower than the input — and of opposite polarity in the classic topology. V_out = −V_in·D/(1−D). The default for battery-backed systems whose supply swings either side of the regulated rail.
- ComponentsSwitch + L + diode + cap
- Transfer (CCM)V_out = −V_in·D/(1−D)
- D = 50%V_out = −V_in (just inverted)
- Efficiency80–90% typical
- VariantsSEPIC, Ćuk, 4-switch non-inverting
- ApplicationsBattery rails, negative supplies, USB-PD
Interactive visualization
Press play, or step through manually. The visualization is yours to drive — try it before reading on.
Watch the 60-second explainer
A condensed visual walkthrough — narrated, captioned, under a minute.
Why buck and boost aren't enough
Consider a lithium-ion-powered device that needs a regulated 3.3 V rail. A fresh cell sits at 4.2 V, and a depleted cell sags to 3.0 V. The supply voltage swings across the rail in both directions during the discharge cycle. A simple buck (step-down only) gives up at 3.3 V because it cannot pull above its input minus a dropout volt or two. A simple boost (step-up only) gives up at 4.2 V because it cannot push below its input. Neither can hold 3.3 V across the full battery range.
A buck-boost is the topology that can. It can step the input voltage up or down, depending on the chosen duty cycle, with the same hardware. The classic version inverts polarity as a side effect of the topology — useful when you specifically want a negative rail; an obstacle when you just want a positive rail and have to add level-shifting circuitry. Variants like the SEPIC and the modern 4-switch buck-boost solve the polarity problem at the cost of more components.
The four-component inverting buck-boost
SW
V_in ──/──┬───────────┐
│ ▲ D
UUUU / \
UUUU L (diode pointing up)
UUUU \ /
│ ▼ cathode
│ │
├──────────┤
│ │
GND V_out ── load
│
── C
│
GND
Switch closed: V_in → L → GND. Current builds in L.
Switch open: L → D → V_out (negative w.r.t. GND).
The inductor's "GND-side" terminal becomes
positive; its "V_in-side" becomes negative
relative to ground after the switch opens.
V_out = −V_in × D / (1 − D)
The topology uses one switch (to V_in), one inductor (between the switch node and ground), one diode (from the switch node out to V_out, blocking until needed), and one output capacitor.
The two phases
Switch closed (on-time, fraction D). The MOSFET pulls the inductor's V_in side up to V_in. Current ramps up through L at dI/dt = V_in / L, storing energy in the magnetic field. The diode is reverse-biased (its cathode sits at the lower-voltage output side); no current flows to the load. The capacitor C sustains the load alone during this phase.
Switch open (off-time, fraction 1−D). The MOSFET turns off. Inductor current cannot stop instantaneously, so it forces a new path. It pulls its V_in side down, which forward-biases the diode and lets current flow through it to the output capacitor — but with the inductor's original V_in side now negative w.r.t. ground. Polarity inverted. Energy stored in the inductor's field now drives current through D into the load, while charging C up to the new (negative) output voltage.
Where V_out = −V_in·D/(1−D) comes from
Steady state requires zero average voltage across the inductor. The inductor sees V_in during on-time and V_out during off-time (note: V_out is negative). Equating:
V_L_avg = V_in × D + V_out × (1 − D) = 0
→ V_out = −V_in × D / (1 − D)
D = 0.25 → V_out = −V_in × 0.25/0.75 = −V_in/3
D = 0.50 → V_out = −V_in × 0.50/0.50 = −V_in
D = 0.75 → V_out = −V_in × 0.75/0.25 = −3·V_in
D = 0.90 → V_out = −V_in × 0.90/0.10 = −9·V_in
The duty cycle continuously spans bucking (|V_out| < V_in) at D < 0.5 and boosting (|V_out| > V_in) at D > 0.5. At D = 0.5 the magnitude crosses through V_in exactly.
Worked example: −12 V from 5 V USB
Generate a −12 V analog supply for an op-amp from a USB 5 V rail, at I_load = 50 mA.
Duty cycle. −12 = −5 · D/(1−D) → D = 12/17 = 0.706. Switch on 70.6% of each period.
Switching frequency. f_sw = 500 kHz → T = 2 μs, t_on = 1.41 μs.
Inductor. Choose ΔI_L = 30% of I_in_avg. Since I_in_avg = I_load · |V_out|/V_in / efficiency ≈ 50 · 12/5 / 0.85 ≈ 141 mA, ΔI_L = 42 mA. L = V_in · t_on / ΔI_L = 5 · 1.41 μs / 0.042 = 168 μH. Round up to 220 μH shielded inductor rated for at least I_peak = I_in_avg + ΔI_L/2 ≈ 162 mA — pick 500 mA or 1 A part for margin.
Output capacitor. 22 μF tantalum or low-ESR electrolytic, voltage-rated for at least 16 V (1.3× |V_out|). Pay attention to polarity — the cap's negative terminal connects to ground; its positive terminal sits at the V_out node (which is negative w.r.t. ground in inverting topology). Some designers use bipolar ceramics to avoid the polarity confusion.
Switch and diode. Both must withstand V_in + |V_out| = 17 V. Pick 30 V-rated low-side MOSFET and 30 V Schottky. The MOSFET is referenced to ground at source, gate-driven from V_in side — a low-side N-channel works directly. The Schottky drops 0.4 V at 50 mA, contributing about 3% to inefficiency.
Efficiency. Expect 80–87% from this topology — about five points below a buck or boost at the same power. Acceptable for a low-power analog supply; the alternative (charge pump) has worse regulation and ripple.
Buck-boost family
| Topology | Polarity | Transfer | Pros | Cons |
|---|---|---|---|---|
| Inverting buck-boost | Reversed | V_out = −V_in·D/(1−D) | Single switch, simple, cheap | Negative output complicates load referencing |
| SEPIC | Same as V_in | V_out = V_in·D/(1−D) | Shared ground, non-inverting | Two inductors (or coupled), more parts |
| Ćuk | Reversed | V_out = −V_in·D/(1−D) | Continuous I_in and I_out (low ripple) | Inverting, AC-coupled output node |
| 4-switch non-inverting | Same as V_in | V_out = V_in·D_buck/(1−D_boost) | Best efficiency 95%+, smooth V_out polarity | 4 MOSFETs, complex control IC |
| Flyback (isolated) | Isolated, either polarity | V_out = V_in·N·D/(1−D) | Isolation, multiple outputs from one transformer | Transformer adds cost/size; snubber required |
| Charge-pump inverter | Reversed | V_out ≈ −V_in | No inductor; tiny | Limited current (mA), no regulation under load |
The modern four-switch non-inverting buck-boost
Putting one inductor between a buck half-bridge and a boost half-bridge gives a circuit that can operate as: (a) pure buck when V_in > V_out (only the buck switches operate, boost switches park as a wire), (b) pure boost when V_in < V_out (only the boost switches operate, buck switches park as a wire), or (c) full 4-switch buck-boost in the transition region near V_in ≈ V_out. The output stays positive, efficiency stays in the 92–96% range, and the control IC handles the mode-shifting transparently.
V_in ──[HS1]──┬──UUUU──┬──[HS2]── V_out
│ │
[LS1] [LS2]
│ │
GND GND
Buck mode: HS1+LS1 PWM; HS2 fully on, LS2 fully off
Boost mode: HS2+LS2 PWM; HS1 fully on, LS1 fully off
Buck-boost mode: all four switch in coordinated phases
Modern USB Power Delivery chargers and power banks use exactly this topology to deliver any negotiated voltage (5 V, 9 V, 12 V, 15 V, 20 V, 28 V) from a battery that swings 2.7–4.2 V per cell. The LTC3119, LTC3789, TPS63810, and TPS61253 are all variations on the 4-switch buck-boost theme.
Control loop and the right-half-plane zero
Like all boost-derived converters, the inverting buck-boost has a right-half-plane (RHP) zero in its small-signal control-to-output transfer function. Physically: increasing duty cycle to demand more output transiently decreases output (because the increased on-time steals time away from the energy-delivery off-time), before the new equilibrium pushes it up. This non-minimum-phase behaviour limits achievable loop bandwidth to a fraction (typically 1/5 to 1/10) of the RHP zero frequency, which sits at:
f_RHPZ ≈ V_out² × (1−D) / (2π × L × P_load × D)
For V_in = 5 V, V_out = −12 V, D = 0.71, L = 220 μH, P_load = 0.6 W:
f_RHPZ ≈ 144 × 0.29 / (2π × 220e−6 × 0.6 × 0.71)
≈ 7 kHz
Maximum useful loop bandwidth ≈ 700 Hz – 1.5 kHz.
This is why buck-boost and boost converters have slower load-step response than buck converters — they're physically slower to respond to demand changes. Compensation networks must accommodate the RHP zero, typically with low loop bandwidth and aggressive low-pass filtering. Engineers sometimes use feed-forward of input voltage to improve transient performance, since input-voltage changes don't suffer the RHP zero limitation.
Where buck-boost converters live
- Battery-powered portables. Lithium cell 2.7–4.2 V, regulated rail 3.3 V — buck-boost spans the full range. Almost every modern Bluetooth-low-energy sensor uses one.
- USB-PD chargers and power banks. 4-switch buck-boost regulates programmable outputs from a battery whose voltage is far from the output.
- Automotive 12 V rails. The car battery sits at 10–16 V depending on alternator and load state; many in-car electronics need a precisely 12 V output across that range, so a 4-switch buck-boost (or a synchronous boost cascaded with a buck) does the regulation.
- Negative supply generation. Op-amp ±15 V supplies from a single +15 V rail; LCD bias rails; GaAs RF circuits needing −5 V from a +5 V system bus.
- P-channel high-side FET drives. A high-side P-FET needs its gate pulled below source to turn on; an inverting buck-boost generates the gate-drive negative rail.
- LED drivers spanning input range. An LED string with V_f = 12–15 V driven from a wide-input adapter (9–24 V) uses a buck-boost for constant current across the full V_in range.
- Solar / energy-harvesting. Source voltage from a small PV panel or thermal harvester varies hugely with conditions; a buck-boost extracts maximum power across a wide V_in range into a stable battery-charging rail.
Common pitfalls
- Underestimating switch voltage stress. Switch sees V_in + |V_out|, not just V_in. A 5 V → −12 V buck-boost needs a 30 V+ MOSFET, not a 12 V part.
- Forgetting capacitor polarity in inverting topology. The output cap's positive terminal sits at the V_out node, which is below ground. Many engineers wire it the wrong way; on power-up the cap pops.
- Slow load-step response from RHP zero. Designing for a 100 kHz bandwidth in feedback when physics caps you at 10 kHz produces an unstable loop that oscillates on transients.
- Inductor saturation at peak. Peak inductor current is higher than I_load (it must be: the inductor stores all the energy during on-time). Use peak-current rating, not average, for I_sat sizing.
- Reference grounding errors. Inverting buck-boost outputs are referenced to ground from the cap negative; the load sees a negative supply. Loads expecting a positive rail need either a level-shifter or the topology choice should be SEPIC instead.
- Continuous vs discontinuous mode confusion. The clean V_out = −V_in·D/(1−D) only holds in CCM. At light load the converter slides into DCM and the equation becomes load-dependent — easy to misregulate if the controller can't sense mode.
The topology that has always existed
The inverting buck-boost is sometimes credited to R.D. Middlebrook's 1976 paper "A general unified approach to modelling switching-converter power stages", which formalised the analysis of buck, boost, and buck-boost as a unified family. In practice the topology existed in vacuum-tube DC-DC supplies of the 1950s and was reinvented multiple times. The Ćuk converter (Slobodan Ćuk, 1976) and the SEPIC (1977) were direct evolutions that solved the inverting-polarity problem of the basic buck-boost. The 4-switch non-inverting variant emerged in the 2000s as battery-powered USB devices needed both buck and boost behaviour from the same hardware with a positive output.
Today every major analog-IC vendor — TI, Analog Devices, Maxim, Microchip, ROHM — offers dozens of integrated buck-boost controllers and complete-module products spanning sub-mA medical-implant supplies up to 100 W laptop chargers. The four-component textbook circuit at the top of this page hasn't changed in seventy years; the silicon and the controllers wrapped around it have.
Frequently asked questions
Why does the buck-boost output have opposite polarity?
Look at where the inductor sits relative to the load. In a buck, the inductor feeds current into the load top from V_in; in a boost, it feeds current into the load top from a higher voltage it just built up. In the classic buck-boost topology, the inductor sits BETWEEN the load and ground — when the switch is on, the inductor charges with current flowing from V_in into the inductor's V_in-side terminal. When the switch opens, that current must continue (Lenz's law), so it flows OUT of the inductor's V_in-side terminal through the diode to the load — but now the load sees the inductor's BOTTOM terminal as 'positive' and the top (which was V_in) is now isolated. The reference flips. Output is negative w.r.t. ground.
What is the transfer function?
V_out = −V_in × D / (1 − D), where D is the duty cycle (fraction of period with switch closed) in continuous-conduction mode. Sign: negative because of polarity inversion. Magnitude: at D = 0.5, |V_out| = V_in (just inverted). At D < 0.5 you 'buck' (smaller magnitude than V_in). At D > 0.5 you 'boost' (larger magnitude than V_in). D = 0.25 → V_out = −V_in/3. D = 0.75 → V_out = −3V_in. The full equation comes from setting the inductor's average voltage to zero in steady state: V_in × D + V_out × (1−D) = 0 → solve for V_out.
Worked example: design for −12 V from a 5 V USB rail.
Want V_out = −12 V from V_in = 5 V. From V_out = −V_in·D/(1−D): −12 = −5·D/(1−D) → D = 12 / 17 ≈ 0.706. Switch on 70.6% of each period, off 29.4%. Pick f_sw = 500 kHz, so T = 2 μs. On-time = 1.41 μs, off-time = 0.59 μs. For 20% ripple at I_load = 200 mA: ΔI_L = 0.2 × (I_load / (1−D)) = 0.2 × 200/0.294 = 136 mA. L = V_in × t_on / ΔI_L = 5 V × 1.41 μs / 0.136 A = 52 μH. Round up to a 56 μH shielded inductor rated for ~1 A. Output cap: pick 22 μF MLCC with low ESR. Pick a low-side switch FET and Schottky diode rated for V_in + |V_out| = 17 V.
What is a SEPIC and how does it differ?
SEPIC (Single-Ended Primary-Inductance Converter) is a buck-boost variant that delivers non-inverting output — V_out has the same polarity as V_in but can be higher or lower. Topology adds a coupling capacitor between the switch node and a second inductor (or split-winding transformer). Cost: more components, higher BOM. Benefit: shared ground, no level shifting needed, easier to drive downstream loads. Many lithium-rail-powered systems (3.0–4.2 V battery → 3.3 V regulated rail) use SEPIC over inverting buck-boost because the negative output complicates everything. ICs like the LT3791 or LM5022 are popular SEPIC controllers.
What is a four-switch (non-inverting) buck-boost?
A four-switch buck-boost cascades a buck stage and a boost stage through a single inductor, with all four MOSFETs controlled to operate as buck-only when V_in > V_out, boost-only when V_in < V_out, and 4-switch buck-boost in the transition region. The output stays positive, efficiency stays high (95%+), and the transfer function continuously spans V_out > 0 across the full V_in range. Modern USB-PD power-bank ICs (LTC3119, TPS63810) are exactly this topology — they regulate a 5 V or 9 V or 20 V output from a battery that swings 2.7–4.2 V, never seeing the dropout problems of a pure buck or boost alone.
Where are buck-boost converters used?
Battery-powered systems with fixed output rail: a Li-ion cell sags from 4.2 V down to 3.0 V; many regulated rails (3.3 V, 3.6 V) fall in the middle, so neither pure buck nor pure boost works alone — buck-boost is the natural fit. Inverting buck-boost specifically: generating negative supplies for analog circuits (op-amp ±15 V from a single +15 V rail), gate drives for high-side P-channel FETs, LCD bias, sensor offset rails. Non-inverting four-switch buck-boost: USB-PD chargers, portable lab supplies, automotive 12 V (range 9–16 V) regulated to 12 V output, drone battery management.
What are the limitations?
Switch and diode see V_in + |V_out| of stress voltage — higher than a buck or boost alone. Inductor peak current is also higher than for an equivalent buck or boost at the same output power, so magnetics tend to be bigger and lossier. Efficiency typically 80–90% — a few points lower than a comparable buck (90–98%) or boost (88–95%). Right-half-plane (RHP) zero in the control loop makes feedback compensation tricky; bandwidth is typically limited to a fraction of switching frequency. For these reasons, when a buck or boost alone will work, you'd pick that — the buck-boost is reserved for the cases where input voltage genuinely spans above and below the desired output.