Rooftop solar panels are the fastest-growing residential electrical addition in Ontario, with tens of thousands of GTA homeowners now generating some or all of their household electricity from the sun. The question that comes up every week on homeowner forums is whether you can install your own solar panels and skip the installer markup. This guide walks Ontario homeowners through whether DIY solar is possible, what the Ontario Electrical Safety Code and Toronto Hydro / Alectra / Hydro One require, and why almost every home ends up hiring a licensed contractor even if the actual roof work is DIY.
Short answer: the panels yes, the electrical hookup no
Direct answer: an owner-occupant can install the physical solar panels on their own roof under a Homeowner Wiring Notification, but the grid connection at the utility side and the DC-to-AC inverter tie-in to the main panel are typically not homeowner-permitted in Ontario. The utility company will only coordinate the interconnection with a licensed contractor.
What a residential solar install actually involves
Roof survey and structural assessment. Confirms the roof can carry the panel load and has the right orientation and pitch.
Design and load calculation. System size (kW), inverter selection, string wiring, string protection, rapid shutdown compliance.
Panel mounting. Rails or micro-brackets bolted to rafters, flashed for waterproofing.
Panel installation. Panels clipped to rails, wired in series or parallel per design.
Inverter installation. DC-to-AC inverter on an exterior wall or in the utility room. Either a string inverter (one for the whole array) or micro-inverters (one per panel).
AC hookup. Inverter output to a solar-dedicated breaker in the main panel, or to a solar disconnect at the meter socket.
Rapid shutdown compliance. Required by the current OESC for any roof-mounted system.
Utility interconnection. Application, agreement, and physical connection coordinated with the local distribution company.
ESA permit and inspection. Required for every install.
What the homeowner CAN do
Mount rails and flashings to the roof (with an ESA notification and the correct structural assessment).
Clip panels to the rails after DC wiring is verified by a contractor.
Trench and pull conduit for the AC run to the panel.
Coordinate with the roofer for any shingle work needed.
Handle the utility interconnection paperwork.
What the homeowner CANNOT do
Land the inverter output onto the main panel busbar.
Work at the meter socket for a service disconnect.
Coordinate the utility interconnection (must go through licensed contractor).
Sign off on the DC array’s rapid shutdown compliance without the contractor’s confirmation.
Skip the ESA notification and inspection.
What a residential solar install costs in the GTA
Direct answer: a typical 6-10 kW rooftop system in the GTA costs $18,000-32,000 fully installed, before federal or provincial rebates. Micro-inverter systems (Enphase) cost slightly more than string-inverter systems (SolarEdge, SMA) but offer better shade performance and per-panel monitoring.
Panels (18-30 x 400W each): $6,000-11,000.
Inverter: $2,000-4,500.
Racking and hardware: $1,000-2,500.
Electrical labour and permit: $3,000-6,000.
Roof and structural work if needed: $1,000-3,000.
The Canada Greener Homes Grant and various Ontario incentive programs may cover a portion. Check esasafe.com and the utility website for current programs.
The hidden pitfalls for DIY solar
Roof warranty. Third-party rooftop work often voids shingle manufacturer warranties. Get confirmation in writing before drilling into the roof.
Structural assessment. Larger arrays add 15-25 kg per square metre. Old GTA homes with 2×6 rafters may not be adequate without reinforcement.
Insurance implications. Home insurance requires disclosure of rooftop solar. Non-disclosure can void coverage.
Snow load and ice damming. Ontario winters put significant load on rooftop panels. The mounting design must account for it.
Rapid shutdown compliance. Every new install must meet OESC rapid shutdown requirements. DIY installers often overlook this.
Is DIY solar actually cheaper?
Direct answer: rarely. The typical savings from DIY rooftop mounting (skipping the contractor’s crew for the physical install) is $1,500-3,000. That savings is real, but it comes with the labour of doing the work yourself, the risk of a mounting error that damages the roof, and the coordination overhead of hiring a contractor for the electrical portion anyway. Most GTA homeowners who research DIY end up hiring a full-service installer.
Expert tip from our ESA-licensed electricians
In our experience helping GTA homeowners evaluate solar quotes, the single question that reveals whether a contractor is worth the price is “who handles the utility interconnection?” A good contractor manages the entire process — pre-application, agreement, commissioning, and ESA sign-off. A cheaper contractor drops the ball on utility paperwork, and the customer’s system sits offline for weeks waiting for interconnection approval. That is where the value of the installer’s project management shows up. If you are doing rooftop mounting DIY to save money, at minimum hire the licensed contractor for the electrical AND the utility coordination. Our post on homeowner panel scope covers where DIY hits the utility policy wall.
Planning a residential solar install in the GTA and want an ESA-certified electrician to handle the electrical portion? Call us at 416-838-9006 or visit our contact page — we will get back to you the same day.
Used to monitor number of Google Analytics server requests
10 minutes
__utmb
Used to distinguish new sessions and visits. This cookie is set when the GA.js javascript library is loaded and there is no existing __utmb cookie. The cookie is updated every time data is sent to the Google Analytics server.
30 minutes after last activity
__utmc
Used only with old Urchin versions of Google Analytics and not with GA.js. Was used to distinguish between new sessions and visits at the end of a session.
End of session (browser)
__utmz
Contains information about the traffic source or campaign that directed user to the website. The cookie is set when the GA.js javascript is loaded and updated when data is sent to the Google Anaytics server
6 months after last activity
__utmv
Contains custom information set by the web developer via the _setCustomVar method in Google Analytics. This cookie is updated every time new data is sent to the Google Analytics server.
2 years after last activity
__utmx
Used to determine whether a user is included in an A / B or Multivariate test.
18 months
_ga
ID used to identify users
2 years
_gali
Used by Google Analytics to determine which links on a page are being clicked
30 seconds
_ga_
ID used to identify users
2 years
_gid
ID used to identify users for 24 hours after last activity
24 hours
_gat
Used to monitor number of Google Analytics server requests when using Google Tag Manager
1 minute
_gac_
Contains information related to marketing campaigns of the user. These are shared with Google AdWords / Google Ads when the Google Ads and Google Analytics accounts are linked together.
90 days
SourceBuster is used by WooCommerce for order attribution based on user source.
Name
Description
Duration
sbjs_session
The number of page views in this session and the current page path
30 minutes
sbjs_udata
Information about the visitor’s user agent, such as IP, the browser, and the device type
session
sbjs_first
Traffic origin information for the visitor’s first visit to your store (only applicable if the visitor returns before the session expires)
session
sbjs_current
Traffic origin information for the visitor’s current visit to your store
session
sbjs_first_add
Timestamp, referring URL, and entry page for your visitor’s first visit to your store (only applicable if the visitor returns before the session expires)
session
sbjs_current_add
Timestamp, referring URL, and entry page for your visitor’s current visit to your store
session
sbjs_migrations
Technical data to help with migrations between different versions of the tracking feature
session
Marketing cookies are used to follow visitors to websites. The intention is to show ads that are relevant and engaging to the individual user.
Google Maps is a web mapping service providing satellite imagery, real-time navigation, and location-based information.