Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Web interface for Huebner inverter

Table of Contents

Click to open TOC


This repository hosts the source code for the Web Interface for the Huebner inverter, and derivated projects:

It is written with the Arduino development environment and libraries.


To use the web interface 2 things are needed :

  • You need to have a computer on the same WiFi network as the board,
  • You need to 'browse' the web interface page.

Wifi network

There are 2 possibilities:

  • Either you connect to an Access Point generated by the board. The default name for this access point is 'ESP-xxxxx' but can be customized. In that case, the board will have a fixed IP address of (and will be reachable on
  • Or you can configure the board to join your own WiFi network ; and in that case you may need to tweak your network configuration to provide a fixed address to the board (not necessary).

Reaching the board

The board announces itself to the world using mDNS protocol (aka Bonjour, or Rendezvous, or Zeroconf), so you may be able to reach the board using a local name of inverter.local. So first try to reach it on http://inverter.local/


The web interface has been initially designed to run on ESP8266 boards, such as:

(Pay attention to the SPI flash chip on your board: some need a special mode QOUT instead of QIO for programming)

You can buy pre-programmed boards:


You can find pre-compiled versions of the firmware on the OpenInverter forum, or can compile it yourself by following the instructions below.

Flashing / Upgrading


If your board is already programmed with this esp8266-web-interface firmware, or with a firmware that has either ESP8266HTTPUpdateServer or ArduinoOTA components compiled in (it may be the case with the default firmware when you buy a new module), and if you can already reach it (WiFi + network); then you can use one of these approachs:

  • Using ESP8266HTTPUpdateServer component
    • Either go to http://inverter.local/update and upload the binary firmware file
    • Or use this command line curl -F "image=@firmware.bin" inverter.local/update
  • Using the ArduinoOTA component
    • Use the tool (available in the Arduino tools) to upload either a binary firmware file, or a binary filesystem file:
      • Firmware: python ..../Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/ -i esp8266-761bb8.local --progress --file firmware.bin
      • Filesystem: python ..../Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/ -i esp8266-761bb8.local --spiffs --progress --file spiffs.bin
    • Using your development environment (see the instructions below)


If your board is new and unprogrammed, or if you want to fully re-program it, you'll need to have a wired connection between your computer and the board. Assuming you're using the original Olimex board, you'll need :

  • A 3.3v capable USB / Serial adapter
  • the following connections:
Pin# ESP8266 Board Function USB / Serial adapter
1 +3.3v input (Some adapters provide a +3.3v output, you can use it)
3 RXD input TXD output
4 TXD output RXD input

Then you would use any of the the development tool below ; or the tool to upload either a binary firmware file, or a binary filesystem file.



You can choose between the following tools:


Arduino IDE is an easy-to-use desktop IDE, which provides a quick and integrated way to develop and update your board.


PlatformIO is a set of tools, among which PlatformIO Core (CLI) is a command line interface that can be used to build many kind of projects. In particular Arduino-based projects like this one. (Note: even if PlatformIO provides an IDE, these instructions only target the CLI.)