Skip to content
hlesergPublic

About

Open-source ESP32-S3 smartwatch firmware platform / OS with LoRa MeshCore, offline GNSS navigation, LVGL UI and FreeRTOS.

Topics

Resources

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Latest commit

 

History

769 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atta-dipa · Independent by design

English · Русский · Meet the project

Atta-dipa

An open operating system for wearable devices.

Atta-dipa is building a shared foundation for watches, personal mesh nodes and
the applications people want to carry with them. Independent by design.

Attadīpa means relying on oneself. About the name.

Architecture · Run the simulator · Development status · Contribute

One OS. Many possibilities.

A device should be able to grow beyond the functions its manufacturer shipped. Our ambition is an open common standard for wearable devices and personal mesh nodes: a platform where people can build applications, bring different hardware and share what they make.

Watches are the first embodiment, not the product's boundary. Time, messaging and navigation are the first applications. Maps, a recorder, optional phone pairing and personal tools are directions for the ecosystem we want to build.

  • Independent operation. A capability that can run locally should not require a phone, a cloud account or a persistent Internet connection.
  • Applications beyond the original set. New ideas should build on shared services, instead of starting another board-specific firmware.
  • Different hardware, one platform. Applications use available capabilities; board providers handle how those capabilities are delivered.
  • An experience worth wearing. Clear interaction, a coherent visual language and room for personality are part of the OS.

The OS and its architecture

The current implementation uses C++17, ESP-IDF v5.5.5, FreeRTOS and LVGL v9.5.0. Atta-dipa supplies the wearable system services, application layer, device capabilities and interface above that foundation.

Layer Responsibility
Applications Product behavior, using system services rather than board registers.
Core services and link Shared capability, position, time, power and communication interfaces.
Platform and firmware Hardware profiles, providers and board-specific composition.
UI, localisation and simulator A shared visual language and a desktop environment for development.

The separation is how the project can grow into an OS for multiple devices rather than a collection of unrelated firmwares. Hardware access and application behavior evolve on their own sides of the boundary. Architecture decisions explain the contracts.

Services also carry the quality and age of their data. Applications can distinguish missing, stale and usable information without reinventing those rules in every screen.

A first look

The first watch apps share painted landscapes, warm accents and a calm, glanceable interface. Lumar, our firefly, brings a little of that character into the project.

Atta-dipa clock interface design Atta-dipa mesh interface design Atta-dipa navigation interface design

Interface design previews: Clock · Mesh · Direction. Image sources.

Starting with two watches

The first targets are Waveshare ESP32-S3 Touch AMOLED 2.06 and LilyGO T-Watch S3 Plus, with a desktop simulator for both display geometries.

The platform accommodates both an integrated device and a watch working with a separate radio node. MeshCore integration connects the watch to a carried node over BLE for mesh traffic; the wider OS direction also includes our own nodes. Which capabilities a particular device provides is recorded in the hardware matrix.

A node carrying the wearer's position and a remote contact's position are different data sources. The position-source contract holds the technical distinction; it is not a separate product identity.

What works today

Active development. Atta-dipa boots on real hardware; system services, the interface and radio integration are being developed together. The aim is a shared app/device platform, not a finished app marketplace. Navigation is experimental and must not be relied on for safety-critical use.

The table below records the scope of the linked bench results, not a claim that every design preview is already running on a watch.

Implementation and bench evidence · 9 September 2026
Area What the evidence supports
Waveshare on the bench Boot from flash and the Clock are MEASURED in the August 25 bring-up and August 26 Clock report. These are dated prototype results, not acceptance of the new browser design.
MeshCore connection and messages Pairing and received messages on the watch are MEASURED. A debug-command send was confirmed through a Heltec V4.3 OLED; T114 delivery confirmation was NOT OBSERVED. This does not prove a watch composer or a complete reply journey. Bench report.
Navigation and GNSS Software readouts handle missing and stale information. The T-Watch receiver's NMEA and indoor NoFix were observed; an outdoor fix is NOT EXECUTED — HARDWARE REQUIRED. A complete remote-contact navigation journey and a working physical compass are not established. GNSS evidence, target contract.
T-Watch display and touch Panel and touch bring-up are MEASURED on the bench unit. This is not Clock/Mesh/Nav application acceptance on that watch. September 3 report.
Desktop and design review A desktop LVGL simulator and separate interactive browser studies exist for both geometries. Neither is hardware evidence. Simulator controls, browser study.

See Issues and pull requests for current work, and the roadmap for development priorities.

Run it on your desk

For the actual native UI code, use the desktop simulator. You need Git, CMake 3.20+, a C++17 compiler and SDL2 development files. The first simulator configuration fetches the pinned LVGL source unless supplied locally.

# Debian / Ubuntu prerequisites
sudo apt install build-essential cmake git libsdl2-dev
cmake -S . -B build-sim -DATTADIPA_BUILD_SIMULATOR=ON
cmake --build build-sim -j
./build-sim/sim/attadipa_sim --clock --theme night

Try --clock --locale ru, --clock --board waveshare-amoled-206, or --nav --nav-state node-unknown. Clock and Nav are alternative screen modes. For scripted taps and screenshots, see Watch Control.

For physical boards, follow Firmware bring-up and bench handling, including backup and board identification before flashing. Firmware uses ESP-IDF v5.5.5; the native UI uses LVGL v9.5.0. A successful build is not a hardware test.

Help build it

You do not need to own a watch to contribute.

Start here A useful first contribution
Design and accessibility Try a small-screen journey and show where it becomes hard to read or use. Design system.
Software Run the simulator, reproduce a scoped issue, improve a tested application path. Contributing.
Hardware and radio Bring a traceable bench observation, protocol capture or measurement — with its limits. Research rules.
Words and localisation Make a screen or document clearer in English and Russian. String catalogue.

Start with an open issue or Discussion. Read CONTRIBUTING.md before a PR; coordinate claimed work so another contributor is not solving the same task.

Design workspace

Try the design

No board or firmware toolchain needed. From a clone of this repository, serve the study using Python 3:

python3 -m http.server 8481 --bind 127.0.0.1 --directory docs/ui

Open http://127.0.0.1:8481/prototype/. Switch size, theme and language; try the controls inside the screens. Shell Study 03 at http://127.0.0.1:8481/prototype/shell.html explores the app launcher, Settings and separate watch/node status. These are review tools with sample data, not firmware. They do not access a watch, radio or device storage.

License

GPL-3.0-or-later — LICENSE. Copyright and contribution provenance: COPYRIGHT.md. Contributions use DCO 1.1, with no CLA or copyright assignment. Third-party licences are recorded in DEPENDENCIES.md.

About

Open-source ESP32-S3 smartwatch firmware platform / OS with LoRa MeshCore, offline GNSS navigation, LVGL UI and FreeRTOS.

Topics

Resources

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages