Downloads

Get TerraLync

Pick your platform — the desktop flasher handles detection, download and flashing for you, or grab raw images and do it your way.

Easiest path

TerraLync Flasher (ESP32-S3)

A desktop GUI that does the whole job: detects your board on the serial port, verifies it meets the requirements (ESP32-S3, ≥8 MB flash, ≥2 MB PSRAM), downloads the matching firmware from GitHub Releases, flashes it with esptool, and uploads the filesystem image.

  • Auto-detects board tier — GEEK, Guition, or generic headless
  • Verifies SHA-256 of every image before writing
  • Falls back to cached images when offline
  • Shows the device IP and setup instructions when done
Windows .exe — ~20 MB
Download the flasher Install guide
ESP32-S3 development board
ESP32-S3 firmware

Choose your image

The flasher picks for you — but if you're flashing manually, match the image to your board. All images flash at offset 0x0.

Board / tier Firmware image Flash / PSRAM Notes
Guition ESP32-4848S040 Touch terralync-guition-16mb.bin 16 MB / 8 MB octal lvgl_micropython build with ST7701 display + GT911 touch
Waveshare ESP32-S3-GEEK terralync-s3-16mb.bin 16 MB / 2 MB octal ST7789 status display, SD on SPI2 — the preferred headless board
ESP32-S3 GEEK (USB inverter) terralync-s3-16mb-usb.bin 16 MB / 2 MB octal TinyUSB CDC variant for direct USB-serial to the inverter (INVERTER_USB)
Generic ESP32-S3 (8 MB) terralync-s3-8mb.bin 8 MB / ≥2 MB Minimum tier — headless web dashboard + API

Match the partition table to the silicon. Flashing a 16 MB image to an 8 MB board places the filesystem past the end of physical flash → corruption. When in doubt, let the flasher auto-detect.

App bundles (OTA)

terralync-lite-app-<ver>.tar.gz — application code + dashboard. Installed from the device UI or POST /api/update/install; no flashing needed after day one.

manifest.json

Every release ships a manifest with SHA-256 hashes and sizes. The flasher and on-device OTA both verify before writing anything.

Release channels

firmware-vX.Y.Z / app-vX.Y.Z are stable; *-beta.N tags are the development channel — switchable per device in Settings → Update.

Raspberry Pi

TerraLync for Raspberry Pi

The full hub edition — plugin system, engineering tools, dongle proxy.

Coming soon

Not quite ready

The Pi edition is being brought up to parity with TerraLync Lite — historian, MQTT discovery, quick settings and the dual-layer OTA updater all landed on Lite first. Downloads will appear here once the Pi build matches that feature set.

Want it today? The ESP32-S3 Lite edition above does local monitoring, scheduling, historian and MQTT — no Pi required.

Requirements

Supported hardware

Tier Chip Flash PSRAM Status
Touchscreen Guition ESP32-4848S040 16 MB 8 MB octal Full LVGL UI
Preferred Waveshare ESP32-S3-GEEK 16 MB 2 MB octal LCD + SD
Minimum ESP32-S3 (generic) 8 MB 2 MB (quad or octal) Headless
Hub Raspberry Pi Zero 2 / 3 / 4 / 5 16 GB+ SD — Coming soon — reaching Lite parity
— ESP32 / C3 / S2 — — No S3 USB-OTG + PSRAM combo
— ESP32-S3 <8 MB flash / no PSRAM <8 MB <2 MB Too small for OTA + heap

You'll also need: a GivEnergy inverter reachable on your network (data adapter on port 8899, or a USB cable for INVERTER_USB builds), a 2.4 GHz WiFi network, and optionally a micro-SD card for the historian — the device runs fine without one, using a RAM window.

Verify your download

Every release asset has a SHA-256 in manifest.json. Compare before flashing:

Windows (PowerShell)
Get-FileHash .\terralync-s3-16mb.bin -Algorithm SHA256
macOS / Linux
shasum -a 256 terralync-s3-16mb.bin

The flasher and OTA updater do this automatically — this is for peace of mind on manual flashes.