A desktop monitoring tool for INA-series power sensors, focused on real-time visualization, serial-device integration, fault-aware analysis, and a debuggable development workflow.
NiusRobotLab INA Monitor is a small monorepo with two packages:
@niusrobotlab/ina-monitor-app: Electron + React desktop application.@niusrobotlab/ina-monitor-core: shared models, conversion logic, fault detection, and tests.
The application is designed for bench testing and driver validation workflows where you need to connect a live INA device over serial, inspect voltage/current/power traces, and compare that against simulated sources during development.
- Real-time charts for voltage, current, and power.
- Multi-source monitoring, including serial inputs and built-in mock sources.
- INA3221-specific multi-channel views with consistent front-end routing.
- Fault-aware monitoring pipeline in the shared core package.
- Electron preload bridge for serial access from the renderer.
- Local GitHub Actions CI for lint, test, and build validation.
The UI and supporting protocol are built for INA-series monitoring flows, including common usage with:
- INA219
- INA226
- INA228
- INA3221
- Related devices exposed through the same serial JSONL bridge model
Actual device support depends on the firmware bridge feeding the desktop app.
- Node.js 20 or newer recommended
- npm
- Windows, Linux, or macOS
git clone https://github.com/dunknowcoding/NiusRobotLab_INA_monitor.git
cd NiusRobotLab_INA_monitor
npm installnpm run devThis starts the Vite renderer and launches the Electron shell after the Electron main/preload bundle has been compiled.
npm run buildnpm run start:app.
|- .github/workflows/ci.yml
|- assets/
|- packages/
| |- ina-monitor-app/
| \- ina-monitor-core/
|- package.json
|- package-lock.json
\- README.md
The repository exposes a small set of top-level commands:
npm run lint:ws-> lint all workspace packagesnpm test-> run the core package test suitenpm run build-> build core and app packages
These same checks are used by the GitHub Actions workflow in .github/workflows/ci.yml.
- The Electron app expects its preload bundle under
packages/ina-monitor-app/dist-electron/. - The desktop app uses a serial bridge contract; unsupported transport-side command assumptions should be avoided in the renderer.
- Repository-local debug artifacts should not be committed.
This project is released under the MIT License. See LICENSE.