SolarSoftwares
Book a demo

What Is MLPE (Module-Level Power Electronics)?

How we keep reviews fair

Quick answer

MLPE (module-level power electronics) is hardware fitted to each solar module, or each pair, that tracks, converts or switches off that module on its own. It covers microinverters, DC optimisers and shutdown or monitoring units. Under NEC 2017 and later, rooftop rapid shutdown is commonly met with MLPE.

Ready to see how it works?

Tell the SolarSoftwares team which tool you are considering. We reply by email to book your demo.

Book a demo
Jump to a section

Key takeaways

  • MLPE has three forms: microinverters, DC optimisers and units that do not optimise at all. Only microinverters need no string inverter.
  • In the 12-module model, optimisers beat a string inverter by 459 W under dormer shade. They trailed it by 36 W with no shade.
  • MLPE pays when whole modules get different light. Two roof faces left the string 533 W behind optimisers.
  • In our model of one shaded module, light must fall below about 93% before an assumed 1% optimiser loss pays back. The 1% is NREL’s SAM advice.

A design tool can report a different yield for the same roof with optimisers or microinverters, because most tools set mismatch loss to zero for MLPE. To see how tools handle mismatch and shade, see the best solar design software. If you are still choosing the device, read the microinverter and power optimiser pages first.

MLPE at a glance

MLPE puts conversion or control electronics at each module. It does not rely on one inverter alone.

ItemDetail
What it isOne device per module (or per pair). It is a microinverter, a DC optimiser, or a non-optimising unit such as some Tigo TS4 models.
What it changesMismatch, shade response, monitoring detail, shutdown behaviour and string design limits.
Typical numbersOur 12-module model: optimisers -36 W with no shade, and -34 W to +533 W across the four shaded cases.
Standard or ruleNo single performance standard. Shutdown and listing rules sit in the NEC. See rapid shutdown.
In softwareOf the five tools we checked, three read zero mismatch for MLPE designs and two do so in part. Shade handling differs.

Why MLPE matters for installers

It changes what you sell and what you can design. It also changes what a yield report shows. The right choice depends on shade, roof faces, monitoring needs and local shutdown rules.

Model both layouts before you quote. In our example MLPE loses to a string inverter on an unshaded roof. It wins by up to 533 W on a split roof. Most tools also zero the mismatch loss for MLPE designs, so the yield figure moves with the device you pick.

What are the types of MLPE?

There are three. The US Department of Energy groups microinverters and DC optimisers under MLPE. Some companies also sell units that do not optimise.

  • Microinverter. Converts DC to AC at the module. You need no string inverter (see the DOE case study and the Solar Power World primer in Sources).
  • DC optimiser. A DC-DC converter. It tracks each module’s power point and feeds a central inverter. Built-in versions appear in smart modules.
  • Non-optimising MLPE. Tigo’s home page says you can choose optimisation, monitoring and/or rapid shutdown. Its support page says non-optimising TS4 models cannot offset imbalance.

What does MLPE change?

It changes mismatch, shade response, monitoring, shutdown and design limits. Only the first two are about energy. Limits come below.

  • Mismatch. Aurora’s help centre says it does not apply mismatch loss to microinverter, DC optimiser or cell string optimiser designs. NREL’s SAM fact sheet recommends 0% mismatch. It adds an optimiser loss of 1% (2.5% for units made before 2012). The mismatch loss page covers measured recovery.
  • Shade. A shaded module no longer sets the current for the others. The gain depends on the shade type. See Figure 1 and shading analysis.
  • Monitoring. The DOE case study says MLPE with optional gateways can report each module. That is a product feature. Not every unit has it. See module-level monitoring.
  • Shutdown. The same 2015 case study says MLPE can help meet NEC rapid shutdown rules. Rules have changed since. See rapid shutdown.

Worked example: string inverter or MLPE on a shaded roof?

On this 12-module array, MLPE helped most where whole modules saw different light. It helped least where bypass diodes could cope.

Array: one series string of 12 modules, from a 299.7 W, 60-cell record in the CEC library shipped with pvlib 0.16.1. Each module has 3 bypass diodes over 20 cells each (assumed). Conditions: 1000 W/m2 on full-light cells, 25 °C. "Light" is the share of that irradiance reaching a shaded section. Optimisers lose 1% of module power. NREL’s SAM fact sheet recommends this for units made since 2012. Microinverters get no extra loss. Every case shares one inverter efficiency, but real products differ. The model ignores the inverter voltage window and clipping.

CaseMicroinverters (W)String inverter (W)Optimisers (W)Optimisers minus string (W)
S0 No shade3,5963,5963,560-36
S1 Chimney: two modules, 1 of 3 diode sections at 20% light3,3873,3873,353-34
S2 Tree edge: 4 modules, 1 section each at 80, 60, 40 and 20% light3,2433,1783,211+33
S3 Dormer: 3 whole modules at 50% light3,1462,6563,115+459
S4 Two faces: 6 modules at 100% light, 6 at 60%2,8782,3162,849+533
Two charts for a 12-module string of 300 W modules. Left: DC power for a string inverter, optimisers and microinverters in five shade cases, with the string 459 W and 533 W behind optimisers in the dormer and two-face cases. Right: string loss from one shaded module against its light, passing the 1% optimiser loss at 93% light.

Figure 1. In our model MLPE gains nothing where diodes can skip shaded sections, and gains most where whole modules differ in light.

  • S1: the diodes skip the shaded sections in both modules together. The string then matches the modules’ own peaks. Shade still costs 209 W (5.8%) against S0 in every layout.
  • S2: unequal light forces one compromise current. The string trails the modules’ own peaks by 2.0%. So optimisers gain only 33 W. At 2.5% optimiser loss they would lose 16 W.
  • S3 and S4: the string sits 15.6% and 19.5% below the modules’ own peaks. Optimisers gain 459 W and 533 W.
  • One module. A single whole module at 93% light costs the string about 1%. The loss peaks near 7.4% around 82% light. Below that, the diodes skip the module. It then costs only what it could still make.

These are instants, not annual energy. Real shade moves. For annual results use a yield simulation.

How the numbers were computed. pvlib’s single-diode model gives each section’s voltage at a given current. Add the sections. Clamp each at -0.5 V for its bypass diode. Then take the peak of voltage times current. The string has one curve. MLPE takes each module’s own peak.

Show the Python code behind these numbers
import numpy as np, pvlib
mod = pvlib.pvsystem.retrieve_sam('CECMod')['Canadian_Solar_Inc__CS6K_300M']
I = np.linspace(0, 11, 4401)          # current grid (A)
def section_v(light):                  # one bypass-diode section (20 cells)
    il, i0, rs, rsh, nn = pvlib.pvsystem.calcparams_cec(
        1000*light, 25, mod.alpha_sc, mod.a_ref, mod.I_L_ref,
        mod.I_o_ref, mod.R_sh_ref, mod.R_s, mod.Adjust)
    v = pvlib.pvsystem.v_from_i(I, il, i0, rs/3, rsh/3, nn/3, method='lambertw')
    return np.maximum(v, -0.5)         # bypass diode clamps the section at -0.5 V
def module_v(lights): return sum(section_v(x) for x in lights)
def peak(v): return (v * I).max()
mods = [(0.5, 0.5, 0.5)] * 3 + [(1, 1, 1)] * 9      # S3: dormer shades 3 modules
curves = [module_v(m) for m in mods]
ceiling = sum(peak(v) for v in curves)               # MLPE: every module on its own peak
string = peak(sum(curves))                           # one tracker, one string current
optimisers = ceiling * 0.99                          # assumed 1% conversion loss

Run on its own, the code above gives 2,656 W for the string. Optimisers give 3,115 W. The ceiling is 3,146 W. A hand rule gives 2,697 W for S3. The rule is to hold all 12 at half current, or skip three modules. The model is 1.5% lower because 9 diodes drop 0.5 V each. Setting the drop near zero returns 2,697 W.

MLPE shade calculator

Enter up to four shaded groups to compare a string inverter, optimisers and microinverters. The presets match the table above.

Open the calculator on its own page

What design limits does MLPE bring?

MLPE removes some string rules and adds device rules. Read the data sheet for your product and region. The figures below are examples, not a standard.

  • Microinverters. Enphase’s IQ8M and IQ8A data sheet (US models, revision 5.0, August 2025) prints 11 units per 20 A branch (240 V). Only the IQ8A column is confirmed. A footnote says limits may vary locally. It also says the unit enforces no DC/AC ratio.
  • Optimisers. SolarEdge’s North America single string note (version 1.0, February 2024) allows up to 25 optimisers in a single-phase string. Its examples use 5.7 kW per string. It sets no minimum length. If the conditions fail, it calls for two strings.
  • Uneven parallel strings. Tigo’s support page says its optimising TS4-A-O units can offset length differences while the gap stays below 25%. The gap is one minus short over long. The page’s formula says "less than or equal to 25%". Non-optimising TS4-F, 2F, M and S cannot.
  • Inverter limits stay. A string inverter keeps its voltage window. See string sizing for the voltage window.

How solar software handles MLPE

Mismatch handling is the clearest split. Aurora, HelioScope and OpenSolar zero it for MLPE designs, and PVsyst and SAM do so in part. Shade handling is less clear: only OpenSolar is rated Yes outright, and PVsyst gets Yes for optimisers only. In the table, Not stated means the company page we cite is silent, and Partly means it covers only part of the behaviour.

SoftwareMismatch with MLPEShade with MLPE
Aurora SolarYesNot stated
HelioScopeYesPartly
OpenSolarYesYes
PVsystPartlyYes for optimisers
SAMPartlyPartly

Notes from each company page:

  • Aurora Solar: Mismatch is not applied for microinverter, DC optimizer or cell string optimizer designs. Shade is not stated on the page read. Page read: Help centre "System Losses", updated 29 June 2026.
  • HelioScope: Mismatch "should be zero by default" for microinverters or optimizers. An optimizer output row applies if optimizers are in the design. Shade: says MLPE benefits show automatically. No method on the pages read. Pages read: Loss Factors, updated 9 July 2025. Mismatch Calculations, updated 3 June 2026.
  • OpenSolar: Mismatch is 0% in PVWatts and SAM runs for microinverter or optimizer designs. Shade: SAM shading is linear at panel level. PVWatts uses a 33% shade mitigation factor. Page read: "Stringing Micro Inverters and Power Optimizers" (no update date shown). Another page applies optimizers to selected panels.
  • PVsyst: The optimiser page says the benefit is recovery of electrical mismatch, kept as a constant derate. No 0% setting stated. Shade: sub-module electrical shading. Its SolarEdge page says to use the Module Layout tool. Microinverters not found on pages read. Pages read: Power optimizers, management and SolarEdge architecture pages, undated, read October 2026.
  • SAM: The fact sheet recommends 0% mismatch as a user input. The Losses page has buttons that apply it. It adds an optimiser loss input. Shade is entered or modelled. The fact sheet says to reduce it for MLPE but gives no value. Page read: NREL fact sheet, July 2015. Current SAM help is not among the pages read.

The pages differ in date, from July 2015 to October 2026. PVsyst’s page also says optimisers cannot recover much from partial shading. That holds for a single string in parallel with unshaded ones. To compare tools, see the best solar design software.

Common mistakes with MLPE

FAQs

Do microinverters and optimisers always beat a string inverter in shade?

No. In our model, chimney shade left a string inverter level with the modules’ own peaks. Dormer shade left it 15.6% below. It is a snapshot, so test your roof.

Is a DC optimiser the same as a microinverter?

No. An optimiser tracks each module’s power point on the DC side. It still needs a string inverter. A microinverter converts to AC at the module.

Do I need MLPE for rapid shutdown?

Not always. The rule depends on the code edition and your AHJ. The DOE case study says MLPE can help meet NEC rapid shutdown rules, but rules have changed since. The rapid shutdown page covers the rules.

Does MLPE remove mismatch loss?

It removes most of the series-current penalty, not the shade. Optimisers add a conversion loss. NREL’s SAM advice puts it at 1%. See mismatch loss.

Can I model MLPE and string modules in one project?

Sometimes, depending on the tool. NREL’s 2015 fact sheet says one SAM case holds one inverter type, so to mix them you combine two cases. OpenSolar’s help page says optimisers can go on selected panels.

  • Power optimiser: a DC-DC converter that tracks one module’s peak.
  • Microinverter: a small inverter on one module.
  • Mismatch loss: power lost when wired modules cannot all run at their own peak.
  • MPPT: the control that holds an input at its best voltage.
  • Rapid shutdown: the rule that cuts module voltage fast, which MLPE can help meet.

Next step: before you quote a shaded roof, look at how each tool in the best solar design software list treats mismatch and shade.

Sources

Every source below was checked in October 2026.

Last updated 30 October 2026. Next scheduled review: 30 January 2027.

See the software on your shortlist.

Tell the SolarSoftwares team what you want in your solar software.

Your request goes by email to the SolarSoftwares team. A demo time is set only after we reply.