Heat 2 tablespoons of oil in a medium skillet over low heat.
Add the onion and cook, stirring occasionally, until it becomes translucent and tender, about 5 minutes.
Stir in the lima beans, cover, and cook for approximately 30 minutes or until the beans are soft.
Add the ham (if using) and cook for an additional 5 minutes.
Wipe the skillet clean afterward.
In a medium bowl, lightly beat the eggs with salt.
Mix in the cooked bean and onion mixture.
Let it rest for about 5 minutes.
Add the remaining 1 tablespoon of oil to the skillet and heat it over high heat until hot.
Quickly pour in the egg and bean mixture, spreading it evenly.
Reduce the heat to medium-high.
Cook, shaking the skillet often to prevent sticking, until the edges and bottom start browning, and the center is mostly set.
Use a spatula to carefully flip the omelet to the other side.
Add more oil to the skillet if needed.
Continue cooking until the center is fully set but slightly moist.