My particular installation might serve as a useful guideline for yours, even if you elect to do a DIY rack. For various reasons I decided not to do mine DIY, mostly because I was concerned that I’d need an engineering stamp to pass local codes and land use planning requirements. Perhaps I actually didn’t. When I applied for the building permit I eventually was told by the planning department for my county (my shop is outside the Urban Growth Boundary) that I didn’t need a building permit or land use permit. I was quite surprised. They are even refunding my application fees. So you might save yourself some complications and cost by doing some research first. I can guarantee that your mileage may vary. I’m doing a much smaller ground rack installation at my home in Maui which I also want to be fully permitted (I don’t want to impact the future value of the property) and the planning department is insisting I have a local engineering stamp for my racks–which are also prefabricated, not DIY–so I’m having an engineer inspect the racks and provide one, at substantial cost. Anyway, check your local requirements. As I now know, they vary widely. I think it helped that Signature Solar (Via Chiko) provided a detailed engineering analysis of the rack with an engineering stamp for Oregon. I expected that I might have a similar battle on my hands, so I was pleasantly surprised and pleased by the decision of the county planning department. I did a VERY crappy video on installing the racks: https://youtu.be/uXYQXmmHTZg
This is the Chiko Solar 30 panel rack, in the high strength, high wind version. The difference in cost between the standard version and this even more stout version was relatively small, and I was shocked by the quality of the kit. The steel is heavily galvanized and much stouter than I expected. I don’t know what the gauge of the steel is–I can’t find my gauge measuring tool. I could just check the thickness with a micrometer and look it up, but suffice it to say it’s a lot heavier duty than I expected. I needed to borrow a forklift to get it off the delivery truck–It was too heavy for the liftgate, Fortunately my shop is in a light manufacturing area. I have a lot of neighbors with heavy equipment.
So the rack is mostly installed. I have a few minor tweaks to attend to, but it’s ready for the panels, and those were delivered today: A pallet of 33 415W Canadian Solar Bifacial PV panels. So of course I asked Claude to write a blog post on the technical details. Here’s what Claude wrote after a few tries to correct some minor mistaken assumptions–mostly Claude assumed I installed the racks perfectly. If you look at the video, you know that’s a mistaken assumption. Claude wrote this in first person as my own field write-up — the arc is “the manual stops helping right when it gets fussy,” then the hard-won tricks in the order you’d actually hit them: accept the imperfect structure, let the string line be the truth, story-pole the spacing, bottom-row-first with helpers, the spacer-block gap trick, respecting the dual-glass clamp zone, and torquing last. The full v2 checklist is embedded at the end as tables and lists so it travels with the post. He’s not as snide as I am, so we got that going for us. Realize that if you use the checklist you need to modify it for your own particular rack and panels, but I think it’s a usable checklist of important things to pay attention to.
Mounting the panels
There’s a moment in every DIY solar build where the boxes of panels are finally sitting on pallets, the rack is in the ground, and you realize the instructions stop being helpful right when the job gets fussy. The manual tells you the torque spec. It does not tell you how to get thirty modules to sit in a straight, neat line across 54 feet of steel when the ground isn’t level, the footings aren’t perfectly aligned, and each panel weighs enough to fight you the whole way up.
This is how I mounted 30 Canadian Solar CS3W-415PB-AG bifacial modules — two high, portrait, at 20° — on a Chiko U2V ground mount, and the handful of tricks that turned a potentially maddening afternoon into a clean result. There’s a printable checklist at the bottom.
Start by admitting the structure isn’t perfect
My footings are splayed piles driven with a jackhammer into ground that’s flat but not level. I strung a line to get the tops of the trident mounts “approximately” level, and approximately is the honest word. If you’re working with anything short of a poured, surveyed foundation, you’re in the same boat, and the first mental shift is the most important one:
Your goal is not a level array. Your goal is a top edge with no visible kinks.
The human eye is remarkably forgiving of gradual drift and remarkably unforgiving of abrupt steps. A quarter inch of slow wander across 54 feet is invisible. A one-eighth-inch step between two neighboring panels is the first thing anyone sees. Once you accept that, the whole job reorganizes itself around one tool.
The string line is the truth
Forget the temporary wood ledger. I’d planned to build one, and I’m glad I didn’t — over 54 feet a ledger flexes, it’s heavy even if you do it in sections, and it shifts while you’re clamping. A taut mason’s string stretched between the two end posts, set at the exact height of the panels’ top edge, does the same job better and weighs nothing.
Every panel gets brought up to the string. When a panel’s top corner just kisses the line, it’s right — even if that means the bottom edge or a gap varies a hair from its neighbor. Bring the top edge to the string, absorb the small stuff everywhere else, and the finished array reads as dead straight regardless of what the steel underneath is doing.
A story pole beats a tape measure
For the horizontal spacing, don’t measure fifteen times and let tolerance pile up until the last panel lands in the wrong place. Measure the run once, then make a story pole: a light stick marked at a single “panel width plus gap” increment. Step it along the rail and transfer identical marks in seconds. Your first-panel offset from the end of the rail is simply:
(rail length − [number of panels × panel width + total clamp/gap allowance]) ÷ 2
Center the row on the rail and everything lands where it should.
Bottom row first, and let helpers be your clamps
My bottom-row panels overhang the lowest rail by about 16–21 inches, so there’s nowhere down there to clamp a temporary stop — and the rails are a full 4 inches tall, which makes clamping stops to the framework awkward anyway. This is exactly why the old “top row first on a ledger” idea falls apart: a top-row ledger has nothing to rest on until the bottom row exists.
The fix is people. With two helpers steadying panels, gravity and the string line replace every temporary stop. A helper lifts each panel until the top edge meets the string, I snug the clamps just enough to hold, and we move on. Let the bottom edge float — nobody sights the bottom edge, and it has no rail to reference anyway.
The row-to-row gap: use a spacer, never butt
Here’s a question the Chiko manual quietly refuses to answer: how big should the gap be between the upper and lower rows? It specifies nothing. What it does do is set a consistent side-by-side gap automatically, because the mid-clamp body holds neighboring panels apart by a fixed amount.
So I let the hardware tell me the answer. I measured the actual gap the mid-clamps create between two side-by-side panels — somewhere around 18–22 mm — and cut wood spacer blocks to that exact thickness. Now every gap in the array, horizontal and vertical, is identical. That uniformity is what makes a grid look intentional instead of improvised.
The blocks do double duty: I lay them on the frame of the lower row (never on the glass), rest the upper panel’s bottom edge on them while the helpers steady it, snug the upper clamps, and once the clamps carry the weight the blocks slide right out. I cut the blocks about two panels wide (8 feet) at a slight bevel so they pull free easily. If you’re choosing, err a hair generous — a slightly bigger even gap looks deliberate; too tight risks frame-to-frame contact once the aluminum grows in the heat. And it will grow: butting the rows directly is how you get thermal binding, ticking noises, and point loads on the frames.
Respect the clamp zone — these are dual-glass
The CS3W-415PB-AG is a glass-glass bifacial module, which means both faces are glass and it’s less forgiving than a standard backsheet panel. Two rules matter more than anything else here:
Clamp only within Canadian Solar’s specified zone — 400 to 550 mm from each corner, on the long side only. That’s a 150 mm window, about six inches wide, so measure where your rails actually cross the frames before you panic about moving anything; there’s a good chance they already fall inside it. If a rail is out, adjust it at the slotted rail-to-beam holes.
And torque to spec with a good quality torque wrench, not by feel. Over-torque or a clamp outside the zone can plant a microcrack you’ll never see but the panel’s output will. Same reason you never rest one of these face- or back-down on gravel while staging.
Then, and only then, torque
The single biggest process mistake is torquing as you go, because it locks in small errors you can no longer nudge out. Set the whole run finger-tight, walk to one end, crouch, and sight straight down the top edge. Fix anything proud or shy. Then torque everything in one pass to 15 N·m. Do a dry run of two or three panels at each end before you commit all thirty — that’s when you catch a rail that needs moving, while it’s still a five-minute fix instead of a thirty-panel teardown.
One last note, since these are bifacial: all this care up top pays off double if you also brighten the ground under and behind the array — but that’s a story for another post.
The Checklist (v2)
Verify every value against the manuals for your exact hardware and Solar module before final tightening. Bond and ground per NEC and the racking’s listing.
Specs to dial in first
| Item | Value |
|---|---|
| Module clamp bolts (M8) | 15 N·m (~11 ft-lb) · 20 N·m max |
| Rail-to-beam (M10) | 30 N·m (~22 ft-lb) · 40 N·m max |
| Heavy structural bolts (M12) | 50 N·m (~37 ft-lb) · 55 N·m max |
| Clamp zone (long side) | 400–550 mm from each panel corner (≈6″ window) |
| Min clamp length / frame overlap | ≥ 80 mm / 10 ± 2 mm engagement |
| Clamp side | Long side only — never the short ends |
| Row-to-row gap | Match the side-by-side mid-clamp gap (~18–22 mm); ≥10 mm minimum |
Sequence — bottom row first, helpers hold, string is the datum
- Dry-run first. Set 2–3 panels at each end (no final torque). Check the string, the gaps, the clamp-zone fit, and whether any rail needs nudging.
- String line = top-edge truth. Stretch a taut mason’s line between the end posts at the height of the lower row’s top edge.
- Story-pole the spacing. Mark each panel edge / mid-clamp spot from one squared end. First-panel offset = (rail length − [15 × panel width + clamp/gap allowance]) ÷ 2.
- Square panel #1 (equal diagonals or framing square to rail). Everything references it.
- Set the bottom row. Helpers lift each panel until its top edge kisses the string; snug the clamps just enough to hold. Let the bottom edge float — no stop needed.
- Set the upper row on spacer blocks resting on the lower row’s frame; helpers steady; snug clamps; pull the blocks once the clamps hold the weight.
- Sight down the whole run from one end; nudge any panel proud/shy or any uneven gap.
- Torque last, one pass — 15 N·m on the clamps. Never torque as you go.
Handling — dual-glass (both faces are glass)
- Two helpers plus you, on a calm day. A 2.1 m module is a sail; flex or drop plants hidden microcracks.
- Never rest a panel face- or back-down on gravel — frame edges or padding only.
- Seat the mid-clamp grounding pins for bonding continuity; re-check a few clamps after the first hot day.
Making it look straight over an imperfect substructure
- The eye forgives gradual drift, not steps — aim for a top edge with no kinks, not a perfectly level array.
- The string line wins every tie: bring every top corner to it even if the bottom edge or a gap varies slightly.
- Absorb error in the clamp play, spread gradually across many panels so no single panel steps off its neighbor.
- Level with rail slot adjustment or a thin shim at the clamp — leave the footings alone.
Pre-flight
Dry-run panels set at both ends and checked
Rail centers measured against the 400–550 mm band
Story-pole marks on the rails; first-panel offset figured
Spacer blocks cut to the measured side gap
Top-edge string strung and taut between end posts
Clamps, M8/M10/M12 hardware, and a torque wrench on hand
Two helpers briefed; a calm-wind window chosen
First end-clamp datum marked and squared
