Reslab DL24 Monitor
A desktop and Android instrument panel for the Atorch DL24 electronic DC load: real-time voltage/current/power telemetry, capacity/energy/temperature/runtime metrics, CSV session export, and a Control Center for driving the load directly — set current, cut-off voltage, timeout, on/off, and counter reset. Connects over USB-serial, Bluetooth-SPP, or Bluetooth LE.
Features
- Two transports, same protocol either way: Serial (USB or Bluetooth-SPP) on desktop, and Bluetooth LE on both desktop and Android. Desktop remembers the last COM port that worked and probes every available port from the highest number down if it's gone (the DL24 typically enumerates as the last or second-to-last serial port); either platform remembers the last successful connection (port or BLE device) and reconnects to it automatically on launch
- Android hides the Serial option entirely (there's no such thing as a COM port on a phone) rather than showing an option that can't work
- Real-time voltage / current / power, each on its own auto-scaled chart
with a real wall-clock time axis (not time elapsed since the app was
opened) and full-session history (the "30s/5m/15m" range only zooms the
live view; "All" and exports always cover the whole session, not just
what's currently rendered). All three charts share a
syncId, so tapping or hovering any one of them shows the cursor/tooltip at the same instant on all three - Capacity (Ah), energy (Wh), temperature and runtime readouts
- CSV export of a monitoring session: a real timestamp plus elapsed seconds per row, full-precision voltage/current/power, unbounded by the chart's render settings
- Excel (.xlsx) export with the same session, V/A/W rounded to 3 decimals for readability, plus native editable charts plotted against real time on their own sheet
- Control Center: load on/off, set current, set cut-off voltage, set timeout, reset accumulated counters
- Dark/light theme, configurable poll interval and chart history
- UI in English, Russian or Ukrainian (Settings → Language), detected from the OS locale on first launch with English as the fallback; measurement units (V/A/W/Ah/Wh) and numeric formatting stay locale-neutral throughout the UI, charts and exports for consistency and easier data interchange
- Type-safe Rust ↔ TypeScript bridge — the UI never drifts from the backend
Built with
- Backend: Rust, Tauri v2,
serialport(desktop Serial),tauri-plugin-blec(BLE, desktop + Android),tauri-specta,rust_xlsxwriter - Frontend: React 19, TypeScript, shadcn/ui (Radix + Tailwind v4), Recharts, react-i18next
- Platforms: Windows, macOS, Linux, Android (Tauri Mobile)
- Release automation: GitHub Actions,
tauri-action(Windows/macOS/Linux installers - Android is built and signed manually, see Android)









