RoboHub build 0.2.0

This page was generated from the source of RoboHub. Edit the source, not this page.

RoboHub ESP32 Platform

Version: 0.2.0

The ESP32 platform for the RoboHub ecosystem: the interfaces declared by
robohub-common, implemented on ESP32 microcontrollers, with board support
packages for the development boards.

The platform

A Rho program on this platform runs on an ESP32 part. The platform provides
the interfaces, the HAL, and the board support package that registers the
board's peripherals.

Building

cd examples/c/hello_world
rho build -target lolin32-lite .

Flashing

rho flash -target lolin32-lite build/output/hello_world.elf

The platform's tools/esptool/flash runs the flasher from the vendored IDF's
Python environment, using the bootloader, partition table and application
offsets the build itself wrote. ESP32_PORT selects the serial line; a board
that must be put in download mode by hand is flashed with
ESP32_BEFORE=no-reset after GPIO0 has been held low through a reset.

The examples

examples/c/hello_world is the smallest program that runs on real hardware.

examples/rho/hello_world is that program in Rho, written against the
contracts and nothing else.

Deployment metadata

The LOLIN32 Lite's manifest says what a deployment may make of it:

capabilities:
  gateway: false
  relay: true
  node: true
  edge: true
  host: false
  wireless: true
  links: "uart console usb wifi socket"
  buses: "uart usb i2c spi onewire gpio adc pwm"

deployment:
  method: "flash"
  arch: "arm"
  kconfig: "CONFIG_RH_BOARD_LOLIN32_LITE=y"

The keeper's Mesh planner uses these to offer the board as a node or relay, and
the ESP32's serial console is a link it can serve. The ESP32 is not offered as a
host gateway; that role is the Linux board's.

Release history

All notable changes to this module are recorded here, one section per release.

[0.2.0] - 2026-11-01

The LOLIN32 Lite declares the relay/node/edge roles, WiFi and UART/USB links,
its buses and its flash deployment, so a Mesh planner offers it. Its esptool
flash entry writes the bootloader, partition table and application the build
recorded in flash_args.