Vibration-Based Energy Harvesting With Essential Non-Linearities