NEC 690.7 sets the hard voltage ceiling for every US solar installation. Get this calculation wrong and your permit fails at plan review. Exceed the limit in the field and the system fails final inspection.
The rule itself is simple: residential systems cannot exceed 600V DC, commercial systems cannot exceed 1000V DC. What trips up installers is the temperature correction — the code requires calculating the worst-case voltage using the lowest expected ambient temperature at the site, not just the STC module rating.
What NEC 690.7 Actually Requires
NEC 690.7(A) states that the maximum voltage of PV source circuits and PV output circuits cannot exceed:
- 600V for systems on one- and two-family dwellings
- 1000V for all other systems (commercial, industrial, ground-mount)
- 1500V for systems using listed 1500V-rated equipment (commercial and utility-scale only)
The voltage used for this check is the temperature-corrected open-circuit voltage (Voc), not the operating voltage. The reason: solar modules produce their highest voltage at cold temperatures when current demand is zero — exactly when a firefighter might be cutting a wire.
Why Temperature Correction Matters
A module with a rated Voc of 42.0V at 25°C may produce 48.5V at -20°C. Put 14 of those in series and you have 679V — above the 600V residential limit. Without the temperature correction, the string looks fine (588V at STC). With it, you have a code violation that will fail inspection.
The Temperature Correction Calculation
The temperature-corrected Voc is calculated as:
Voc_corrected = Voc_STC × N_series × [1 + (T_min - 25) × (β_Voc / 100)]
Where:
Voc_STC= Module open-circuit voltage at standard test conditions (from datasheet)N_series= Number of modules in series in the stringT_min= Lowest expected ambient temperature at the site (°C)β_Voc= Temperature coefficient of Voc (%/°C, negative value for crystalline silicon)
Finding T_min: ASHRAE Data
NEC 690.7 specifies that the lowest expected temperature is determined from the ASHRAE Extreme Annual Mean Minimum Design Dry Bulb Temperature for the nearest weather station. Sources:
| Source | How to Access |
|---|---|
| ASHRAE Fundamentals Handbook, Chapter 14 | Table 1 — Design Conditions for Selected Locations |
| ASHRAE Climate Design Data | ashrae.org (subscription) |
| SolarAPP+ / design software | Auto-populated from site coordinates |
| AHJ defaults | Some jurisdictions publish a local default value |
Typical T_min values for common US solar markets:
| City | ASHRAE T_min (°C) | ASHRAE T_min (°F) |
|---|---|---|
| Los Angeles, CA | 3°C | 37°F |
| Phoenix, AZ | 2°C | 36°F |
| Miami, FL | 8°C | 46°F |
| Denver, CO | -24°C | -11°F |
| New York, NY | -15°C | 5°F |
| Austin, TX | -7°C | 19°F |
| Boston, MA | -19°C | -2°F |
| Seattle, WA | -9°C | 16°F |
Conservative vs. ASHRAE-Specific
Using -40°F (-40°C) as a blanket default is conservative and always code-compliant, but it forces shorter strings (fewer modules per series string) than necessary in warm climates. A Miami installer who uses -40°F loses usable voltage headroom and must add more parallel strings. Use the actual ASHRAE value for your site — it’s always the correct approach.
Worked Example: Residential California
Project: 7.2 kW residential, Sacramento, CA Module: 360W module, Voc = 40.8V, β_Voc = -0.30%/°C ASHRAE T_min for Sacramento: -3°C (27°F) Voltage limit: 600V (residential)
Step 1: Calculate correction factor
Factor = 1 + (-3 - 25) × (-0.30/100)
= 1 + (-28) × (-0.003)
= 1 + 0.084
= 1.084
Step 2: Check maximum string length at 600V
Max modules = 600 / (40.8 × 1.084) = 600 / 44.2 = 13.57 → 13 modules max
Step 3: Verify 13-module string
Voc_corrected = 40.8 × 13 × 1.084 = 574.5V ✓ (below 600V)
The maximum string length is 13 modules. A 14-module string would produce 614.9V — above the 600V limit and a code violation.
Worked Example: Commercial Colorado
Project: 250 kW commercial, Denver, CO Module: 400W module, Voc = 45.2V, β_Voc = -0.27%/°C ASHRAE T_min for Denver: -24°C (-11°F) Voltage limit: 1000V (commercial)
Step 1: Correction factor
Factor = 1 + (-24 - 25) × (-0.27/100)
= 1 + (-49) × (-0.0027)
= 1 + 0.1323
= 1.132
Step 2: Maximum string length
Max modules = 1000 / (45.2 × 1.132) = 1000 / 51.17 = 19.5 → 19 modules max
Step 3: Verify 19-module string
Voc_corrected = 45.2 × 19 × 1.132 = 971.3V ✓ (below 1000V)
Note: At Denver’s cold temperatures, you lose significant headroom. At STC, 22 modules × 45.2V = 994.4V — technically under 1000V, but not accounting for cold temperature. The temperature-corrected calculation reduces the maximum string to 19 modules.
Common Mistakes That Cause Permit Rejections
| Mistake | Why It Fails | Fix |
|---|---|---|
| Using STC Voc without temperature correction | Code explicitly requires temperature-corrected voltage | Always apply temperature correction factor |
| Using wrong T_min (e.g., design low without ASHRAE reference) | AHJ may reject calculations without documented T_min source | Reference ASHRAE station and table in calculation notes |
| Applying 600V limit to detached garage with solar | Depends on whether the building qualifies as “one- or two-family dwelling” | Confirm with AHJ — may be 1000V limit |
| Using operational voltage (Vmp) instead of Voc | The code requires Voc, not operating voltage | Always calculate with Voc |
| Rounding up instead of down | A 14.2-module answer means 14 modules maximum — not 15 | Round down only, never up |
How Design Software Handles 690.7
Modern solar design tools automate the NEC 690.7 calculation:
- Enter project address → software auto-fetches ASHRAE T_min for nearest station
- Select module from database → β_Voc populated automatically from datasheet
- Software calculates maximum string length and flags violations in real time
- One-line diagram exports with all 690.7 values annotated for AHJ review
Automate NEC 690.7 String Sizing
SurgePV calculates temperature-corrected Voc automatically using ASHRAE data for the project address. Every permit package includes the full 690.7 calculation table.
See It in ActionNo commitment required · 20 minutes · Live project walkthrough
690.7 in the AHJ Review
When AHJs review a permit package, the 690.7 calculation is typically the first electrical check. What reviewers look for:
- Is the ASHRAE T_min source documented (specific station, table, year)?
- Is the temperature coefficient (β_Voc) from the specific module datasheet?
- Is the correction factor calculation shown step by step?
- Is the final corrected Voc clearly below the applicable voltage limit?
- Does the string length on the one-line diagram match the calculation?
Submitting these elements clearly labeled in your permit package eliminates the most common plan review comment. Missing or undocumented 690.7 calculations are the single most frequent reason for plan review corrections on residential permit applications.
Frequently Asked Questions
What is the maximum PV system voltage under NEC 690.7?
600V DC for residential (one- and two-family dwellings), 1000V DC for commercial and other systems. 1500V DC is allowed for systems using specifically listed 1500V-rated equipment on commercial and utility-scale installations.
How do I find the ASHRAE minimum temperature for my project?
Use the ASHRAE Fundamentals Handbook Table 1 (Design Conditions) for the nearest weather station, or use software that auto-pulls ASHRAE data from the project address coordinates. Document the specific station and table in your permit calculations.
Does the 600V limit apply to ground-mounted residential systems?
It depends on the AHJ’s interpretation of “one- or two-family dwelling.” If the ground mount is separate from and more than 5 feet from the dwelling, some AHJs allow the 1000V commercial limit. Always confirm before designing above 600V on a residential property.