Prepare fresh peaches by peeling, pitting, and dicing into 1/2-inch pieces. If using frozen peaches, thaw and pat completely dry with paper towels.
Preheat waffle iron to medium-high heat and grease the plates lightly with butter or non-stick spray.
In a large bowl, whisk together the flour, sugar, baking powder, baking soda, cinnamon, and salt. Make a well in the center.
In a separate bowl, whisk eggs, buttermilk, melted butter, and vanilla until smooth.
Pour wet ingredients into the well of the dry ingredients and fold gently until just combined. The batter should be lumpy. Let rest for 3-5 minutes.
Fold the diced peaches into the batter with 4-5 gentle strokes until evenly distributed.
Pour about 1/2 to 3/4 cup of batter onto the preheated waffle iron and cook for 4-5 minutes until steam slows and waffle is deep golden brown.
Transfer cooked waffles to a wire rack in a 200°F oven to keep warm and crispy while cooking remaining batter. Re-grease iron between batches.
Serve waffles with fresh peach slices, a drizzle of pure maple syrup, and optional whipped cream and powdered sugar.