IoT firmware needs to be small, optimized for embedded use, updateable securely over the air, and resilient to environmental factors like temperature and vibration.