Research by DoINeedAPermit Research Team · Updated May 2026
The Short Answer
All grid-tied solar systems in Millbrae require both a building permit (roof mounting) and an electrical permit (NEC 690 compliance). You must also submit an interconnection application to PG&E before the city approves final. Battery storage adds a third permit review.
Millbrae, unlike some unincorporated Bay Area areas, enforces the California Building Standards Code (Title 24 + NEC Article 690) at the municipal level — meaning you cannot pull one permit and rely on state preemption. The city's Building Department has adopted the 2022 California Building Code (or most recent cycle) and requires structural certification for any solar array mounting over 4 pounds per square foot on existing roofs — this is a strict local practice that catches many DIYers off-guard because residential roof framing is rarely designed for added loads. Millbrae also participates in PG&E's net-metering territory, which means you cannot receive final electrical approval without proof that PG&E has received and acknowledged your Application for New Interconnecting Customer (Form 79-748). The city's permit portal operates through the standard county system, and while AB 2188 allows expedited review (some cities issue same-day for straightforward roof-mount systems), Millbrae typically requires full plan review, structural engineer sign-off, and a utility-witnessed final inspection. If your system includes battery storage over 20 kWh, the Fire Marshal must approve the Energy Storage System (ESS) separately — this adds 1-2 weeks. Plan for 3-4 weeks total if no battery, 5-6 weeks if ESS is included.

What happens if you skip the permit (and you needed one)

Millbrae solar permits — the key details

California law (PV Code §25995 and NEC Article 690) mandates permits for all grid-tied solar systems regardless of size — there is no wattage exemption in Millbrae. The NEC 690 standard governs string sizing, rapid shutdown (690.12), combiner-box labeling, conduit fill, and grounding. Millbrae's Building Department enforces these as code minimums, and the electrical inspector will verify that your solar contractor has submitted a one-line diagram showing inverter model, DC/AC breakers, disconnect switches, and all Series/Parallel string configurations. The city requires the electrical permit application to reference NEC 705 (interconnected power production) and demonstrate that your system meets Title 24 energy-efficiency baselines — for residential systems, this is typically automatic (solar qualifies), but commercial or mixed-use rooftops may trigger deeper review. Your permit must also include proof that you've contacted PG&E; the utility's Application for New Interconnecting Customer (Form 79-748) is separate from the city permit, but the Building Department will not sign off on your electrical final until PG&E confirms receipt and has assigned an interconnection queue number. Total cost for dual permits (building + electrical) in Millbrae is typically $300–$800, calculated at roughly 0.8-1.2% of system valuation up to a maximum cap (check the current fee schedule online).

Roof mounting is where many homeowners encounter surprise costs. Millbrae Building Code (adopting IBC 1510 / IRC R907) requires a Structural Engineer or Architect stamp on any solar mounting that adds more than 4 pounds per square foot to an existing residential roof. Most modern panel systems (400W panels + rails + hardware) weigh 8-12 lb/ft² when distributed across the array footprint, meaning a 6-8 kW residential system almost always requires structural design. If your roof framing is older (1970s-1980s Millbrae bungalows with pre-engineered trusses), the engineer may recommend local reinforcement or a recommendation against the proposed location — this can cost $800–$2,000 for design and can delay permitting by 2-3 weeks. The structural engineer must also certify that the mounting system itself (rails, flashing, penetrations) meets Title 24 wind-load standards for the Bay Area. Coastal Millbrae is in ASCE 7 wind zone (85-90 mph 3-second gust near the ridge), so any roof-mounted array must be designed for these lateral loads. Attachment points must use corrosion-resistant hardware (stainless steel or galvanized), and flashing must be sealed with silicone compatible with your roof material.

Rapid-shutdown compliance (NEC 690.12) is a non-negotiable inspection point. As of the 2023 NEC cycle, any grid-tied solar array must have a way to de-energize the DC string to below 80V within 10 seconds of someone throwing the ac or dc disconnect. Inverters with built-in DC rapid-shutdown meet this; string inverters with remote monitoring or micro-inverters must include a load controller module. Millbrae inspectors check the one-line diagram and the physical installer label on the combiner box — if the label doesn't reference the rapid-shutdown method, the electrical inspector will reject the rough. Similarly, your conduit runs from the array to the inverter must be properly sized per NEC 690.31 (use 125% of system DC current for wire sizing) and all conduit entries must be sealed to prevent water intrusion (especially relevant in Millbrae's coastal fog and salt air). The electrical permit application must include photographs of the proposed conduit path, penetration locations, and any existing utility lines the installer plans to work near.

Battery storage systems (ESS) trigger a third permitting track. If your solar array includes batteries totaling more than 20 kWh, Millbrae Fire Marshal must review the Energy Storage System separately under California Fire Code Section 1206. Lithium battery cabinets (Tesla Powerwall, LG Chem, etc.) require fire-rated enclosures, ventilation calculation, and separation distance from property lines — this is not delegated to the electrical inspector. The Fire Marshal's review typically adds 1-2 weeks and may require site modifications (e.g., moving the battery cabinet 10 feet from your neighbor's property line). There is no separate permit fee for ESS review in most cases, but if modifications are needed, you may need to re-submit site plans. Millbrae has not adopted the newer California ESS code amendments that allow micro-batteries (<10 kWh) to bypass fire review, so even a single Powerwall will route through the Fire Marshal's office.

Timeline and inspection sequence: Once you submit your building and electrical permit applications (typically on the same day), the city's plan-check team reviews the structural design, electrical one-line, and rapid-shutdown method — this takes 7-10 business days. If there are minor corrections, you'll get a 'Plan Check Complete — Resubmit' letter; major issues (e.g., structural engineer signature missing, or DC combiner not shown on diagram) cause a full re-review cycle. Once permits are issued, your installer schedules the mounting/structural inspection (this is a quick visual — 30 minutes), then electrical rough (inverter installed, all disconnects in place, conduit sealed), and finally electrical final (everything energized but not yet grid-connected). At electrical final, the inspector will require PG&E's interconnection acknowledgment (showing your queue number) before signing off. PG&E then schedules a utility-witness final inspection and installs a special net-metering meter — this can take another 2-4 weeks depending on PG&E's backlog. Total elapsed time from permit submission to live grid connection: 5-8 weeks for a straightforward roof-mount system, 8-12 weeks if structural redesign or battery storage is involved.

Three Millbrae solar panel system scenarios

Scenario A
8 kW roof-mounted array on a 2010 stick-built home in central Millbrae, no battery, clear structural evaluation
You own a 1,800 sq ft Craftsman-style home in the Millbrae Avenue corridor. Your roof faces south, has composite shingles in good condition, and was built with engineered trusses (you have the framing plan on file). You want to install an 8 kW system (20 x 400W Jinko panels in 2 strings of 10, string inverter) on the southern roof slope. An engineer calculates that 20 panels + rails + hardware = 9.5 lb/ft² across the array footprint, exceeding the 4 lb/ft² threshold. You hire a structural engineer through your solar installer, who costs $1,200 and concludes that the roof framing can handle the load with 4 local reinforcement plates at the ridge (cost: $300 in hardware + $500 installer labor). Total structural work: $2,000. You submit a building permit application (includes the engineer's stamped design, flashing detail, wind-load certification) and an electrical permit application (one-line diagram with DC breaker sizing, inverter specs, rapid-shutdown load controller, combiner box photo). Building permit fee: $400 (0.8% of ~$40,000 installed cost, capped). Electrical permit fee: $250. Total permit fees: $650. Plan review takes 8 business days; no corrections needed. Permits issue on day 9. Installer schedules mounting inspection (day 12), electrical rough (day 14), then you contact PG&E to submit your interconnection application. PG&E acknowledges your application on day 18 (you provide the queue number to Millbrae). Electrical final inspection happens day 21, passes. PG&E schedules utility-final inspection for day 35; your system is live and net-metering starts on day 36. Total timeline: 5 weeks. Out-of-pocket cost for permits + structural design: $2,900 (plus ~$35,000–$40,000 for panels, inverter, racking, and labor from licensed solar contractor).
Permit required | Structural engineer stamp required ($1,200–$1,800) | Building permit $400 | Electrical permit $250 | PG&E interconnection (no fee) | Utility-witnessed final required | Timeline 5 weeks | Total non-hardware cost $1,850–$2,450
Scenario B
5 kW microinverter system with existing electrical panel issues in a 1960s cottage near the coast, roof reinforcement needed
You live in a 1,200 sq ft cottage near Millbrae's coastal area (Highway 101 corridor). The house was built in 1962 with 2x4 rafters and no engineered trusses; your electrician tells you the existing 100-amp service is at capacity and cannot support a standard string inverter without an electrical upgrade. You choose a microinverter system (12 x 410W Enphase panels with 12 microinverters) to avoid the main panel upgrade — microinverters attach directly to each panel and feed 240V AC to a sub-panel near the roof penetration, which costs less than upgrading the main service. However, the structural challenge is worse: your 1962 rafter system is not rated for any added load beyond dead-load. The structural engineer tells you the rafters need local reinforcement (adding 2x6 sister rafters at 4-foot intervals), estimated at $3,500 in labor and materials. Additionally, because you are in a coastal salt-air zone (Millbrae climate 3B coastal), the engineer specifies hot-dip galvanized flashing (not standard aluminum) and stainless-steel fasteners — this adds $400 to racking costs. You submit both permits with the structural engineer's stamped letter indicating 'Roof framing inadequate without reinforcement' and the approved reinforcement design. The Building Department issues a 'Plan Check Corrections Required' letter on day 9, asking you to provide a final framing inspection certificate from the engineer after the sister-rafter work is complete — this adds a week. You have a framing contractor install the sisters (1 week), submit the framing inspection certificate, and resubmit to the city (day 17). Permits finally issue on day 21. Mounting inspection happens day 24. But here's the surprise: the electrical sub-panel for microinverters requires a licensed electrician, not your installer. The electrician's work (installing 20-amp breaker, running THWN conduit from the array to a new sub-panel inside the attic) costs $1,200 and triggers a separate rough inspection by Millbrae's electrical inspector. This is not the solar electrical inspection — this is a standard 'new circuit' inspection. Total elapsed time from submission to electrical final: 7 weeks. Permit fees: Building $350 + Electrical $300 (microinverter systems typically cost less because they're lower-current DC). Structural reinforcement: $3,500. Electrical sub-panel install: $1,200. Total non-hardware cost: $5,350 (plus $25,000–$30,000 for panels, microinverters, racking, and installation). The PG&E interconnection process is identical (5 more days after electrical final), so total to live: 7.5 weeks.
Permit required | Microinverter system avoids main panel upgrade | Coastal reinforcement required ($3,500) | Roof framing assessment mandatory | Building permit $350 | Electrical permit $300 | Electrical sub-panel install separate ($1,200) | Plan-check corrections add 1 week | Timeline 7-8 weeks | Total non-hardware cost $5,350
Scenario C
6 kW system with 13.5 kWh battery storage (Powerwall + Encharge) on a newer home, Fire Marshal ESS review
You built a net-zero home in Millbrae in 2018 with a 6 kW PV array already permitted and installed. Now, in 2024, you want to add a Tesla Powerwall (13.5 kWh) to enable backup power during outages — this triggers a full retrofit permitting process because the original array was grid-tied without storage. You submit a new building permit (for the ESS cabinet mounting), an electrical permit (for the battery's DC and AC interconnection to your existing inverter), and a Fire Safety ESS application. The Fire Marshal's office reviews your site plan and determines that your Powerwall cabinet (located on the east side of your house, 15 feet from your neighbor's property line) meets the minimum 5-foot separation distance required by California Fire Code 1206.2. However, the Fire Marshal notes that the cabinet is 8 feet from a natural gas meter and requires that you install a manual isolation switch rated for battery DC current (not just the standard AC disconnect) per FCC 1206.3(b) — this requires a relocation or a separate disconnect enclosure (cost: $400–$600). You redesign to add an outdoor DC isolator 3 feet from the Powerwall. Building permit fee: $200 (cabinet mounting is simple). Electrical permit fee: $350 (battery interconnection is more complex than standard solar). Fire Safety ESS application fee: $0 (often included in building review in Millbrae, but confirm with Fire Marshal). Permit submission day 1. Plan review from Building and Electrical: 10 days, no corrections. Permits issue day 12. Mounting inspection (Powerwall cabinet) day 15. Electrical rough (all DC and AC wiring, DC isolator installed) day 18. Electrical final day 21 — but here's the catch: the electrical inspector schedules a Fire Marshal witness inspection because ESS triggers a dual inspection requirement. Fire Marshal attends day 23, approves. Electrical final sign-off day 24. PG&E resubmits your interconnection paperwork with the battery inclusion (this is an amendment, not a new application) — takes 5 business days. Utility final inspection day 35. System live day 36. Total timeline: 5 weeks. Permit fees: $550 (Building + Electrical + potential ESS administrative fee if charged separately). DC isolator relocation: $500. Total non-hardware cost: $1,050 (plus ~$15,000–$18,000 for Powerwall + installation labor). This scenario showcases that battery storage, while adding permits and cost, does not always cause catastrophic delays if your roof structure is already approved and the cabinet placement is reasonable.
Permit required for battery retrofit | Fire Marshal ESS review separate | DC isolator relocation may be needed ($400–$600) | Building permit $200 | Electrical permit $350 | Fire Safety review (often $0 fee) | Dual inspection (electrical + fire) required | Timeline 5 weeks | Total non-hardware cost $900–$1,200

Every project is different.

Get your exact answer →
Takes 60 seconds · Personalized to your address

Millbrae coastal climate and solar permitting complexity

Your roof's age and material matter significantly in Millbrae permitting. Homes built before 1985 typically have low-slope roofs with composition shingles (3-4 ply tar-and-gravel or asphalt shingles), which are nearing end-of-life and may not support the waterproofing requirements of solar penetrations. If your roof is within 5 years of replacement (typically 20-25 years old for composition), Millbrae's Building Department will require a roofing contractor to inspect the roof and certify that it can accommodate solar flashing without voiding the roofing warranty. This inspection costs $300–$500 and sometimes leads to a recommendation to replace the roof before installing solar — this can cost $8,000–$15,000 and completely derail your timeline. The alternative is to accept that your roofing warranty will not cover solar-penetration leaks (documented in writing), which is legally risky if a leak occurs. Newer homes (2000+) with composite or metal roofs have better weather resistance, and Millbrae rarely requires a re-inspection. The electrical inspector will also verify that all roof penetrations are flashed per NEC 110.12 (properly sealed to prevent water intrusion) and that conduit entries are sealed with approved sealant compatible with your roofing material. If a penetration is not properly sealed during the rough inspection, the electrical inspector will fail the inspection and the installer must re-seal before scheduling final.

Millbrae's dual-permit workflow and PG&E interconnection dependencies

PG&E's interconnection application is the most critical hidden dependency. You cannot receive a final electrical sign-off from Millbrae without proof that PG&E has received your Application for New Interconnecting Customer (Form 79-748). Here's where it gets messy: PG&E's acknowledgment is NOT the same as approval. PG&E's queue system will assign your application a reference number within 1-3 business days, but they will not actually approve the interconnection until they review your system's voltage-rise impact, harmonic distortion, and relay settings — this can take 20-40 days. During this waiting period, your solar system is fully installed and operational, but it cannot legally feed power to the grid because there is no net-metering agreement signed. Your installer might push to 'turn on the system anyway,' but this is illegal; if you export power to the grid without a signed PG&E interconnection agreement, PG&E can disconnect your system and assess penalties. Millbrae's electrical inspector will ask to see your PG&E queue number (the reference number) at final inspection, not the signed approval letter. Once you provide the queue number, the electrical inspector signs off. PG&E then schedules a utility-witness final inspection (they visit your home and test the net-metering meter setup) — this is the final gate. Many homeowners find themselves with a fully permitted and installed system but unable to use it because they're waiting for PG&E's utility-witness slot. Plan for an additional 3-4 weeks after electrical final for the complete PG&E coordination loop. This is not Millbrae's fault — it's PG&E's interconnection queue — but it's a critical part of the overall timeline that falls outside the permit office's control.

City of Millbrae Building Department
Millbrae City Hall, 621 Magnolia Ave, Millbrae, CA 94030
Phone: 650-558-7670 (confirm directly with city website) | https://www.ci.millbrae.ca.us/ (check for permit portal link or Permit Sonic integration)
Monday-Friday 8:00 AM - 5:00 PM (verify on city website for holidays/closures)

Common questions

Can I install solar myself and skip the permit in Millbrae?

No. California law (PV Code §25995) and Millbrae municipal code require permits for all grid-tied solar systems, including owner-installed systems. While California law allows owner-builders for some electrical work, solar systems are explicitly exempt under B&P Code §7044(d) — you must hire a licensed electrician for the DC and AC wiring, and the system must be designed by a licensed engineer (if structural changes are needed). Attempting to install unpermitted solar will result in a stop-work order, $500–$2,000 in fines, and PG&E will refuse interconnection, rendering your system worthless.

Do I need a structural engineer if I'm installing solar on a newer home (built after 2010)?

Probably yes. Even newer homes rarely have roof framing designed to support the added load of a solar array (typically 8-12 lb/ft²). If your system's weight, distributed across the roof, exceeds 4 lb/ft², Millbrae Building Code requires a structural engineer's stamp — this applies to almost all residential systems. The engineer will review your roof framing plans, calculate whether reinforcement is needed, and specify connection details. Cost: $1,200–$2,000. Skip the engineer, and Millbrae will reject your building permit.

What is 'rapid shutdown' and why do I need it?

Rapid shutdown (NEC 690.12) is a safety mechanism that brings all DC voltage in your solar system down to below 80 volts within 10 seconds if someone throws the AC or DC disconnect switch. This protects firefighters if they need to suppress a roof fire — without rapid shutdown, the DC strings remain energized at 300-600V even with the disconnect switch open. Most modern string inverters and all microinverters meet this requirement. Your permit application must identify the rapid-shutdown method (inverter shutdown, load controller, or micro-inverter architecture) and include a label on the combiner box. Millbrae's electrical inspector will check this during rough inspection.

Can I add battery storage later, or do I need to plan for it during the initial permit?

You can add battery storage after your initial solar system is approved and operational, but you will need new permits. Adding batteries triggers a separate building permit (for cabinet mounting), a separate electrical permit (for DC and AC interconnection), and a Fire Safety ESS review if the battery capacity exceeds 20 kWh. Adding batteries later is NOT cheaper than including them in the original design — you'll pay two sets of permit fees and additional labor to retrofit wiring. If you think you might want batteries later, ask your installer to rough in a conduit path from the inverter to a planned battery location during the initial installation (this costs ~$200–$400 extra and can save $800–$1,200 in retrofit labor).

How long does the entire process take from permit submission to live solar?

Plan for 5-8 weeks total. Breakdown: Permit submission to issue (7-10 business days for plan review), mounting/electrical rough inspections (1-2 weeks after permits issue), electrical final (1 week after rough), PG&E interconnection acknowledgment and utility-witness inspection (3-4 weeks after electrical final). If structural reinforcement is needed or if corrections are required during plan review, add 1-3 weeks. If battery storage is included, add 1-2 additional weeks for Fire Marshal review. Coastal properties (Scenario B) may add 1-2 weeks for structural engineering due to salt-air and seismic design requirements.

What happens if PG&E denies my interconnection application?

PG&E rarely outright denies interconnection for standard residential systems under 10 kW, but they may require modifications to your system (e.g., adding a voltage-regulating inverter, increasing DC impedance, or relocating equipment). If PG&E's engineer flags issues during interconnection review, they will send you a letter detailing required changes; your solar contractor must implement these and resubmit to PG&E (costs $500–$2,000 depending on changes). This delays your timeline by 2-4 weeks. Millbrae cannot force PG&E to approve, but your city permit remains valid while you resolve the utility's requirements. Once PG&E approves, the utility-witness inspection happens and net metering begins.

Are there any tax credits or rebates I should know about before pulling permits?

Yes. Federal Investment Tax Credit (ITC) covers 30% of system costs (no capacity limit) for systems installed before 2032. California Solar Initiative (CSI) and local utility rebates (PG&E's TECH incentive offers rebates for battery storage) may apply, but these do NOT require a separate permit — they are claimed after installation via IRS Form 5695 (federal) or the CSI online portal (state). Permitting must happen first; tax credits and rebates follow. Millbrae has no local solar tax or rebate program, but San Mateo County may offer additional incentives — check the county assessor's office.

If my roof needs replacement soon, should I replace it before installing solar?

Yes, if the roof is within 3-5 years of end-of-life. A new roof costs $8,000–$15,000 but lasts 20-25 years, whereas installing solar on an aging roof will void the roofing warranty and creates waterproofing risk. If Millbrae's Building Department or a roofing contractor tells you your roof is approaching end-of-life, replace it first, then install solar. However, if you have 10+ years of roof life remaining, there's no code requirement to replace it — you can install solar now and replace the roof later (though the solar will need to be temporarily removed, adding labor). Discuss this with your solar contractor and roofer before filing permits.

Can I submit my permit application online, or do I need to visit Millbrae City Hall in person?

Millbrae's permit portal allows online submission for most projects, including solar. You can upload your structural engineer's stamp, electrical one-line diagram, and site plans directly through the city's permit system (typically Permit Sonic or similar). However, if you have questions during plan review or need to resubmit corrections, you may need to call the Building Department at 650-558-7670 or visit in person (621 Magnolia Ave) during business hours. Many homeowners prefer to work through their solar contractor, who is familiar with Millbrae's submission process and can manage plan-check corrections. If you hire a contractor, they typically handle all submissions.

Disclaimer: This guide is based on research conducted in May 2026 using publicly available sources. Always verify current solar panel system permit requirements with the City of Millbrae Building Department before starting your project.