Skip to content

KirinDenis/owlos

Repository files navigation

Stand With Ukraine


OWLOS UX

OWLOS

Open Source IoT firmware and toolset for ESP32 / ESP8266

OWLOS is a DIY open source firmware platform for ESP32 and ESP8266 microcontrollers, paired with desktop and web management tools. It lets you connect sensors, actuators and other peripherals to a local network — and manage them through a built-in web interface or a desktop application — without needing to write code, without requiring internet access, and without any cloud dependency.

The name "OWLOS" reflects the ecosystem nature of the project: multiple nodes can coexist and communicate via MQTT, each running the same firmware with its own configuration.

🌎 Related project: OWLOS Air Quality — a complete IoT solution for air quality monitoring built on top of OWLOS.


OWLOS SCHEME


What OWLOS actually does

OWLOS is firmware that runs on an ESP32 or ESP8266 board. Once flashed, the board:

  • hosts a built-in HTTP(S) RESTful server so you can interact with it directly from a browser or any HTTP client
  • connects to your WiFi network (or acts as an access point itself)
  • exposes all connected peripherals — sensors, actuators, LCDs, relays, etc. — through a unified REST API and MQTT topics
  • runs a built-in scripting interpreter that allows you to define automation rules without programming
  • can be updated over-the-air (OTA) — no need to reconnect a USB cable for firmware updates
  • supports UART AT+ commands for serial control

The board does not need the internet. Everything runs locally.


Supported hardware & drivers

  • DHT11, DHT22, AM2301 — temperature & humidity
  • BMP280, BME680 — barometric pressure
  • CCS811 — eCO2 and TVOC
  • SI7021 — temperature & humidity
  • ADS1X15 — ADC (for analog sensors like MQ7, MQ135, photoresistor)
  • Stepper motors
  • LCD displays (LiquidCrystal I2C)
  • DS3231 RTC — real-time clock
  • Generic actuators (relays, LEDs, etc.)

Hardware support is configured through config.h before flashing.


Management tools

Web UX — a JavaScript single-page application embedded into the firmware and served directly from the ESP board. Works in any browser on the local network.

OWLOSAdmin — a .NET Core WPF desktop application for Windows. Connects to one or multiple OWLOS nodes over HTTP/MQTT and provides a richer management interface.

OWLOSEcosystem — an experimental .NET Core WPF + OpenGL desktop application for visualizing and managing a network of multiple OWLOS nodes as an ecosystem.


Source code structure

Folder Contents
/OWLOS/ C/C++ firmware source code (ESP32, ESP8266)
/OWLOS/data/ JavaScript web UX (embedded into firmware)
/OWLOSAdmin/ .NET Core C# WPF desktop management app
/OWLOSEcosystem/ (experimental) .NET Core C# WPF + OpenGL ecosystem viewer
/OWLOSResource/ Blender 3D models, schematics and image resources
/OWLStarter/ C/C++ HTTP updater — flashes OWLOS firmware from GitHub releases

Languages used: C/C++ (firmware), JavaScript (web UX), C# (desktop tools), HTML/CSS


How to build and flash

  1. Install PlatformIO IDE
  2. Install COM port drivers for your board
  3. Open the OWLOS workspace in PlatformIO
  4. Configure your build in config.h
  5. Build and upload to your board

Detailed installation guide (EN) | Инструкция по установке (RU)

For ESP8266 boards: ESP8266 prepared assembly branch


Wiki


License

Open Source under GPL-3.0 License


Special thanks to


Copyright 2019 – 2021 by

We on Facebook

Releases

No releases published

Packages

 
 
 

Contributors