Berwyn Epoxy Flooring has spent more than 20 years on epoxy-flooring in Westchester and the surrounding suburbs, and the first thing we do on any garage job is ask how the slab under it was built. A coating is only as good as the concrete it bonds to, and that concrete was poured to someone’s specification long before we arrived.
Here the village has written that specification down. Its sheet for a single-family detached garage spells out slab thickness, concrete strength, air entrainment, reinforcement depth, slope and the joint at the apron. Each of those choices tells an installer something about how to prepare the floor, where the water should go once it is coated, and which line in the concrete must be left free to move.
Our proposals are written to match that level of detail. They name the product, the system build and the finished thickness, so a homeowner can hold what was quoted against what went down, and they list moisture first among the warranty exclusions before anything is signed.
The garage slab Westchester writes down

The Village of Westchester publishes a sheet called Code Requirements for Single Family Detached Garage, and most of it concerns the building: setbacks, framing, frost depth and inspections. The concrete section is the part we read most closely, because it describes the surface we will eventually be grinding, priming and coating.
Five inches of 4,000 psi concrete on four inches of gravel
The sheet calls for a slab at least 5 inches thick, laid on a 4-inch bed of well-compacted crushed gravel. The mix is a six-bag, 4,000 psi air-entrained concrete with a 5-inch maximum slump, and no water may be added after the truck leaves the plant. That last rule matters to us more than it might seem.
Water added on site to make concrete easier to place weakens the top of the slab, where a coating bonds. A slab poured at the specified slump has a sounder surface paste, and a sounder paste gives a primer something worth holding onto. A slab that was watered down at the curb tends to dust and flake once we start grinding, and we tell the owner when we see it.
Wire mesh two inches down
Reinforcement on the sheet is welded wire mesh, 6x6 W1.4, located 2 inches below the surface. Mesh does not stop concrete from cracking. It holds the pieces together after it does, so the cracks stay tight instead of opening and stepping.
That changes how we read a crack before quoting. A hairline crack with flush edges on a meshed slab is usually something we can rout, fill and coat over. A crack with one side higher than the other, or one that has kept widening, tells us the slab is moving, and we will say plainly if it needs repair or replacement before any coating goes on.
Not every garage was poured this way
The sheet is the village’s current standard, and it carries no date. Westchester, a western suburb of Chicago in Cook County with 16,892 residents at the 2020 census, has plenty of garages that are older than the current rules. Those slabs were poured to whatever was customary at the time, so we test and inspect each floor rather than assume it matches today’s sheet.
Looking for epoxy-flooring closer to Bellwood? See Bellwood Epoxy-Flooring.
Air-entrained and steel-troweled: why we grind it open
Air entrainment disperses tiny, deliberate air bubbles through the concrete mix. It is a durability choice made for the slab itself, and the village requires it. What it leaves on top, once a finisher has worked the surface smooth, is usually a dense, closed layer of paste with very little for a coating to grip.
Why a troweled surface rejects a coating
A steel-troweled garage floor can be smooth enough that water beads on it, and that is the test we often show an owner. If water will not soak in, a primer will not either. Coatings laid over that kind of surface tend to bond to the top skin only, and the failures we are called to fix usually peel in sheets with clean concrete underneath.
Diamond grinding, shot blasting, never acid
We open every slab mechanically, with a diamond grinder or a shot blaster, and we do not acid etch. Acid struggles to cut a dense troweled surface evenly, and it leaves residue and rinse water that have to go somewhere. Grinding removes the closed layer outright and exposes sound concrete with the pores open.
The target is a measured profile, not a feel. We grind to the ICRI CSP range the chosen system calls for, typically a CSP 2 or 3 for a 100% solids epoxy base coat, and heavier when a urethane cement or a thick broadcast system is going down. Where a detached garage is reached from an alley, we stage from the alley and collect the grinding dust on site rather than washing it toward a drain.
Moisture before primer
Moisture testing is a line item in our scope, not an extra offered after a floor has blistered. We use ASTM F1869 calcium chloride kits or ASTM F2170 relative humidity probes depending on the slab, and an ASTM D4263 plastic sheet as a quick first read. The village sheet does not address a vapor retarder, so we measure rather than assume either way.
A slope to the door and a joint at the apron
Two lines on the village sheet govern where water goes and where the concrete moves. The slab is set at least 4 inches above existing grade and sloped to the front, and a premolded isolation joint separates the garage slab from the apron. A coating has to respect both.
Keeping the fall to the door
Wash water and whatever drips off a parked car should run out under the door, not collect against the back wall. A floor coating is thin enough that it will not change the slope by itself, but patching compound and heavy broadcast builds can. We keep repair material flush with the surrounding slab and check the fall with a level before the base coat goes down.
The slope also shapes the finish we recommend. A glossy, unbroadcast epoxy on a pitched floor can be slippery when wet, so for most garages we suggest a vinyl flake or quartz aggregate broadcast under a polyaspartic topcoat. The texture gives tires and shoes some grip, and the polyaspartic layer resists hot tire pickup better than a plain epoxy finish.
The apron joint is a movement joint, not a crack
The premolded isolation joint between the garage slab and the apron is there on purpose. The village sheet calls for the same kind of joint all the way out, between apron and drive, drive and house, drive and public walk, and on to the street, so each slab can move without shoving the next one.
Fill that joint with rigid epoxy and the movement it was built to absorb goes somewhere else, often as a new crack in the coating a foot or two inside the door. We stop the coating at the joint, or carry it to a clean termination at the door line, and leave the isolation joint open or sealed with a flexible joint sealant. Owners sometimes ask us to make that line disappear, and we explain why we will not.
Control joints sawn into the garage slab itself are a different case. Those we can usually fill with a semi-rigid filler and coat over, because they mark where the slab was meant to crack rather than where two slabs meet.
Recoat or replace: when the village sheet comes into play
Most garage coating jobs involve a slab that is already there, and the sheet does not decide that work. It describes how a new or replaced detached-garage slab is built. It does not mention floor coatings at all, and no coating carries any village approval.
Coating the slab you have
On an existing floor we read the cracks and any old coating before we quote. Peeling paint, a failed big-box kit or an earlier epoxy all have to come off by grinding, and what is underneath decides the system. A sound slab with tight cracks usually takes a 100% solids epoxy base, or a moisture-mitigation primer where the tests call for one, then a broadcast and a polyaspartic or polyurea topcoat.
Curing is planned around slab temperature and the dew point spread at the surface, not the calendar. An unheated detached garage can be too cold to cure a coating properly for part of the year, and when that is the case we say so and book the job for spring.
When the slab has to be replaced
Sometimes the honest answer is that the slab is finished. Heaved sections, wide cracks with displacement, or concrete that crumbles under the grinder are not coating problems, and we will tell you that before anyone spends money on a system that cannot hold.
A replacement slab is where the village sheet applies in full. The work needs a permit, and the inspections include a pre-pour check of any flatwork before the pour, with delivery tickets handed to the inspector. Whoever builds it for hire must be licensed and bonded with the village and show proof of insurance, or a homeowner doing the work signs a sworn statement instead.
Illinois issues no state license for flooring or coatings work, so we confirm the village’s own license, bond and insurance rules before any job is scheduled. Questions about whether a particular project needs a permit go to the Village of Westchester Community Development/Building Department.
One garage, and a written contract
The same sheet allows one garage per lot, attached or detached, at no more than 660 square feet measured on the exterior, with 530 square feet always permitted. Whatever the size, every home job we take gets a written contract and the Home Repair: Know Your Consumer Rights pamphlet before work starts, as the Illinois Home Repair and Remodeling Act requires.
- 20+ Years Coating Floors
- Moisture Tested Before Quoting
- Free Written Estimates











