How to Build an Exposed Aggregate Patio

Step 1 – Prep Work

The prep work for this job might take a day or two to complete. Build concrete forms for the patio using 2 x 4s and firmly secure them with stakes or poles. Have the aggregate delivered in advance and wash it to get rid of sediment.

The easiest method is to drill some small holes in a bucket, fill the bucket with aggregate, and douse with a hose until the water runs clear. Pick up rental equipment (lawn rollers and cement mixer) the night before the job, or make sure the equipment is reserved and ready for pickup in the morning.

If a supplier will be delivering pre-mixed concrete, make sure they know when to arrive.

Step 2 – Pour Concrete

Start to pour early in the morning to ensure more spaced-out breaks throughout the day. Whether using a rental concrete mixer or having concrete pre-mixed and delivered, pour the concrete in batches. Proceed by gradually filling the forms, working from the bottom up to 1/4 inch below the top.

Step 3 – Spread Aggregate

Allow the concrete to start to set, then distribute the aggregate across the surface of the concrete. Avoid pouring the aggregate; instead, use a “seeding” motion to achieve a uniform distribution. Gently level the aggregate with brooms and brushes.

Step 4 – Press Aggregate

Use the lawn rollers to press the aggregate into concrete. Keeping the roller surface moist will prevent it from picking up concrete and aggregate. Watch for bare patches of concrete that require a few more bits of aggregate. The rolling is done when the aggregate has been pressed just below the top layer of concrete, and the surface is level and flush with the forms.

Step 5 – Brush and Wash

Determine how long to wait before brushing—this will depend on suppliers’ specifications as well as conditions of temperature and humidity. Use the brooms and brushes to remove concrete from the surface.

When most of the aggregate is visible, commence with a light water wash. Continue washing and brushing until the original color of the aggregate has returned.