Skip to content

Roadmap

The Aranet project aims to be the definitive Rust ecosystem for Aranet environmental sensors, with feature parity to Aranet4-Python and beyond.

PhaseComponentStatusProgress
0FoundationDONEREADME, LICENSE, CI, CHANGELOG
1Core LibraryDONEFull BLE stack tested with hardware
2CLI ToolDONEAll commands implemented and tested
3TUI DashboardDONE44 features implemented
4GUI ApplicationDONEFull MVP with charts and multi-device
5WASM ModuleWIPBasic init/log, Web Bluetooth pending
6Data Persistence & APIDONEaranet-store and aranet-service complete

All CLI features implemented:

  • scan, read, status, info, history, set, watch, config, completions
  • doctor command for BLE diagnostics
  • alias command for friendly device names
  • Multi-device read with parallel connections
  • Interactive device picker when no device specified
  • Passive read mode from BLE advertisements
  • History date filters (--since / --until)
  • Progress bars for history download
  • Pressure unit conversion (--inhg / --hpa)

Full-featured terminal monitoring with ratatui (44 features implemented):

Live Readings

Auto-refresh with trend indicators and min/max/avg stats

Multi-Device

Monitor multiple sensors with filtering and comparison view

Sparklines

Historical charts with time axis, multiple metrics (T/H)

Alerts

Threshold alerts with severity levels and terminal bell

  • Navigation: Tab/Shift+Tab, vim-style j/k, mouse support
  • Views: Full-screen chart (g), comparison view (v), help overlay (?)
  • History: Time range filter (0-4), scrollable records, CSV export (e)
  • Settings: Edit interval, BLE range (B), Smart Home (I), thresholds (+/-)
  • Alerts: Alert history (a), sticky alerts (A), terminal bell (b)
  • Display: Light/dark theme (t), responsive layout, wider sidebar (])

Native desktop app with egui:

  • Device discovery UI - Scan button and device list sidebar
  • Real-time readings dashboard - Color-coded CO2/radon/radiation values
  • Historical data charts - CO2, radon, radiation, temperature, humidity trends
  • Time filtering - All/24h/7d/30d history views
  • Settings display - View device configuration
  • Multi-device support - Connect and monitor multiple devices
  • Cross-platform - Works on macOS, Windows, and Linux

Browser-based Aranet monitor:

  • Web Bluetooth device discovery (Chrome/Edge)
  • Real-time dashboard UI
  • Historical data download
  • PWA support (installable, offline)
  • CSV export
  • Chart visualizations

Note: Web Bluetooth only works in Chromium browsers (~50% browser support). iOS Safari does NOT support Web Bluetooth.

Phase 6: Data Persistence & API (Complete)

Section titled “Phase 6: Data Persistence & API (Complete)”

Local data storage and HTTP API for integrations:

SQLite Storage

Persistent storage for readings and history with schema migrations

REST API

HTTP endpoints for devices, readings, and history queries

Background Collector

Automatic device polling with configurable intervals

WebSocket

Real-time streaming of sensor readings

  • aranet-store: SQLite database with readings, history, and device tracking
  • aranet-service: Background collector + HTTP REST API server
  • CLI integration: sync and cache commands for local data management
  • Service management: Install as system service (launchd/systemd)
  • All Python library features working in Rust
  • Single binary CLI with no runtime dependencies
  • TUI monitoring multiple devices simultaneously
  • GUI app installable on all platforms
  • WASM app deployed to GitHub Pages (this site!)
  • Published to crates.io as aranet
  • All dependencies on latest stable versions
  • Zero cargo audit warnings

We welcome contributions! Areas where help is especially appreciated:

  1. Testing with hardware — Help test with Aranet2, Radiation sensors
  2. GUI/TUI polish — UI/UX improvements
  3. Documentation — Examples, tutorials, translations
  4. Web Bluetooth — WASM integration expertise

Made with ❤️ by Cameron Rye