Back to siteGetting started and documentation center

From an empty Raspberry Pi to your first energy reading.

A progressive guide to install HelioPulse, understand its architecture, connect devices and extend the platform with drivers.

Based on HelioPulse OS 1.7.0 Instructions aligned with the repository
Real product walkthrough

See the steps before you install.

The guide is illustrated with real screens from the live HelioPulse installation.

Setup and loginSetup and login

Setup and login

Start from the browser without SSH.

Live energy overviewLive energy overview

Live energy overview

Confirm the system is reporting production and consumption.

Driver editorDriver editor

Driver editor

Create a Modbus driver from a JSON definition.

What HelioPulse has today

A local energy platform you can use now.

The current product combines live monitoring, local history, device management and safe operations on the Raspberry Pi.

Available today

Local-first monitoring

Keep telemetry and history on the appliance and continue operating on your local network without Internet.

Live telemetry with quality

See solar, consumption, battery, grid and device connection state through live WebSocket updates.

Historical analysis

Explore production, consumption, SOC, temperatures and phases from today to a custom range or one year.

Validated JSON drivers

Load, create and reuse declarative Modbus drivers without rewriting the panel.

Multi-device operations

Manage independent collectors, stable serial ports, device state and start/stop/restart actions.

Alarms and event timeline

Follow alarm transitions, acknowledge incidents and audit connectivity, configuration and collector events.

Daily and weekly reports

Generate deterministic reports with energy, anomalies, alarms and events; local AI is optional.

Health, backups and recovery

Inspect Raspberry resources, connectivity and diagnosis, then create backups and recover locally.

Responsive, multilingual UI

Use the panel on desktop or mobile with nine languages and light/dark themes.

Optional and advanced

Solar forecast

Compare expected and produced solar energy after configuring the PV array.

BMS over Modbus RTU

Register a compatible BMS as its own device and inspect cells, balancing, SOC, SOH, temperatures and cycles.

Mock mode

Generate synthetic telemetry from a driver to validate the UI without hardware.

Local AI for reports

Optionally download and activate a local model; deterministic reports remain available without it.

MQTT and Home Assistant

Publish to an optional broker with TLS and Home Assistant discovery.

Local automations

Use thresholds, schedules, alarms or events to publish MQTT, call webhooks or record events; dry-run is available.

Remote access and app OTA

Optional outbound tunnel access and signed application updates depend on configuration and connectivity.

Roadmap

Cloud sync

Not part of the current local workflow.

Driver marketplace

Manual driver loading exists today; a public marketplace remains future work.

Proprietary BMS protocols

CAN, BLE and non-Modbus JK-style protocols are not part of the current supported path.

Automatic inverter writes

Automation actions do not write inverter parameters in this version.

Full OS A/B rollback

Application OTA is available separately; full operating-system A/B rollback remains future work.

01Installation

Prepare the appliance.

HelioPulse OS is a Linux image for Raspberry Pi designed for local energy monitoring.

Raspberry Pi 4 or 5

Pi 4 with 4 GB or Pi 5 with 4/8 GB.

Storage

128 GB USB 3.0 SSD recommended or High Endurance microSD.

Communication

USB–RS485 adapter with galvanic isolation.

  1. 1

    Download the stable release

    Get the image and review the release notes from the public releases repository.

    View all releases
  2. 2

    Flash the image

    Use Raspberry Pi Imager or an equivalent tool. Select the downloaded file and the destination SSD or microSD.

  3. 3

    Connect and power on

    Connect storage, network, USB–RS485 adapter and the official power supply suitable for your Raspberry Pi.

Work with the system powered down

Wire RS485 according to the manufacturer's manual. Do not handle energized inverter connections.

02First boot

Configure from your browser.

On first boot the appliance opens a captive portal from your browser: connect Wi-Fi, create your administrator and finish. No SSH, no cables to your computer.

Local networkLocate the Raspberry Pi
Initial accountCreate secure credentials
First deviceDriver, port and slave ID
  1. 1

    Insert the card and power on

    Put the flashed microSD into the Raspberry Pi and connect the power. The first boot expands the system and starts HelioPulse; give it a minute.

  2. 2

    Join the HelioPulse network

    From your phone or laptop, connect to the temporary Wi-Fi network the device creates. The setup portal opens automatically in your browser; if it does not, open the address shown on screen.

  3. 3

    1. Connect to the Internet

    Pick your home Wi-Fi and enter its password, or choose to continue with a network cable. The signal strength helps you find the right network.

  4. 4

    2. Create your administrator

    Set the username and password (at least 8 characters) you will use to sign in to the panel. Keep them safe: this is your administrator account.

  5. 5

    Optional: enable remote access

    If your device supports it, pick a name to reach the panel securely over the Internet. Local access always keeps working, so you can skip this step.

  6. 6

    3. Ready to use

    The portal confirms setup is complete and shows the panel address. Reconnect to your usual network and open it to sign in with the account you created.

1. Connect to the Internet1. Connect to the Internet

1. Connect to the Internet

Pick your Wi-Fi network (or continue with a network cable).

2. Create your administrator2. Create your administrator

2. Create your administrator

Set the credentials you will use to sign in to the panel.

3. Ready to use3. Ready to use

3. Ready to use

Reconnect to your usual network and open the panel address shown.

Designed for phone and laptop

The portal is a responsive, guided flow with a progress bar and light/dark themes. No app, no SSH and no cables to your computer.

03How it works

A local, modular platform.

Each device has an independent collector. A failure or restart in one inverter does not interrupt telemetry from the others.

01

Device

The inverter or BMS exposes data through its protocol.

02

Driver

Describes protocol, registers, scales and metrics.

03

Collector

Reads each device in an isolated, controllable process.

04

Panel

Consolidates telemetry, history, alarms and forecast.

04Drivers

The translator between your device and HelioPulse.

A driver is a declarative JSON file. It defines how to communicate over Modbus RTU and convert manufacturer registers into common HelioPulse metrics.

No executable code

The package describes data; it does not install arbitrary binaries on the system.

Validation before saving

The backend checks structure, protocol and registers before accepting the file.

Reusable

The same driver can be used with several compatible devices.

05Create a driver

Start with the Modbus map.

You need the manufacturer's protocol manual and verified readings from a real device. The minimum schema requires an identifier, modbus_rtu protocol and at least one group with one register.

my-inverter-modbus.json Minimal example
{
  "id": "my-inverter-modbus",
  "name": "My inverter",
  "manufacturer": "Manufacturer",
  "models": ["Model A"],
  "protocol": {
    "type": "modbus_rtu",
    "baud_rate": 9600,
    "slave_id": 1
  },
  "register_groups": [{
    "name": "battery",
    "interval": "5s",
    "registers": [{
      "address": 256,
      "name": "battery_soc",
      "metric": "battery.soc_pct",
      "unit": "%",
      "scale": 1,
      "signed": false
    }]
  }]
}

Before publishing

  • Use a stable, safe id for the file name.
  • Confirm baud rate, parity, stop bits and slave ID.
  • Verify address, sign, scale and unit for every register.
  • Compare power and energy with the device's physical panel.
  • Test disconnections and out-of-range values.
06Load and connect

Activate it without SSH.

Step 1

Upload the JSON

In Equipment → Drivers, select the file. HelioPulse validates the schema before saving it.

Step 2

Register the device

Set a device ID, driver, persistent by-id port and a slave ID between 1 and 247.

Step 3

Start the collector

Start or restart only that device and confirm that telemetry becomes active.

Controlled replacement

Uploading another file with the same ID updates the driver. Restart associated devices to apply the new definition.

07Release outlook

What comes next.

This view communicates the project's current direction. Scope and order may change after technical validation and field testing.

v1.7Available

Intelligent local foundation

  • Multi-inverter and panel drivers
  • Reports with local AI models
  • History, diagnostics and forecast
v1.8Projected

Driver ecosystem

  • Marketplace and verifiable catalog
  • Compatibility and driver versions
  • Testing and publishing flow
  • More inverter and BMS drivers
v1.9Under study

Reliable advanced operation

  • Expanded observability and guided maintenance
  • Broader multilingual coverage and consistency
  • Advanced validation of battery readings across inverter, BMS and shunt
  • Manufacturer-specific alarm decoding and richer multi-action automation
FutureDirection

Multi-site with agents

  • A coordinating Raspberry Pi leading the installation
  • Raspberry Pi or ESP32 collector agents
  • Cloud backups
  • Multi-site installation management
  • Grafana integration for custom dashboards
  • Real-time notifications through user-configurable channels

Ready to install?

Download the stable release or review the source code and project evolution.

Releases
Getting started: install HelioPulse on a Raspberry Pi | HelioPulse