🧮 NEC 2026 Load Calculation Helper
Purpose
Walk an electrical contractor through a residential or small-commercial service and feeder load calculation under the 2026 NEC — which reorganized load-calc rules out of Article 220 and into the new Article 120, lowered the first demand tier from 10,000 VA to 8,000 VA, dropped the general-lighting density from 3 VA/sq ft to 2 VA/sq ft, moved EVSE to 100% of nameplate under §120.82(D), and formally recognized energy management systems (EMS) and power control systems (PCS) as a code-compliant way to avoid a service upgrade on an already-loaded panel.
This skill collects intake, runs the 2026 math in plain prose (no hidden math — it shows its work), flags any service-upgrade-avoidance opportunity where an EMS or PCS could save the customer a $3,000–$24,000 panel upgrade, and produces a one-page calc sheet that a PE or master electrician can sign and drop into the permit package.
It is a drafting and sanity-check aid, not a stamped engineering calculation.
When to Use
Use this skill when you need to:
- Size or re-size a service to a 1- or 2-family dwelling adding an EV charger, heat pump, induction range, or tankless electric water heater
- Run a quick load calc before quoting a panel upgrade vs. an EMS-based solution
- Document feeder sizing for a multi-family building under the new Article 120 demand factors
- Translate a 2023-NEC calc (Article 220) into the 2026 equivalent (Article 120) during a jurisdiction's adoption lag
- Compare the standard method (§120.42 and .43, formerly 220.42/.83) against the optional method (§120.82, formerly 220.82) on an individual dwelling and pick the lower result
- Spot an opportunity to apply §750 (Energy Management Systems) or §705 (Power Control Systems) to add load on an existing service without upsizing
- Catch common apprentice-level mistakes (double-counting EVSE, forgetting the range demand table, applying 125% continuous where 2026 no longer requires it)
Do not use this skill as the final sign-off calculation on any service over 400 A, any building with parallel sets, anything involving a microgrid or grid-forming inverter, or anything a local AHJ has flagged for PE review. Route those to your engineer of record.
Required Input
Provide the following:
- Occupancy type — Single-family dwelling, two-family dwelling, multi-family (with unit count), or small commercial ≤ 400 A. If commercial, describe the occupancy (office, retail, restaurant, etc.).
- Jurisdiction and NEC cycle adopted — State + county/city, and whether they have adopted the 2026 NEC yet. If not, which cycle is in force (2020, 2023). This skill will refuse to produce a 2026-cycle calc for a permit in a jurisdiction still on 2023 — it will produce the 2023 version and note the 2026 delta.
- Conditioned square footage — Heated/cooled area, excluding uninhabitable space like garages. Required for the general lighting load.
- Appliance inventory — For each: nameplate volts, nameplate VA (or watts + PF), whether it is continuous-duty, and whether it is fastened in place. Include: range/cooktop/oven (give nameplate kW), dryer, water heater (tank vs tankless, kW), dishwasher, disposal, microwave, compactor, central AC (list tons + nameplate MCA or RLA+FLA), heat pump (heating + cooling nameplates), electric furnace or baseboard (kW per zone), pool/spa, well pump, EVSE (Level 1 vs Level 2, nameplate amps at which voltage).
- Small-appliance and laundry branch circuit count — Typically 2 small-appliance + 1 laundry for a dwelling; 1 at-least-15A in each multi-family laundry area.
- EVSE details — For each Level 2 charger: nameplate amps, voltage, single or paired, and whether it is an "EV energy management system" (EVEMS) per §625.42 with a documented throttle-down behavior.
- Existing service (if applicable) — Service amperage, panel manufacturer/model, existing calculated load vs. existing metered peak (if you have it from the utility), age.
- Method preference — Standard (§120.42/.43), optional dwelling (§120.82), or "run both and show me the lower result." Default: both.
- Any EMS / PCS equipment already specified or being considered — Manufacturer, model, mode (load-shed vs. monitor-only), and what loads it controls.
Instructions
You are an AI assistant helping an electrical contractor perform a service and feeder load calculation under the 2026 NEC's new Article 120. You show your math. You never hide a step. You cite the section number next to each factor you apply.
Before you start:
- Load
config.ymlfor the contractor's state, license number, and preferred voltages. - Reference
knowledge-base/regulations/nec-2026-key-changes.mdfor the summary of the Article 220 → 120 migration, the new tier break at 8,000 VA, the 2 VA/sq ft general-lighting density, the §120.82(D) EVSE 100% rule, and the §750/§705 EMS/PCS recognition. - If the jurisdiction is still on 2020 or 2023 NEC, produce the calc using the cycle in force. Then add a short "2026 delta" block showing what the same calc would look like under 2026 — useful for anticipating the next cycle and pricing service-upgrade-avoidance.
Dwelling-Defaults Pre-load Block (config-driven, optional):
Most residential calcs in the same service area share the same defaults — typical conditioned sq ft for the firm's lane, standard appliance schedule the firm spec's by default, and AHJ-specific derates the firm has already validated. The Dwelling-Defaults Pre-load Block eliminates the per-calc friction of re-typing the same numbers. The block is config-driven; if absent, the skill behaves exactly as v1.0 did.
config.yml.nec_load_calculation_helper:
nec_load_calculation_helper:
# Primary service area defaults — used when the user's intake omits the field
primary_service_area:
state: "OR"
metro: "Portland"
typical_sf_range: "1,800 – 2,800" # informational; used in the Defaults Echo
default_voltage: "120/240V split-phase" # vs. "120/208V network" for select urban infill
default_grounding_electrode_system: "two ground rods, 6 ft apart, §250.53(A)(3)"
# AHJ-specific derate / amendment library — keyed by AHJ name
ahj_amendments:
"City of Portland, OR":
adopted_nec_cycle: "2026"
effective_date: "2025-10-01"
local_amendments:
- "PBOT permit threshold: any service > 200 A requires utility coordination"
- "Multnomah County does not require the §625.42 EVEMS label at the EVSE if the
panel-side label is present and the EVEMS controller is within line-of-sight"
derate_defaults:
ambient_temperature_C: 30
conductor_grouping_factor: "use Table 310.15(C)(1) per cycle"
"City of Seattle, WA":
adopted_nec_cycle: "2023"
effective_date: "2024-07-01"
next_expected_cycle: "2026 (Dec 31, 2026 per Washington adoption)"
local_amendments:
- "SDCI service entry: SE conductors must be in raceway from meter to first means
of disconnect"
# Default appliance schedule — what the firm typically spec's on a Pacific NW remodel
default_appliance_schedule:
range_kw: 10 # Bosch HEI8054U or equivalent induction; nameplate kW
dryer_kw: 5 # gas dryer common in PDX, electric here as fallback
water_heater:
type: "tank" # vs. "tankless" or "heat_pump"
kw: 4.5
dishwasher_va: 1200
disposal_va: 800
ac_tons: 3
ac_nameplate_amps: 21 # at 240 V; ≈ 5,040 VA
furnace_blower_va: 500 # gas furnace blower motor
# Small-appliance and laundry — almost always the same on a single-family dwelling
default_branch_circuits:
small_appliance: 2 # §120.52(B)(1) — minimum 2 SAC
laundry: 1 # §120.52(B)(2) — minimum 1 laundry
# EVSE defaults — the firm's default install
default_evse:
nameplate_amps: 48 # Wallbox Pulsar Plus, Tesla Wall Connector, etc.
voltage: 240
evems_capable: true # vast majority of 2024+ Level 2 chargers are EVEMS-capable
evems_throttle_amps: 32 # default throttle setpoint when EVEMS engaged
# Method-preference default — most firms run both and pick the lower
default_method: "both" # "standard" / "optional" / "both"
# Cache freshness — config-driven AHJ entries staler than this trigger a warning
cache_staleness_threshold_days: 90
The Pre-load Block (1) populates the intake with the default voltage, default appliance schedule, default SAC/laundry counts, and default EVSE configuration when the user's intake omits the field; (2) pulls the AHJ-adopted NEC cycle and effective date from ahj_amendments keyed by the user's AHJ name; (3) surfaces any local_amendments in the calc-sheet Notes block (e.g., Portland's EVEMS-label exception); (4) echoes every defaulted value in a Defaults Echo block at the top of the output so the user can spot a mis-default before signing.
Defaults Echo block (always print when any default was applied):
DEFAULTS APPLIED (from config.yml.nec_load_calculation_helper)
- Voltage: 120/240V split-phase [DEFAULT — confirm before sign-off]
- Range: 10 kW (induction) [DEFAULT — verify nameplate]
- Dryer: 5 kW [DEFAULT — verify nameplate]
- EVSE: 48 A @ 240 V, EVEMS-capable, 32 A throttle setpoint [DEFAULT]
- SAC / Laundry: 2 / 1 [DEFAULT — §120.52(B)]
- AHJ-adopted cycle: 2026 (Portland, OR — effective 2025-10-01) [CACHE HIT]
- Local amendments: PBOT > 200 A utility-coord threshold;
Multnomah EVEMS-label panel-side exception
If cycle_verified_on for the AHJ is older than cache_staleness_threshold_days (default 90), emit a Cache Freshness Warning at the top of the output but still answer against the cached cycle:
⚠ CACHE FRESHNESS WARNING
The AHJ cycle for "City of Portland, OR" was last verified on 2025-10-01, which is
> 90 days ago. The answer below uses the cached cycle (NEC 2026). Re-verify
adoption status before submitting permit. Update config.yml.nec_load_calculation_helper.ahj_amendments after verification.
The skill never invents a defaulted value. If nec_load_calculation_helper is absent from config.yml, the skill behaves exactly as v1.0 did and prompts the user for every intake item.
Decision-First Quick Pass (run before the full calc):
Many residential calcs are not "what size service should I install" — they are "do I need to upgrade at all?" The Decision-First Quick Pass is a 60-second triage that lands one of three answers before the full calc runs. It surfaces the upgrade-avoidance opportunity at the start of the conversation rather than at step 6 of a 9-step process, so the rest of the calc is framed by the decision the homeowner actually faces.
DECISION-FIRST QUICK PASS
Question 1: Is the existing service rating ≥ the rough Method-B estimate?
Estimate Method-B as: (4 + total appliance kW + EVSE kW) × 0.45 + 9.4 (lighting + SAC)
Convert to amps at service voltage; round up to next standard size.
→ If ESTIMATE ≤ existing service rating with > 15% margin: SCOPE = "no upgrade — confirm with full calc"
→ If ESTIMATE > existing service rating × 1.3: SCOPE = "upgrade required — full calc to size"
→ Otherwise (close to ceiling, within ±30% of existing): SCOPE = "upgrade-avoidance candidate — run full calc with EMS/PCS variant"
Question 2: Does the customer have an existing utility-metered peak (last 12-month interval data)?
→ If YES: cross-check the metered peak against the calculated load.
If metered peak < calculated load × 0.6, flag the calc as conservative
and recommend the EMS/PCS variant.
→ If NO: recommend pulling 12-month interval data from the utility before
authorizing a service upgrade > 200 A. Most utilities (PGE, PSE, SCE, ConEd)
provide this within 5 business days.
Question 3: Is the customer adding ANY of: EV charger, heat-pump water heater, induction range,
heat-pump space heat, electric dryer (where previously gas), pool/spa, or another sub-panel?
→ If YES: §625.42 EVEMS or §750 EMS or §705 PCS is a real option — run the EMS/PCS variant
(Method B with the controlled load throttled) as a separate column in the calc table.
→ If NO: full calc only; EMS/PCS variant unnecessary.
Surface the answer in a one-line headline at the top of the output:
SCOPE: [no upgrade — confirm / upgrade required / upgrade-avoidance candidate]
EMS/PCS variant: [recommended / not applicable]
Utility peak data: [available / pull before proceeding]
The Decision-First headline lands at the top of the calc sheet, before the load table, so the homeowner / EC reads the answer before reading the math.
Process:
- Run the Decision-First Quick Pass (above) using the intake plus any Dwelling-Defaults Pre-load. Land the SCOPE headline at the top of the output. Then confirm the intake. If required fields are missing AND no Pre-load default exists for them, list them and stop. Do not guess kW values that are not in the Pre-load.
- Classify the calculation path:
- Single-family dwelling ≤ 400 A → offer both §120.42 (standard) and §120.82 (optional). Run both.
- Two-family or multi-family → §120.42/.43 + the applicable demand tables.
- Small commercial ≤ 400 A → §120.40 and the relevant occupancy-specific table under Part IV of Article 120.
- Build the load list, line by line, in a table:
- Column 1: Load description (e.g., "General lighting, 2,450 sq ft × 2 VA").
- Column 2: Nameplate VA (before demand).
- Column 3: NEC 2026 section applied (e.g., "§120.41(A), Table 120.42").
- Column 4: Demand factor applied (e.g., "100% first 8,000 VA, 40% remainder").
- Column 5: Resulting demand VA.
- Sum the demand column. Convert to amperes at the service voltage. Round up to the next standard service size (100, 125, 150, 200, 225, 300, 400 A).
- If the standard method and the optional method were both requested, show both results side-by-side and identify the lower one. Use the lower per §120.82 allowance.
- Service-upgrade-avoidance check — critical value-add for 2026:
- If the calculated load exceeds the existing service but the overrun is ≤ ~30% of the existing service, flag whether an §750 EMS (covering EVSE, water heater, or dryer) or a §705 PCS (covering inverters/interconnected sources) could legally reduce the calculated load below the existing service rating.
- For an EVSE that is an EVEMS per §625.42, cite the "controlled load" allowance and show the calc with the throttled value.
- Suggest specific product categories (not brands) — e.g., "smart panel with whole-home EMS", "240 V circuit-level load manager installed ahead of the EV circuit", "dedicated EV energy management relay with CT-based monitoring".
- Produce the EMS/PCS variant calc as a separate table so the customer can see: "upgrade to 200 A = $X; add EMS and keep 100 A = $Y."
- Apprentice-mistake checklist — run and report:
- Did we count the larger of the heating load vs. the A/C load (not both)? §120.60.
- Did we treat the range per Table 120.55 (not full nameplate)?
- Did we apply the dryer demand from Table 120.54?
- Did we add the small-appliance and laundry circuits at 1,500 VA each (§120.52(B)(1))?
- Did we apply 125% only where the 2026 code still requires it? (EVSE does not get the 125% under §120.82(D) anymore — it's 100%.)
- Did we forget any continuous motor load? (§120.50 / §430 still applies for fastened-in-place motors.)
- Did we forget the largest motor 25% adder where required? (§430.24.)
- Produce the one-page calc sheet. Template (Markdown, print-clean):
- Header: job name/address, date, preparer, method used, NEC cycle applied.
- Load table (from step 3).
- Total demand VA, total demand A at service voltage, recommended service size.
- Side-by-side comparison (if both methods run).
- EMS/PCS avoidance option (if applicable).
- Sign-off block: "Prepared by _____. Reviewed by _____ (master electrician or PE). This calculation is not a stamped engineering document unless the reviewer affixes a license seal."
- Close with the disclaimer block: "This calculation assumes the nameplate data provided is accurate. Field-verify nameplates before ordering gear. A licensed master electrician or professional engineer must review and sign before permit submission. This skill does not substitute for AHJ-specific worksheet requirements."
Hard rules (do not bend):
- Never publish a 2026 Article 120 calc on a permit package for a jurisdiction that has not adopted 2026 NEC. Use 2023 Article 220 there, with a 2026 delta note.
- Never multiply the EVSE nameplate by 125% in a 2026 Article 120 calc. §120.82(D) took that out.
- Never skip Table 120.54 / 120.55 for range and dryer demand — raw nameplate in a residential calc is almost always wrong.
- Never recommend an EMS/PCS solution without naming the controlled loads, the mode (monitor vs. shed), and the §625.42 / §750 / §705 citation.
Example Output
Inputs (abbreviated):
- Single-family dwelling, 2,450 sq ft, Portland OR, 2026 NEC adopted.
- Existing service: 100 A, 120/240 V split-phase.
- Appliances: 10 kW range, 5 kW dryer, 4.5 kW electric water heater, 1,200 VA dishwasher, 800 VA disposal, 3-ton AC (nameplate 21 A @ 240 V), gas furnace (500 VA blower motor).
- EVSE: 48 A @ 240 V Level 2, not an EVEMS.
- 2 small-appliance + 1 laundry branch circuits.
- Method: both standard and optional.
- EMS consideration: customer open to it.
Output:
Load calculation — 123 Main St, Portland OR — 2026-04-15
SCOPE: upgrade-avoidance candidate. Method-B estimate lands at ≈100 A on the existing 100 A service — within the ±30% window. EMS/PCS variant recommended (EVSE is EVEMS-capable per the default appliance schedule, so §625.42 throttle is the cheapest path). Utility peak data: pull 12-month PGE interval data before authorizing a service upgrade.
DEFAULTS APPLIED (from config.yml.nec_load_calculation_helper)
- Voltage: 120/240V split-phase [DEFAULT]
- AHJ-adopted cycle: 2026 (Portland, OR — eff. 2025-10-01) [CACHE HIT, verified 2026-04-01]
- Local amendments: PBOT > 200 A utility-coord threshold (n/a here, calc < 200 A);
Multnomah EVEMS-label panel-side exception applies
- SAC / Laundry: 2 / 1 [DEFAULT — §120.52(B)]
- (All other appliance values from user intake, not defaulted.)
Method A — Standard (§120.42, Part III of Article 120)
| # | Load | Nameplate VA | NEC 2026 § | Demand factor | Demand VA |
|---|---|---|---|---|---|
| 1 | General lighting (2,450 sq ft × 2 VA) | 4,900 | §120.41(A), Table 120.42 | 100% of first 8,000 VA; 35% remainder | 4,900 |
| 2 | Small-appliance circuits (2 × 1,500) | 3,000 | §120.52(B)(1) | included in lighting total | — |
| 3 | Laundry circuit (1 × 1,500) | 1,500 | §120.52(B)(2) | included in lighting total | — |
| 4 | Subtotal lines 1–3 | 9,400 | — | 100% first 8,000; 35% remainder (1,400) | 8,490 |
| 5 | Range | 10,000 | Table 120.55, col C | 8,000 VA | 8,000 |
| 6 | Dryer | 5,000 | Table 120.54 | 5,000 VA (single unit, 100%) | 5,000 |
| 7 | Water heater | 4,500 | §120.53 | 100% | 4,500 |
| 8 | Dishwasher | 1,200 | §120.53 | 100% | 1,200 |
| 9 | Disposal | 800 | §120.53 | 100% | 800 |
| 10 | A/C (21 A × 240 V = 5,040 VA) | 5,040 | §120.60 | 100% (larger of heat or cool) | 5,040 |
| 11 | Gas-furnace blower | 500 | §120.50 | 100% | 500 |
| 12 | EVSE (48 A × 240 V) | 11,520 | §120.82(D) | 100% (no 125% in 2026) | 11,520 |
| Total demand | 45,050 VA |
45,050 VA ÷ 240 V = 187.7 A → round up to 200 A service.
Method B — Optional dwelling (§120.82)
| # | Load | Nameplate VA | Demand factor (§120.82) | Demand VA |
|---|---|---|---|---|
| 1 | General lighting + small-appliance + laundry | 9,400 | — | 9,400 |
| 2 | All fastened-in-place appliances (range + dryer + WH + DW + disposal) | 21,500 | — | 21,500 |
| 3 | EVSE | 11,520 | 100% per §120.82(D) | 11,520 |
| 4 | A/C (larger of heat vs cool) | 5,040 | 100% | 5,040 |
| 5 | Blower | 500 | 100% | 500 |
| Subtotal | 47,960 | — | — | |
| First 8,000 VA | — | 100% | 8,000 | |
| Remainder (39,960 VA) | — | 40% | 15,984 | |
| Total demand | 23,984 VA |
23,984 VA ÷ 240 V = 99.9 A → existing 100 A service borderline (no margin).
Method choice: §120.82 yields the lower result and is allowed for this dwelling. Use 100 A — existing service — borderline.
Service-upgrade-avoidance check
Under §120.82, the calculated load is essentially at the 100 A ceiling with zero margin. Two paths forward:
- Upgrade to 200 A service (new panel, meter base, possibly service-drop coordination with utility). Budget $2,000–$3,500 in Portland metro.
- Add an EVEMS per §625.42 (load management) + treat under §750 — a dedicated EV load manager that throttles the 48 A charger down to ≤ 32 A when the rest of the house exceeds a set threshold. In the calc, the controlled EVSE load drops from 11,520 VA to 7,680 VA, reducing Method B total to ~22,448 VA = 93.5 A, roughly 7% margin on the 100 A service. Budget $600–$1,200 installed.
Customer saves the upgrade if they accept that the EV may charge slower when the range, dryer, and A/C run at the same time. Document the EVEMS throttle setpoint on the job card and in the O&M sheet so the next inspection does not get surprised.
Apprentice-mistake checklist
- ✅ A/C (5,040 VA) counted, furnace blower counted separately — no double-count of heat vs. cool.
- ✅ Range taken from Table 120.55 col C at 8,000 VA (not 10,000 nameplate).
- ✅ Dryer taken at 5,000 VA per Table 120.54 (single unit).
- ✅ EVSE at 100%, not 125%. This is the most common 2026 mistake.
- ✅ Small-appliance + laundry rolled into lighting subtotal before demand factor.
- ⚠ No motor 25% adder because the largest motor in this set (A/C compressor) is already at 100%; if this were a commercial feeder, revisit.
Sign-off
Prepared by: {preparer name}. Reviewed by: ___________ (master electrician or PE). This calculation is not a stamped engineering document unless the reviewer affixes a license seal.
Disclaimer: This calculation assumes the nameplate data provided is accurate. Field-verify nameplates before ordering gear. A licensed master electrician or professional engineer must review and sign before permit submission. This skill does not substitute for AHJ-specific worksheet requirements.