Project Information
This information prints on every panel schedule header and export. Fill in and move to the next tab — no submit needed.
⚠ COORDINATION ONLY — Panel schedules produced by this tool are for coordination and documentation purposes. All electrical calculations require review, verification, and wet stamp by a licensed Electrical Engineer of Record before submission for permit.
Rooms / Location Inventory
Add rooms from the standard list or create a custom space. Then add fixtures and equipment inside each room.
🏢
No rooms yet.
Use the buttons above to add a space.
📋
Select a room from the list to view its fixture inventory.
Panel Configuration
Add the Main Distribution Panel first, then subpanels. After all panels and circuits are assigned, use ⚖ Rebalance to distribute loads evenly. Go to Circuits tab → select MDP to connect subpanels via subfeed links.
⚡
No panels yet.
Add the Main Distribution Panel (MDP) first.
Circuit Assignment
Select a panel below. Select the MDP to connect subpanels to it. Select a subpanel to assign loads circuit by circuit.
🔌
No panels configured yet.
Go to the Panels tab first and add your MDP and subpanels.
Panel Schedule
Schedule output with Phase A / B / C columns. Select panel:
📋
Select a panel above to view its schedule.
System Summary
All panels at a glance. Phase loads, amps, and capacity.
📊
No panels configured yet.
How to Use — v19.3 Guide
Step 1 — Project Information (Project tab)
Enter the project name, address, job number, applicable code edition, and system voltage. This information appears on every panel schedule header and on all exports. No submit action is required — fill in each field and proceed to the next tab.
Step 2 — Add Rooms & Fixtures (Rooms tab)
Click the ▾ down arrow button next to + Custom Room to open the standard rooms dropdown list. Select any room name to add it instantly. Click + Custom Room to type in any space not on the standard list. Enter square footage to enable load density checks.
Inside each room, click + Add Fixture to add equipment from the library (60+ items: HVAC, lighting, receptacles, life safety, and specialty loads).
Each fixture row shows two action buttons:
• ✏ Pencil button — opens the fixture editor to change type, quantity, or wattage without losing assignment history
• 🗑 Trash button — permanently removes that fixture from the room inventory
Inside each room, click + Add Fixture to add equipment from the library (60+ items: HVAC, lighting, receptacles, life safety, and specialty loads).
Each fixture row shows two action buttons:
• ✏ Pencil button — opens the fixture editor to change type, quantity, or wattage without losing assignment history
• 🗑 Trash button — permanently removes that fixture from the room inventory
Step 3 — Add Panels (Panels tab)
Add the Main Distribution Panel (MDP) first — the form opens pre-filled for MDP configuration. Set mains ampacity, AIC rating, and installation location. Then add subpanels (Panel A, Panel B, etc.).
The MDP does not hold individual circuit assignments. It aggregates load totals from all connected subpanels via subfeed links. Assign all individual loads to subpanels.
Note: Add the Main Distribution Panel (MDP) first, then add subpanels. After all panels and circuits are assigned, use ⚖ Rebalance to distribute loads evenly across subpanels.
The MDP does not hold individual circuit assignments. It aggregates load totals from all connected subpanels via subfeed links. Assign all individual loads to subpanels.
Step 4 — Assign Circuits (smart cross-panel distribution)
Method A — ⚡ Assign All Unassigned (recommended): In the Rooms tab, click ⚡ Assign All Unassigned inside any room. The application automatically distributes every fixture type across all subpanels using NEC best-practice rules:
• HVAC / motors — distributed across panels so no single panel carries the majority of motor load
• Life safety (emergency, exit, fire alarm) — routed to the panel with the most available capacity
• General loads — balanced across panels by total load, then by least-loaded phase within each panel
• 80% capacity rule — panels at or above 80% of mains per NEC 220.87 are skipped
Method B — Assign → (single fixture): Click Assign → next to any fixture. The system selects the best panel and phase automatically for review and confirmation in the modal.
Method C — Manual (Circuits tab): Select a subpanel and click any circuit row to assign manually.
⚠ Always assign loads to subpanels, not the MDP. MDP totals are calculated automatically from connected subpanel data.
• HVAC / motors — distributed across panels so no single panel carries the majority of motor load
• Life safety (emergency, exit, fire alarm) — routed to the panel with the most available capacity
• General loads — balanced across panels by total load, then by least-loaded phase within each panel
• 80% capacity rule — panels at or above 80% of mains per NEC 220.87 are skipped
Method B — Assign → (single fixture): Click Assign → next to any fixture. The system selects the best panel and phase automatically for review and confirmation in the modal.
Method C — Manual (Circuits tab): Select a subpanel and click any circuit row to assign manually.
⚠ Always assign loads to subpanels, not the MDP. MDP totals are calculated automatically from connected subpanel data.
Step 5 — Connect MDP Subfeeds (Circuits tab → MDP)
Select the MDP panel in the Circuits tab. Click + Add Subfeed to link each subpanel. The MDP schedule displays each subpanel as a 3-pole feed row with the correct ampacity, wire size, and live phase load values drawn from each subpanel's assigned circuits.
Step 6 — Review & Export (Schedule + Summary tabs)
The Schedule tab displays the complete panel schedule: two-column odd/even circuit layout, Phase A/B/C dot column center, left/right subtotals, total demand, and calculated amperage per NEC Article 220. Use Export XLSX for a spreadsheet (one sheet per panel) or Print for a print-ready copy. The Summary tab displays load capacity bar charts for all panels at a glance.
🔤 Identification Label Abbreviations
Use these standard abbreviations in the IDENTIFICATION column of every panel schedule to maintain consistent, space-efficient labeling on construction documents.
| Abbreviation | Full Term | Example Usage |
|---|---|---|
| FLR | Floor | 2ND FLR LTS, 1ST FLR RECP |
| RECP | Receptacle | OFFICE RECP, HALLWAY RECP |
| LTS | Lights / Lighting | GYM LTS, BREAK ROOM LTS |
| O/L | Outlet | OFFICE O/L, BREAK ROOM O/L |
| A/H | Air Handler | A/H #1, ROOF A/H |
| A/C | Air Conditioner | A/C UNIT #1, 5-TON A/C |
| AV | Audio / Video | AV EQUIP RECP, AV PANEL |
| SPARE | Spare Circuit | SPARE (unfilled circuit slot) |
| EQ | Equipment | KITCHEN EQ, ELEC RM EQ |
| RM | Room | CONF RM LTS, CLASS RM O/L |
| ELEV | Elevator | ELEV EQUIP, ELEV SHUTDOWN |
| FACP | Fire Alarm Control Panel | FACP PWR |
| EMRG | Emergency | EMRG LTS, EMRG EXIT |
📋 Version History — Complete Build Log v1 → v19.3
| Version | What Changed |
|---|---|
| v1 | Initial build — single-panel HTML table, manual circuit entry, basic print layout |
| v2 | Added Phase A/B/C column headers; watt load columns introduced; two-column (odd/even) layout established |
| v3 | NEC phase rotation logic (A=1-2, B=3-4, C=5-6 repeat); circuit number validation; spare row styling |
| v4 | Multi-pole circuit support (2-pole and 3-pole rowspan rendering); continuation row isCont flag introduced |
| v5 | Panel header block added: Panel ID, voltage, mains, AIC, mounting, location, drawn-by, date fields |
| v6 | Phase dot center column (A/B/C bullet per row); phase stripe row background colors (blue/green/orange) |
| v7 | Subtotal footer rows: left/right watt subtotals, TOTAL DEMAND A/B/C, AMPS calculated, TARGET SIZE added |
| v8 | XLSX export via SheetJS; one worksheet per panel; AutoCAD-compatible plain-text values (no formula cells) |
| v9 | Multi-panel support — MDP + up to 6 subpanels per project; panel selector tab added to Schedule view |
| v10 | MDP subfeed links — subpanels connect to MDP via 3-pole feed circuit; MDP totals aggregate from all subs |
| v11 | Rooms / Inventory tab introduced; 60+ fixture library; assign fixtures from rooms to panel circuits |
| v12 | Auto-assign logic: lowest available circuit number first; left/right column balance check; 80% capacity guard |
| v13 | One-Line Diagram (SVG) auto-generated from panel data; utility transformer, meter, C/T, MDP, subpanel nodes |
| v14 | Print / PDF mode: clean browser print with EOR stamp notice; watermark on Free tier; full output on Pro |
| v15 | JSON save/load; project persistence via localStorage; Demo Project (7-panel school) pre-loaded |
| v16 | Cross-panel rebalancing modal; voltDivisor fix (was hardcoded /360, now correct for 240V and 480V systems) |
| v17 – v17.3 | v17: dynamic circuit sizing; v17.1: left/right column balance logic refined; v17.2: column balance check function; v17.3: auto-assign all unassigned rooms at once; NEC fixture estimator |
| v18 | Auto-assign on add if panels exist; standard room dropdown; marketing tab added |
| v19 | Full pre-populated Demo Project (circuits, HVAC layout, subfeed links); sequential fill top-to-bottom L→R |
| v19.1 | MDP subfeed aggregation fix; phase dot rendering cleanup; footer colspan alignment verified |
| v19.2 | Demo circuits fully pre-populated — auto-assign disabled on demo load; circuits sorted by cktNum for correct physical bus bar order; schedule renderer stabilized |
| v19.3 ← CURRENT | Rebalance isCont fix: multi-pole circuits now create proper continuation entries after rebalance — eliminates extra column block and displaced AMPS/TARGET values. Watt load columns resized to half-width. Identification column text centered. Abbreviations table added to How to Use. Version History ordered v1→v19.3. |