In a medium mixing bowl, combine the potatoes, broccoli, and onion with the olive oil and salt. Toss to combine. Arrange the vegetables in a large oven-proof (preferably cast iron) skillet in an even layer. Sprinkle the bacon pieces over the top and roast in the oven until the potatoes are tender and crispy, and the bacon is browned, about 40 minutes, redistributing once halfway through. Remove the pan from the oven and pour in the eggs. Return to the oven until the eggs are set, about 10 minutes.
(optional) Sprinkle the cheese over the top and finish under the broiler so the top is nicely browned, about 2 minutes.
Allow the frittata to cool for a few minutes in the pan, then cut into slices and serve.