Build from Source
RBgrid is a firmware application for the ESP32, not a library you link into your own sketch. "Building from source" means building the hub image as it is and flashing it to the board; you then configure sensors and units at runtime from the web app or the API (see Concepts → Sensors & Units).
📦 Source: the firmware source is published at github.com/robotdyn-dimmer/RBgrid (from the v1.1.0 release), together with the
LICENSE,COMMERCIAL.mdandNOTICEfiles.
Requirements
- Board: ESP32-WROVER with PSRAM — required (RBgrid uses PSRAM; it will not run on an ESP32 without it).
- Toolchain: ESP-IDF v5.4.1 (exactly this version), target
esp32. - openssl on the build machine (used once to generate the development certificate).
Licence
RBgrid firmware is source-available under the PolyForm Noncommercial 1.0.0 licence — free to use, modify and build for personal and non-commercial use; commercial use requires a licence (contact info@rbamp.com). It is not an OSI "open source" licence. The LICENSE, COMMERCIAL.md and NOTICE files are in the repository from the v1.1.0 release.
Build steps
- Clone the repository (from the v1.1.0 release):
bash git clone https://github.com/robotdyn-dimmer/RBgrid.git cd RBgrid - Generate the development certificate (once, before the first build). This writes a self-signed certificate used for HTTPS on your local network (
rbgrid_dev_cert.pem+rbgrid_dev_key.pem, valid 10 years); the private key is not shipped in the repository:bash components/rbpower/certs/gen_dev_cert.sh -
(Optional) set your own first-login access-point password. Copy the template and set a password of 8–63 characters:
bash cp components/rbpower/include/ap_provision.example.h components/rbpower/include/ap_provision.h # edit ap_provision.h and set your AP passwordIf you skip this, the build uses the public template value and prints a warning — you can still set your own password later in the app. -
Build:
bash idf.py build - Flash over USB (writes the bootloader, partition table, OTA data and the app):
bash idf.py -p <PORT> flash<PORT>is the board's serial port (e.g./dev/ttyUSB0,COM3).
After this first USB flash, further updates are delivered over the air (OTA) from the web app — you do not need a cable again.
First boot
- The hub starts its own Wi-Fi network,
rbgrid-<mac4>(the last four of its MAC), using the first-login password. - Join it and open
192.168.4.1. - Save your home Wi-Fi so the hub joins your network.
- In the app, set your own access-point password (Settings → Network → Hub access point) and, optionally, your MQTT broker — the hub ships with no default broker.
From here, add your rbAmp modules and bind channels to points as in Concepts → Sensors & Units and First Measurements.
🔒 On the LAN, writes to the hub's API are open until you set an admin token (
POST /api/system/token). Setting one is recommended.