Preheat waffle iron. In a medium bowl, whisk together flour, sugar, baking powder, baking soda, salt and pepper.
Add bacon, cheddar cheese, and onions, stir to coat with the flour mixture, this helps to prevent clumping.
In a large bowl, whisk the eggs, milk and oil. Add the dry ingredients to the wet ingredients and whisk until just combined, do not over mix.
Grease hot waffle iron. Pour about 1/2 cup batter into the waffle iron and cook 3 to 5 minutes, or until waffles are golden and cheese is melted. Repeat with the rest of the batter. Serve with butter and maple syrup. Top with a fried egg if desired.
Cook's Note: I used a Belgian waffle iron for this recipe.