The project is named “Tactility”
Screenshots/docs: https://tactility.one
Code: GitHub - ByteWelder/Tactility: An operating system for ESP32 devices.
There’s an SDK to build applications. You can run apps (elf binaries) directly from SD card without rebooting the device. The SDK is currently only available in the GitHub pipelines for now. I’ll publish it when the first release is ready.
There are various internal apps and services running. Apps have states and a manifest similar to Android, albeit more simplified.
There’s a headless version too, but I’m currently not building firmware variants for it yet.
I’ll write more documentation when the features start to stabilize a bit more.
Some of the features:
- WiFi service&app like on Android/iOS: passwords are stored encrypted in flash and have device-bound encryption. WiFi can be configured to automatically turn on at boot, and known SSIDs can auto-connect.
- Thread-safe I2C hardware abstraction layer
- USB storage device: access the SD card content via USB
- Various apps like system info, system logs, GPIO state viewer, etc.
- Display settings: brightness, gamma curves, orientation
- Power info: get charging info, enable/disable charging (depends on hardware)
- File browser: a bit limited, but you can view text/images and delete/rename files. And you can run apps from the SD card.
- QR code crash reporting: When the device crashes, it’ll show a QR code that you can scan. The QR leads to a website that shows crash info. (nothing is shared with me automatically, but it’s possible to share via email)
All source code is GPL-licensed and the SDK has a more permissive license to allow for closed-source apps.