NEC Compliance
PV string sizing, explained properly the full variable checklist behind NEC 690.7
A PV string is not sized by guessing, and it is not sized by a single formula. It is a tight optimization between two opposing failure modes, governed by NEC 690.7 and 690.7(A). Size the string too short and the inverter never wakes up. Size it too long and you exceed the inverter’s maximum DC input voltage on a cold morning and damage the input. This is the complete set of inputs a correct sizing check evaluates, the exact math, and the quiet mistakes that produce code violations or dead inverters.
A technical reference for solar designers and PV engineers, from the team at Solar Design Lab. Last updated May 2026.
On this page
- 1.The constraints that define a valid string
- 2.The eight panel-side inputs
- 3.The inverter-side constraints: six voltage, two current
- 4.The environmental inputs that get missed
- 5.The actual math, step by step
- 6.Current per MPPT and the string-count tradeoff
- 7.Why microinverter strings size differently
- 8.The warnings a rigorous check should fire
- 9.What string size feeds downstream
- 10.What is NOT a sizing input
- 11.Why this belongs in software
- 12.Frequently asked questions
String sizing is a two-sided optimization, not a rule of thumb
Get the string too short and the inverter never wakes up, because string Vmp at hot cell temperature falls below the MPPT minimum. Get it too long and you exceed the inverter’s maximum DC input voltage on a cold morning and damage the input. Every other variable in the design feeds one or both of those two constraints.
The skill in string sizing is knowing which variables bind, under which conditions, and why. This reference walks through the complete set of inputs a correct check evaluates, the exact math, the warnings a rigorous check should fire, and the common mistakes that produce code violations or dead inverters. It is written for designers and engineers who want the full picture rather than a simplified version. If your current tool hides some of these inputs or substitutes defaults silently, that is worth knowing too, and we flag where those silent substitutions cause field problems.
1. The constraints that define a valid string
Most of string sizing reduces to keeping the string inside a voltage window under the two most extreme temperature conditions the site will see. But there is a third constraint that sits alongside the voltage window and increasingly drives the design on modern high-current panels: the current each MPPT input can accept. Voltage sets how long a string can be. Current sets how many strings you can land on each MPPT. A complete check enforces all three.
| Constraint | Failure mode | NEC reference |
|---|---|---|
| Minimum panels per string | Inverter never starts. String Vmp at hot cell temperature falls below the MPPT minimum. | NEC 690.7 |
| Maximum panels per string | Inverter input exceeds its rating. String Voc at cold ambient exceeds the maximum DC input voltage. | NEC 690.7(A) |
| Maximum current per MPPT | Inverter input overdriven. Combined string current into one MPPT exceeds its input current rating. | Inverter listing, NEC 690.8 |
The first two define the voltage window and are covered in the math below. The third defines how strings distribute across MPPT inputs, and it is the constraint that decides, for example, whether you run four shorter strings or three longer ones. We cover it in its own section because on today’s panels it is often the limit that actually binds.
The minimum is a hot-weather problem. Voltage falls as cells heat up, so the worst case for the lower bound is the hottest expected operating condition, when string Vmp is at its lowest and may drop below the inverter’s MPPT floor.
The maximum is a cold-weather problem. Voltage rises as cells cool, so the worst case for the upper bound is the coldest expected ambient temperature, when string Voc is at its highest and may exceed the inverter’s absolute maximum DC input voltage. NEC 690.7(A) specifically requires this cold-temperature Voc correction.
A valid string is any whole number of panels N where the minimum is satisfied at the hot extreme and the maximum is satisfied at the cold extreme. The job of a sizing check is to find that range precisely, using the right inputs, rather than approximating it and hoping.
The maximum DC input voltage is also a system voltage ceiling
The inverter’s absolute maximum DC input voltage is one ceiling, but it is not the only one. The maximum PV system voltage is also capped by the voltage rating of every component the string voltage touches: the conductors, the disconnects, and the inverter. NEC 690.7 sets the maximum permitted system voltage by application:
- One- and two-family dwellings: 600V DC maximum.
- Other installations such as commercial and multi-family above two units: commonly 1000V DC.
- Building exterior under specific 2023 NEC conditions (690.31): up to 1500V DC, with restrictions including 2000V-rated conductors and limits on entering buildings with habitable spaces.
The binding maximum for string sizing is the lower of the inverter’s absolute maximum DC input voltage and the system voltage ceiling for the application. On most residential string inverters the inverter ceiling binds first, but the application limit is a real constraint that a complete check respects, and exceeding it is a plan-check rejection even when the inverter itself could tolerate the voltage.
2. The eight panel-side inputs
From the panel datasheet, a correct check reads eight values. Each one matters, and skipping or approximating any of them moves the result.
- Vmp, voltage at maximum power point at STC. Drives the minimum-string calculation.
- Voc, open-circuit voltage at STC. Drives the maximum-string calculation.
- Isc, short-circuit current. Used downstream for wire sizing under NEC 690.8.
- Imp, current at maximum power point.
- Wattage, used for the DC/AC ratio and total system kW.
- Vmp temperature coefficient, in percent per degree C, describing how Vmp falls with heat.
- Voc temperature coefficient, in percent per degree C, describing how Voc rises with cold.
- Pmax temperature coefficient, in percent per degree C, used only as a fallback when no Vmp coefficient is published.
The Vmp versus Voc coefficient trap
Here is a subtle error that a careless process makes and a rigorous one refuses to make. Vmp drops more steeply with heat than Voc does. If a tool substitutes the Voc temperature coefficient where the Vmp coefficient is missing, it understates hot-weather Vmp loss, which makes the minimum-string calculation optimistic and can yield a string that fails to start the inverter on a hot day.
A correct check does not silently substitute one coefficient for the other. If the datasheet only publishes a Pmax coefficient, the check uses that as the documented fallback and flags it back to the user rather than guessing. Transparency about which coefficient was used is part of a defensible design.
3. The inverter-side constraints: six voltage, two current
From the inverter specification, a correct check reads six distinct voltage constraints plus the per-MPPT current ratings. Many designers know three of the voltage values. The ones that get missed are the full-load MPPT voltages and the input current limits, and missing them is exactly what produces inverters that will not start on the hottest days or that fail from current overload on the brightest cold ones.
The six voltage constraints:
- Startup voltage, the moment-of-truth threshold. String Vmp at hot temperature must exceed this for the inverter to wake at all.
- MPPT minimum voltage, no-load.
- MPPT minimum voltage at full load. This is often higher than the no-load minimum and is the binding floor on hot summer days, which is precisely when you can least afford to be near it.
- MPPT maximum voltage, no-load.
- MPPT maximum voltage at full load.
- Absolute maximum DC input voltage, the hard ceiling that cold Voc times panel count must never exceed.
The two current constraints, per MPPT input:
- Maximum operating input current per MPPT, the continuous current the MPPT will actually use. The combined Imp of all strings on that input must stay at or below this.
- Maximum short-circuit input current per MPPT, the fault-level ceiling the input is rated to survive. The combined cold-corrected Isc of all strings on that input must not exceed it.
Note that constraints 7 and 8 are per MPPT input, not per inverter. A dual-MPPT inverter rated 13A per MPPT does not accept 26A on one input just because the other is empty. How many strings you parallel onto a single MPPT, and therefore how you distribute strings across the available inputs, is governed by these two numbers.
The binding minimum is the highest of three
For the minimum-string calculation, the binding constraint is the highest of the startup voltage, the no-load MPPT minimum, and the full-load MPPT minimum. Any string sized below that highest value risks an inverter that does not start. A tool that uses only the no-load MPPT minimum, ignoring startup and full-load minimums, will undersize the minimum string and ship a design that underperforms or fails to wake in real conditions.
4. The environmental inputs that get missed
This is the category that separates a correct sizing from a plausible-looking one. The string voltage window is defined by temperature extremes, and getting those extremes wrong invalidates the entire calculation.
The two temperature references
- ASHRAE 2 percent cooling design temperature, the hot-day reference for the minimum-string calculation. A US-temperate default is around 35 degrees C, but it is site-specific. Phoenix is closer to 45 degrees C.
- ASHRAE 2 percent minimum extreme low, the cold-snap reference for the maximum-string calculation required by NEC 690.7(A). A US default is around -2 degrees C, but again it is site-specific. Denver is closer to -16 degrees C, while Phoenix is around +1 degrees C.
NEC 690.7 points to ASHRAE data as the reference for these expected extremes. Using record-low temperatures instead of the ASHRAE design values is one common way designs end up either overly conservative or, worse, non-compliant when the wrong direction is chosen.
The mounting cell-temperature adder
This is the input that is missed most often, and it has a large effect. The panel cell runs hotter than the ambient air, and how much hotter depends on the mounting configuration and the airflow behind the module.
| Mount type | Cell rise above ambient |
|---|---|
| Building-integrated (BIPV) | +35 degrees C |
| Flush mount, under 1 inch standoff | +33 degrees C |
| Standard roof mount, under 5 inch standoff | +30 degrees C |
| Rack or ground mount, over 5 inch standoff | +25 degrees C |
The implication is significant. A roof-mounted panel on a 35 degree C day is operating at roughly 65 degrees C cell temperature, not 35. That is where Vmp gets crushed, and it is why a string that looks fine if you forget the mounting adder can fall below the MPPT minimum in real summer conditions. The flush mount with the least airflow gets the hottest and is the most punishing for minimum-string sizing.
5. The actual math, step by step
Here is the full calculation, in sequence.
Step 1: Hot cell temperature
T_cell_hot = T_ambient_max + mounting_adderThe hot cell temperature is the hot ambient design temperature plus the mounting cell-temperature adder from the table above.
Step 2: Hot Vmp per panel
Vmp_hot = Vmp_STC × (1 + tempCoeffVmp × (T_cell_hot − 25))The Vmp at the hot cell temperature, derated from its STC value using the Vmp temperature coefficient. Because the coefficient is negative and the hot cell temperature is well above 25 degrees C, this value is meaningfully below the STC Vmp.
Step 3: Minimum panels per string
min_panels = ceil( mpptMinVoltage / Vmp_hot )Where mpptMinVoltage is the binding minimum, the highest of startup, no-load MPPT minimum, and full-load MPPT minimum. The ceiling function is used because you need enough panels to clear the floor.
Step 4: Cold Voc per panel, required by NEC 690.7(A)
Voc_cold = Voc_STC × (1 + tempCoeffVoc × (T_ambient_min − 25))The Voc at the cold ambient extreme, increased from its STC value using the Voc temperature coefficient. Because the coefficient is negative and the cold ambient is below 25 degrees C, the term increases Voc above its STC value. This is the cold-temperature correction NEC 690.7(A) specifically requires.
Step 5: Maximum panels per string
max_panels = floor( maxDcVoltage / Voc_cold )Where maxDcVoltage is the inverter’s absolute maximum DC input voltage. The floor function is used because exceeding the ceiling even once damages the input, so you round down.
Step 6: The valid range
The valid string size is any integer N such that:
min_panels ≤ N ≤ max_panelsIf min_panels exceeds max_panels, no valid string exists for that panel and inverter pairing at that site, and the equipment selection itself has to change. A good check surfaces that immediately rather than letting the designer discover it later.
A fully worked example
Take a real residential pairing on a standard roof mount in Denver.
- Panel: 410W module. Vmp 31.2V, Voc 37.4V at STC. Vmp temperature coefficient -0.35 percent per degree C. Voc temperature coefficient -0.25 percent per degree C.
- Inverter: 600V absolute maximum DC input. Binding MPPT minimum (the highest of startup, no-load minimum, and full-load minimum) of 80V.
- Site, standard roof mount under 5 inches: ASHRAE cooling design 33 degrees C, ASHRAE extreme low -16 degrees C, mounting adder +30 degrees C.
Minimum string, hot side:
T_cell_hot = 33 + 30 = 63 °C
Vmp_hot = 31.2 × (1 + (−0.0035 × (63 − 25))) = 31.2 × (1 − 0.133) = 27.05 V
min_panels = ceil( 80 / 27.05 ) = ceil(2.96) = 3Maximum string, cold side, per NEC 690.7(A):
Voc_cold = 37.4 × (1 + (−0.0025 × (−16 − 25))) = 37.4 × (1 + 0.1025) = 41.23 V
max_panels = floor( 600 / 41.23 ) = floor(14.55) = 14Valid range: 3 to 14 panels per string. A designer would typically land near the top of that range, perhaps 12 or 13, to keep the operating voltage high in the efficient part of the MPPT curve while leaving margin below the 14-panel ceiling.
Now watch what a single dropped input does. Forget the +30 degree C mounting adder and compute the minimum at 33 degrees C instead of 63 degrees C, and Vmp_hot reads 30.3V instead of 27.05V, which still gives a minimum of 3 here but in a colder climate or against a higher MPPT floor would understate the minimum and let through a string that will not start on a hot afternoon. Substitute a shallower Voc coefficient of -0.20 percent for the real -0.25, and Voc_cold reads 40.4V instead of 41.23V, which can push the apparent maximum from 14 to 15 panels and produce a cold-morning overvoltage that exceeds the 600V ceiling. The math is simple. The discipline of using the right inputs every time is the hard part.
6. Current per MPPT and the string-count tradeoff
The voltage math tells you how long a string can be. It does not tell you how many strings you can run or how to distribute them across the inverter’s MPPT inputs. That is a separate decision governed by the per-MPPT current limits, and on modern high-current panels it is frequently the constraint that actually binds the design.
Why this is now the binding constraint
Panels have gotten dramatically more powerful, and the way they got there is partly higher current. A current-generation module can have an Imp above 13A and an Isc higher still. Meanwhile, a typical residential string inverter MPPT input is rated around 11 to 16A operating. The arithmetic gets tight fast. One string of high-current modules can sit comfortably on an MPPT. Parallel a second string onto the same input and the currents add, and you can blow past the MPPT’s input rating even though the voltage window is perfectly satisfied.
This is the failure mode that voltage-only sizing misses entirely. A string can pass every voltage check and still overdrive the MPPT on current. The inverter may run through a mild season and then fail on the first bright, cold day, when current is at its highest. The cold-temperature correction that raises Voc also raises Isc, so the worst case for current is the same cold, sunny condition that sets the maximum voltage.
The design tradeoff: fewer longer strings versus more shorter strings
Here is where it becomes a real design lever rather than a pass-fail check. Suppose you have 48 panels to wire onto a dual-MPPT inverter, and the per-MPPT current rating only comfortably accepts one string of these high-current modules per input.
- Four strings of 12 would require paralleling two strings onto each of the two MPPT inputs. That doubles the current on each input and can exceed the MPPT rating.
- Two strings of 24, if 24 panels fit inside the voltage window, puts one string on each MPPT, keeping each input within its current limit.
The total panel count is identical. The total array power is identical. The difference is entirely in how the strings are configured and distributed, and only one of the two configurations is valid on the current constraint. The voltage math alone would happily approve both. This is exactly the situation where four shorter strings will not work but three longer ones, or two longer ones, will.
The general principle: when the per-MPPT current limit is tight, you favor fewer, longer strings to reduce the number of parallel currents landing on each input, as long as the longer strings still fit under the cold-Voc maximum. The voltage window sets the ceiling on how long you can go. The current limit sets the floor on how few strings you can get away with. The valid design lives where both are satisfied at once.
What a complete check does
A complete check does not just validate one string in isolation. It looks at the whole array and the inverter’s MPPT topology together, and it verifies:
- Each string length is inside the voltage window, from the math above.
- The number of strings assigned to each MPPT input, multiplied by the per-string cold-corrected Isc, stays within that input’s short-circuit current rating.
- The combined Imp on each input stays within the operating current rating.
- Where the current limit forces a choice, it steers toward the string configuration that distributes current legally across the available inputs, which often means fewer and longer strings rather than more and shorter ones.
This is why string sizing and string distribution cannot be fully separated. The length of the string and the number of strings per MPPT are solved together, against the voltage window and the current limits simultaneously. A tool that sizes the string for voltage but never checks the resulting current per MPPT will approve configurations that smoke the inverter.
7. Why microinverter strings size completely differently
For microinverter systems, the entire voltage-window framework above does not apply, because the voltage conversion happens at each module. The binding constraint is not voltage. It is branch circuit current.
A correct microinverter check looks up different values:
- Maximum units per branch, keyed by breaker size. The limit differs for a 15A, 20A, or 25A branch breaker, and it comes from the device’s branch circuit specification map.
- Default breaker size for the device.
- Branch phases, single-phase versus three-phase Wye, which determines whether the trunk cable is two-conductor or three-conductor.
- Branch line-to-neutral specification, which determines whether a three-phase trunk needs an unbalanced neutral.
The maximum number of microinverters per branch is then:
max_units = min( max_units_per_branch[selected_breaker], roof_count_limit )This is governed by NEC 210.20 for the branch circuit overcurrent protection and NEC 690.8(D) for the system. A tool that applies string-voltage logic to a microinverter system, or branch-current logic to a string system, is applying the wrong constraint entirely.
8. The warnings a rigorous check should fire
A sizing check that only returns pass or fail on the minimum and maximum is incomplete. Several conditions are technically valid but signal a suboptimal or risky design, and a rigorous check surfaces them.
High DC/AC ratio warning. When string DC watts divided by inverter AC nominal exceeds 1.5, clipping becomes likely, and the check should issue a clipping advisory. A modest DC/AC ratio above 1.0 is normal and often beneficial. An aggressive one wastes potential production.
Operating voltage deviation warning. When string Vmp at STC is more than plus or minus 20 percent off the inverter’s nominal DC operating voltage, the string is operating at a suboptimal point on the MPPT curve, and the check should flag it. The string may be valid but is not where the inverter is most efficient.
Missing temperature coefficient warning. When the panel record has no Voc temperature coefficient, a rigorous check refuses to substitute a generic silicon default such as -0.27 percent per degree C. It fires a panel-Voc-coefficient-unknown warning instead. Silently using a default here can produce an NEC 690.7(A) violation if the real coefficient is steeper than the default.
Missing project temperature warning. When the project’s environmental configuration is empty, a rigorous check refuses to size using default temperatures. Sizing a cold-climate project with mild default temps would ship NEC 690.7(A) violations, because the real cold extreme produces a higher Voc than the default assumed. The check should stop and require the site temperatures.
The theme across all four warnings is the same. The dangerous failures in string sizing are not the loud ones that obviously fail. They are the quiet ones where a default gets substituted, the number looks reasonable, and the violation only appears in the field or in a plan-check rejection.
9. What string size feeds downstream
The resolved string size is not the end of the process. It feeds several downstream calculations, and an error in the string size propagates into all of them.
DC string wire sizing. The minimum conductor ampacity is Isc times 1.25 for continuous use per NEC 690.8(A)(1), times another 1.25 for the overcurrent device safety factor per 690.8(B). Those two 1.25 factors compound, and the conductor must carry the result.
Small-conductor overcurrent bump. NEC 240.4(D) caps the overcurrent protection relative to the conductor AWG to prevent fault-current problems in small conductors. This interacts with the wire sizing above.
PV wire stocking floor. Industry convention sets a number 10 AWG minimum for DC string wires, because number 12 PV wire spools are rare in practice. A correct process respects the practical stocking floor, not just the theoretical minimum gauge.
String-to-MPPT assignment. When multiple strings share one MPPT input, they must have matching panel counts, or close enough that the resulting voltage ranges overlap for both strings. Mismatched strings on a shared MPPT operate at least one of them off its true maximum power point.
Maximum input current per MPPT. Covered in its own section above, because it is a design constraint rather than just a downstream calculation. The resolved string count and distribution must keep the combined cold-corrected current on each MPPT input within that input’s operating and short-circuit ratings. On modern high-current panels this is often the limit that decides the final string configuration.
10. What is NOT a sizing input, despite installer folklore
Part of getting string sizing right is knowing what does not affect it, because conflating these with sizing inputs wastes time and sometimes produces wrong designs.
Roof azimuth and tilt. These affect energy production, not string sizing. A south array and a west array of the same panels on the same inverter size identically. Orientation changes how much energy the string makes, not the MPPT voltage window it has to live within.
Shading. Shading affects per-string output and is a real production and layout concern, but it does not change the MPPT envelope the string must satisfy. The voltage window is set by temperature and equipment, not by partial shade.
Wire run length. Run length affects voltage drop and therefore wire gauge selection, not the number of panels in the string. A longer run may need a heavier conductor, but it does not change the valid string size.
Inverter brand preference. Every inverter’s MPPT window is a fixed electrical property. There is no brand preference that changes the math. The window is what it is, and the string either fits inside it or does not.
Treating any of these four as a string-sizing input is a sign of folklore rather than method.
11. Why this belongs in software, not a spreadsheet
Read back through the preceding sections and count the inputs: eight panel values, six inverter constraints, three environmental references including a mounting adder that depends on standoff height, two compounding temperature corrections, a branch-current path for microinverters, four warning conditions, and four downstream propagations. Every one of them has to be correct, sourced from the right datasheet field, and applied in the right direction.
This is exactly the kind of work that is error-prone by hand and reliable in software. Not because designers cannot do the math, but because doing it correctly for every string on every project, with current datasheet values, the right ASHRAE temperatures for each site, the correct mounting adder, and a refusal to substitute missing coefficients silently, is a discipline that a spreadsheet does not enforce and a tired designer at the end of a long day does not always maintain.
The failure modes are quiet. A substituted coefficient, a forgotten mounting adder, a default temperature on a cold-climate site. Each looks fine on the page and shows up later as an inverter that will not start, a plan-check rejection citing NEC 690.7(A), or a cold-morning overvoltage event. The cost is not the math. The cost is the rejection cycle, the truck roll, and the warranty argument.
This is the part of design that Solar Design Lab automates. Our designer runs the full check above on every string you place: it reads the eight panel values and six inverter constraints from the equipment records, applies the site-specific ASHRAE temperatures and the correct mounting adder, runs both temperature corrections, refuses to substitute missing coefficients silently and warns you instead, fires the DC/AC and operating-voltage advisories, and feeds the resolved string size into the downstream wire and OCPD sizing. The point is to make the correct, code-compliant result the default outcome of placing a string, so the quiet failures never reach the field or the plan reviewer.
For designers evaluating tools, this is the level of rigor worth checking for. Ask whether a tool exposes the full-load MPPT minimums, whether it applies a mounting cell-temperature adder, and whether it substitutes missing temperature coefficients silently or warns you. Those three questions separate tools that look like they size strings from tools that actually do.
12. Frequently asked questions
- What NEC sections govern PV string sizing?
- NEC 690.7 establishes the maximum PV system voltage requirement, and 690.7(A) requires that the maximum voltage be calculated using the open-circuit voltage corrected for the lowest expected ambient temperature. Together they define the cold-weather upper bound on string length. The minimum-string side is driven by the inverter’s MPPT and startup voltages rather than a single code section, but the temperature framework that makes both bounds calculable comes from 690.7.
- Why does cold weather set the maximum string length?
- Because PV module open-circuit voltage rises as cell temperature falls. The coldest expected ambient temperature produces the highest string Voc, and that highest value must not exceed the inverter’s absolute maximum DC input voltage. NEC 690.7(A) requires this cold-temperature correction specifically to prevent overvoltage damage.
- Why does hot weather set the minimum string length?
- Because module Vmp falls as cell temperature rises. The hottest expected operating condition produces the lowest string Vmp, which must still exceed the inverter’s binding MPPT minimum, which is the highest of the startup voltage, the no-load MPPT minimum, and the full-load MPPT minimum. If the hot Vmp falls below that floor, the inverter will not start or will drop offline in heat.
- What temperature should I use for string sizing?
- Use the site-specific ASHRAE design temperatures, not record extremes. The ASHRAE 2 percent cooling design temperature is the hot reference for the minimum string, and the ASHRAE extreme minimum is the cold reference for the maximum string. NEC 690.7 points to ASHRAE data for these values. Using a generic default temperature on a site whose real extremes differ is a common source of non-compliant designs.
- Do I need to add anything to ambient temperature for the panels?
- Yes. The panel cell runs hotter than ambient air, and you add a mounting cell-temperature adder for the hot-side calculation. The adder ranges from about +25 degrees C for rack or ground mounts with good airflow to +35 degrees C for building-integrated PV. A standard roof mount adds about +30 degrees C, so a panel on a 35 degree C day operates near 65 degrees C cell temperature. Forgetting this adder is one of the most common minimum-string errors.
- Can I use the Voc temperature coefficient if the Vmp coefficient is missing?
- You should not substitute it silently. Vmp falls more steeply with heat than Voc does, so using the Voc coefficient understates hot-weather Vmp loss and can produce a string that fails to start. If the Vmp coefficient is missing, the correct fallback is the Pmax coefficient with a flag to the user, not a silent Voc substitution.
- How do microinverter strings size differently?
- Microinverter branches are limited by branch circuit current, not string voltage, because each module has its own inverter. The binding limit is the maximum number of units per branch keyed to the branch breaker size, governed by NEC 210.20 and 690.8(D), capped by the physical roof count. The string-voltage window framework does not apply to microinverters at all.
- Does roof orientation affect string sizing?
- No. Azimuth and tilt affect energy production but not the MPPT voltage window. The same panels on the same inverter size identically regardless of orientation. Shading and wire run length similarly affect production and wire gauge respectively, but not the valid string size.
- What happens downstream once the string size is set?
- The resolved string size feeds DC conductor sizing at Isc times 1.25 times 1.25 per NEC 690.8(A)(1) and 690.8(B), the small-conductor OCPD cap under 240.4(D), the practical number 10 AWG PV wire stocking floor, and string-to-MPPT assignment where strings sharing an MPPT must have matching panel counts. An error in the string size propagates into all of these.
- What is the most common string sizing mistake?
- Quiet default substitutions. A forgotten mounting cell-temperature adder, a record-low temperature used instead of the ASHRAE value, or a generic temperature coefficient substituted for a missing one. Each produces a number that looks reasonable but yields an inverter that will not start, a cold-morning overvoltage event, or a plan-check rejection citing NEC 690.7(A). The loud failures are easy to catch. The quiet ones are what reach the field.
- How many panels are in a typical string?
- It depends entirely on the panel, the inverter, and the site temperatures, so there is no universal number. As a rough orientation, a typical residential string on a 600V inverter often lands around 7 to 14 panels, and a commercial string on a 1000V inverter often runs longer, in the high teens to mid-twenties. These are not design values. The only correct string length is the one that falls inside the valid range computed from your specific panel, your specific inverter’s voltage window, and your site’s ASHRAE temperature extremes. Use the typical ranges as a sanity check on your calculation, never as a substitute for it.
- Should I use a 600V or 1000V inverter for string sizing?
- NEC 690.7 limits one- and two-family dwellings to 600V DC maximum, so residential systems use 600V-class equipment. Other installations, including commercial and multi-family above two units, are commonly permitted up to 1000V DC, and certain building-exterior installations under the 2023 NEC up to 1500V DC. The higher voltage ceiling allows longer strings, which means fewer strings, fewer home runs, and less balance-of-system hardware for the same array, which is why commercial systems favor the higher voltage classes. The voltage class is set by the application and the equipment rating, not by preference.
- Why did my inverter fail even though my string voltage was within range?
- The most common cause on modern high-current panels is exceeding the maximum input current per MPPT, not voltage. Each MPPT input has a maximum operating and short-circuit input current. When two strings are paralleled into one MPPT, their currents add, and today’s high-Imp modules can push the combined current past the MPPT rating even when the voltage window is satisfied. The inverter may run for a season before the input fails. A complete string check verifies per-MPPT current against the input rating, corrected for the cold-temperature current rise, not just the voltage window.
- Does the full-load MPPT minimum really matter, or is the no-load minimum enough?
- It matters, and using only the no-load minimum is a real error. Many inverters specify a higher MPPT minimum voltage at full load than at no load. On a hot summer afternoon, when the inverter is at full output and string Vmp is already depressed by heat, the full-load minimum is the binding floor. Size to the no-load minimum alone and the string can fall below the full-load minimum exactly when the array is producing hardest, causing the inverter to drop offline or hunt. The binding minimum is the highest of startup, no-load MPPT minimum, and full-load MPPT minimum.
The short version
A valid PV string lives inside a voltage window defined by two temperature extremes. The cold extreme sets the maximum string length through NEC 690.7(A) Voc correction. The hot extreme, including the mounting cell-temperature adder, sets the minimum through the inverter’s binding MPPT floor. Between them, the eight panel inputs, six inverter constraints, and site-specific ASHRAE temperatures determine the valid range, which then propagates into wire sizing, OCPD selection, and MPPT assignment.
Doing this correctly once is straightforward. Doing it correctly for every string on every project, with current values and no silent substitutions, is a discipline that belongs in software. That is precisely what our designer is built to enforce.
String sizing that runs the full check on every string you place.
Solar Design Lab reads the panel and inverter values from the equipment records, applies the site ASHRAE temperatures and the correct mounting adder, runs both temperature corrections, and warns instead of silently substituting missing coefficients. Stamping from $150 per planset.
More resources
Related guides & tools
This reference reflects NEC 690.7 and 690.8 as they apply to PV string sizing as of May 2026. Code adoption varies by jurisdiction, and specific projects require confirmation of the adopted NEC cycle and the site-specific design temperatures with the local AHJ. This is an educational technical reference, not a substitute for project-specific engineering.