Support matrix
Reviewed on 2026-11-02, schema version 1. The data is published as support-matrix/matrix.toml; how to read the statuses is explained in Reading the matrix.
Boards
| Board | Revision | Chip | ROHI support | Firmware | Upstream documentation |
|---|---|---|---|---|---|
| Altruist Urban | ES-ALTRUIST-URB-1, ESP32-C6-WROOM-1-N8 | esp32c6 | supported | ROHI altruist-urban (ROHI SDK) altruist-firmware (other project) | upstream airalab/hardware: Altruist Urban |
| Altruist Urban (legacy) | legacy ESP32-C3 Urban | esp32c3 | supported | ROHI altruist-urban (ROHI SDK) altruist-firmware (other project) | upstream airalab/altruist-firmware README |
| Altruist Insight | ESP32-C6 (airalab/hardware, Altruist/Insight) | esp32c6 | other-firmware-only | altruist-firmware (other project) | upstream airalab/hardware: Altruist Insight |
- Altruist Urban (esp32c6): Outdoor air-quality station: SDS011, BME280 and ICS-43434 microphone. The ROHI C6 pin map is taken from the upstream schematic and is not yet verified on hardware.
- Altruist Urban (legacy) (esp32c3): Legacy ESP32-C3 variant of the Urban. The ROHI pin map is checked against the Urban pinout, but airalab/hardware documents only the ESP32-C6 board, so there is no upstream schematic for this variant.
- Altruist Insight (esp32c6): Indoor station with a display and an SCD4x CO2 sensor. ROHI has no Insight board module, firmware or display driver; only the independent altruist-firmware targets it.
Firmware
| Firmware | Maintainer | Chips | Location |
|---|---|---|---|
| ROHI altruist-urban | ROHI SDK | esp32c3, esp32c6 | firmwares/altruist-urban |
| altruist-firmware | other project | esp32c3, esp32c6 | https://github.com/airalab/altruist-firmware |
- ROHI altruist-urban: Rust firmware of this repository, selected per chip by the
esp32c3/esp32c6feature. - altruist-firmware: Independent PlatformIO firmware of the Altruist devices with its own feature set; ROHI has not assessed it and its claims are not ROHI support.
Capabilities per board and firmware
Altruist Urban with ROHI altruist-urban (esp32c6)
| Capability | Board part | Implementation | Integration | Host tests | Simulation | Target build | Hardware | Evidence |
|---|---|---|---|---|---|---|---|---|
| BMP280 / BME280 environment | documented | implemented | integrated | passing | none | ci-built | not-verified | source bmx280.rs, test bmx280 tests, source firmware sensor tasks, source C6 board module, source Boards, ci CI, upstream Altruist Urban sensor specification, source Hardware testing status |
| SCD40 / SCD41 CO2 | not-on-board | implemented | integrated | passing | none | ci-built | not-verified | source scd4x.rs, test scd4x tests, source firmware sensor tasks, source C6 board module, source Boards, ci CI, upstream Altruist Urban sensor specification |
| SDS011 particulate matter | documented | implemented | integrated | passing | none | ci-built | not-verified | source sds011, test sds011 tests, source firmware sensor tasks, source C6 board module, source Boards, ci CI, upstream Altruist Urban sensor specification, source Hardware testing status |
| I²S microphone noise level | documented | implemented | integrated | passing | none | ci-built | not-verified | source noise.rs, test noise tests, source firmware sensor tasks, source C6 board module, source Boards, ci CI, upstream Altruist Urban sensor specification, source Sensors |
| Wi-Fi station and IP networking | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-net, test rohi-net tests, source firmware startup, ci CI, source Hardware testing status |
| Time synchronisation (NTP) | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-time-ntp, test rohi-time-ntp tests, source firmware startup, ci CI, source Hardware testing status |
| Telemetry (connectivity) | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-connectivity, test rohi-connectivity tests, source firmware startup, ci CI, source Hardware testing status |
| BLE control plane | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-control-ble, test rohi-control-ble tests, source firmware startup, ci CI, source Hardware testing status |
| Persistent configuration store | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-config-esp, test rohi-config store tests, source firmware startup, ci CI, source Hardware testing status |
| Device identity | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-identity, test rohi-identity tests, source firmware startup, ci CI, source Hardware testing status |
Limitations of BMP280 / BME280 environment:
- The ESP32-C6 pin map comes from the upstream schematic and is not verified on hardware.
- The driver handles BMP280 (no humidity) and BME280; the Urban documents a BME280.
Limitations of SCD40 / SCD41 CO2:
- The Urban sensor list has no SCD4x; the firmware starts the driver anyway and reports no measurement and an unhealthy sensor state when none answers on the I²C bus.
- Attaching an external SCD4x is not documented upstream and not verified.
Limitations of SDS011 particulate matter:
- The ESP32-C6 pin map comes from the upstream schematic and is not verified on hardware.
- The schematic names the SDS011 nets PM_TX and PM_RX without a viewpoint; swap the pins if the sensor stays silent.
- The SDS011 accuracy is ±10 µg/m³ or ±15 % (upstream datasheet figure).
Limitations of I²S microphone noise level:
- The ESP32-C6 pin map comes from the upstream schematic and is not verified on hardware.
- Unweighted dB SPL (not dBA) from the nominal ICS-43434 sensitivity (-26 dBFS at 94 dB SPL); no per-device calibration, so values include the microphone response and the device’s own noise.
- Not comparable to a calibrated, A-weighted sound level meter.
Limitations of Wi-Fi station and IP networking:
- Scan, connect, reconnect, wrong password, heap minimum and 24 h stability are listed as not yet measured on hardware.
Limitations of Time synchronisation (NTP):
- Depends on a working Wi-Fi connection; no hardware run recorded.
Limitations of Telemetry (connectivity):
- Depends on Wi-Fi, time and a provisioned device identity; no hardware run against a connectivity provider is recorded.
- The independent altruist-firmware reports to Robonomics through its own mechanism; the two are not interchangeable.
Limitations of BLE control plane:
- One heap measurement exists (Wi-Fi and BLE running, chip not recorded); advertising, coexistence, MTU and 24 h stability are not measured.
- No BLE pairing or encryption yet.
Limitations of Persistent configuration store:
- The flash self-test (example-config) exists, but no run is recorded.
Limitations of Device identity:
- The hardware checklist (provision, reboot, erase, re-provision) has no recorded results.
Altruist Urban with altruist-firmware (esp32c6)
| Capability | Board part | Implementation | Integration | Host tests | Simulation | Target build | Hardware | Evidence |
|---|---|---|---|---|---|---|---|---|
| BMP280 / BME280 environment | documented | external | not-applicable | none | none | not-applicable | not-verified | upstream airalab/altruist-firmware README, upstream Altruist Urban sensor specification |
| SDS011 particulate matter | documented | external | not-applicable | none | none | not-applicable | not-verified | upstream airalab/altruist-firmware README, upstream Altruist Urban sensor specification |
| I²S microphone noise level | documented | external | not-applicable | none | none | not-applicable | not-verified | upstream airalab/altruist-firmware README, upstream Altruist Urban sensor specification |
Limitations of BMP280 / BME280 environment:
- Claimed by the altruist-firmware README; ROHI has not built or verified it.
Limitations of SDS011 particulate matter:
- Claimed by the altruist-firmware README; ROHI has not built or verified it.
Limitations of I²S microphone noise level:
- Claimed by the altruist-firmware README; ROHI has not built or verified it.
- Reports the level in dBA, a different metric from the unweighted dB SPL of ROHI; the values must not be compared.
Altruist Urban (legacy) with ROHI altruist-urban (esp32c3)
| Capability | Board part | Implementation | Integration | Host tests | Simulation | Target build | Hardware | Evidence |
|---|---|---|---|---|---|---|---|---|
| BMP280 / BME280 environment | undocumented | implemented | integrated | passing | none | ci-built | not-verified | source bmx280.rs, test bmx280 tests, source firmware sensor tasks, source C3 board module, source Boards, ci CI, source Hardware testing status |
| SCD40 / SCD41 CO2 | undocumented | implemented | integrated | passing | none | ci-built | not-verified | source scd4x.rs, test scd4x tests, source firmware sensor tasks, source C3 board module, source Boards, ci CI |
| SDS011 particulate matter | undocumented | implemented | integrated | passing | none | ci-built | not-verified | source sds011, test sds011 tests, source firmware sensor tasks, source C3 board module, source Boards, ci CI, source Hardware testing status |
| I²S microphone noise level | undocumented | implemented | integrated | passing | none | ci-built | not-verified | source noise.rs, test noise tests, source firmware sensor tasks, source C3 board module, source Boards, ci CI, source Sensors |
| Wi-Fi station and IP networking | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-net, test rohi-net tests, source firmware startup, ci CI, source Hardware testing status |
| Time synchronisation (NTP) | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-time-ntp, test rohi-time-ntp tests, source firmware startup, ci CI, source Hardware testing status |
| Telemetry (connectivity) | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-connectivity, test rohi-connectivity tests, source firmware startup, ci CI, source Hardware testing status |
| BLE control plane | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-control-ble, test rohi-control-ble tests, source firmware startup, ci CI, source Hardware testing status |
| Persistent configuration store | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-config-esp, test rohi-config store tests, source firmware startup, ci CI, source Hardware testing status |
| Device identity | not-applicable | implemented | integrated | passing | none | ci-built | not-verified | source rohi-identity, test rohi-identity tests, source firmware startup, ci CI, source Hardware testing status |
Limitations of BMP280 / BME280 environment:
- The ESP32-C3 pin map is checked against the Urban pinout, but this variant has no schematic in airalab/hardware and no recorded hardware run.
- The driver handles BMP280 (no humidity) and BME280; the Urban documents a BME280.
Limitations of SCD40 / SCD41 CO2:
- No upstream documentation of the variant’s sensors; the firmware starts the SCD4x driver and reports no measurement and an unhealthy sensor state when none answers.
Limitations of SDS011 particulate matter:
- The ESP32-C3 pin map is checked against the Urban pinout, but this variant has no schematic in airalab/hardware and no recorded hardware run.
- The UART wiring was not recorded in a hardware report.
- The SDS011 accuracy is ±10 µg/m³ or ±15 % (upstream datasheet figure).
Limitations of I²S microphone noise level:
- The ESP32-C3 pin map is checked against the Urban pinout, but this variant has no schematic in airalab/hardware and no recorded hardware run.
- Unweighted dB SPL (not dBA) from the nominal ICS-43434 sensitivity (-26 dBFS at 94 dB SPL); no per-device calibration, so values include the microphone response and the device’s own noise.
- Not comparable to a calibrated, A-weighted sound level meter.
Limitations of Wi-Fi station and IP networking:
- Scan, connect, reconnect, wrong password, heap minimum and 24 h stability are listed as not yet measured on hardware.
Limitations of Time synchronisation (NTP):
- Depends on a working Wi-Fi connection; no hardware run recorded.
Limitations of Telemetry (connectivity):
- Depends on Wi-Fi, time and a provisioned device identity; no hardware run against a connectivity provider is recorded.
- The independent altruist-firmware reports to Robonomics through its own mechanism; the two are not interchangeable.
Limitations of BLE control plane:
- One heap measurement exists (Wi-Fi and BLE running, chip not recorded); advertising, coexistence, MTU and 24 h stability are not measured.
- No BLE pairing or encryption yet.
Limitations of Persistent configuration store:
- The flash self-test (example-config) exists, but no run is recorded.
Limitations of Device identity:
- The hardware checklist (provision, reboot, erase, re-provision) has no recorded results.
Altruist Urban (legacy) with altruist-firmware (esp32c3)
| Capability | Board part | Implementation | Integration | Host tests | Simulation | Target build | Hardware | Evidence |
|---|---|---|---|---|---|---|---|---|
| BMP280 / BME280 environment | undocumented | external | not-applicable | none | none | not-applicable | not-verified | upstream airalab/altruist-firmware README |
| SDS011 particulate matter | undocumented | external | not-applicable | none | none | not-applicable | not-verified | upstream airalab/altruist-firmware README |
| I²S microphone noise level | undocumented | external | not-applicable | none | none | not-applicable | not-verified | upstream airalab/altruist-firmware README |
Limitations of BMP280 / BME280 environment:
- Claimed by the altruist-firmware README; ROHI has not built or verified it.
Limitations of SDS011 particulate matter:
- Claimed by the altruist-firmware README; ROHI has not built or verified it.
Limitations of I²S microphone noise level:
- Claimed by the altruist-firmware README; ROHI has not built or verified it.
- Reports the level in dBA, a different metric from the unweighted dB SPL of ROHI; the values must not be compared.
Altruist Insight: no firmware targets this board (esp32c6)
| Capability | Board part | Implementation | Integration | Host tests | Simulation | Target build | Hardware | Evidence |
|---|---|---|---|---|---|---|---|---|
| SCD40 / SCD41 CO2 | documented | implemented | not-integrated | passing | none | not-built | not-verified | source scd4x.rs, test scd4x tests, upstream Insight SCD4x datasheet |
| Display | documented | not-implemented | not-integrated | none | none | not-built | not-verified | upstream airalab/hardware: Altruist Insight |
Limitations of SCD40 / SCD41 CO2:
- The driver exists, but no ROHI firmware or Insight board module wires it.
Limitations of Display:
- ROHI has no display driver.
Altruist Insight with altruist-firmware (esp32c6)
| Capability | Board part | Implementation | Integration | Host tests | Simulation | Target build | Hardware | Evidence |
|---|---|---|---|---|---|---|---|---|
| SCD40 / SCD41 CO2 | documented | external | not-applicable | none | none | not-applicable | not-verified | upstream airalab/altruist-firmware README, upstream Insight SCD4x datasheet |
| Display | documented | external | not-applicable | none | none | not-applicable | not-verified | upstream airalab/altruist-firmware README, upstream airalab/hardware: Altruist Insight |
Limitations of SCD40 / SCD41 CO2:
- Claimed by the altruist-firmware README; ROHI has not built or verified it.
Limitations of Display:
- Claimed by the altruist-firmware README (display and QR code); ROHI has not built or verified it.
Use cases
| Use case | Verdict | Summary |
|---|---|---|
| Measure CO2 with Altruist Urban | unsupported | The Urban board carries no SCD4x. The firmware runs the SCD4x driver and would read a sensor wired to the I²C bus, but no wiring is documented upstream and nothing was verified. |
| Measure environmental noise with ROHI | partial | The Urban microphone yields unweighted dB SPL from the nominal ICS-43434 sensitivity. There is no per-device calibration and no A-weighting, so it is not dBA and not comparable to a calibrated sound level meter. |
| Run ROHI on Altruist Insight | unsupported | No ROHI firmware or board module exists for the Insight and no display driver exists. The SCD4x driver exists in the SDK, but nothing integrates it on this board. |
| Build a water-quality monitor with existing ROHI firmware | unsupported | ROHI has no water-quality sensor driver (pH, turbidity, conductivity, temperature probes), no such board and no firmware. A new device would reuse the SDK services but needs all sensing work. |
Still missing for “Measure CO2 with Altruist Urban”:
- An upstream-documented way to attach an SCD4x to the Urban
- A hardware report with an SCD4x on the Urban
Still missing for “Measure environmental noise with ROHI”:
- A-weighting (dBA)
- Per-device calibration against a reference meter
- Hardware verification on a board
Still missing for “Run ROHI on Altruist Insight”:
- Insight board module in rohi-hal-esp
- Display driver
- Insight firmware
- Hardware verification
Still missing for “Build a water-quality monitor with existing ROHI firmware”:
- Sensor drivers
- A board definition and firmware
- Calibration procedures
- Hardware verification