IoT Kernel

IoT Kernel

Over the years, I have written firmwares for various IoT devices such as lights, locks or heaters. Those firmwares would generally handle a common set of basic functions like managing wifi connection, serving a configuration web interface over HTTP or exchange MQTT messages. However, having to implement and maintain those functions for each individual firmware quickly became tedious work. Consequently, I decided to write a library to handle all those basic functions. This library is used as a base for IoT device firmwares, on top of which device-specific logic can easily be added.

Features

  • Web interface for configuration

  • OTA updates

  • MQTT

  • Storing configuration in SPIFFS (Using LittleFS)

  • WiFi Access point with captive portal when Wifi not found

Source code

The source code for this project is available on GitHub and GitLab.