Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

BoardRevisionChipROHI supportFirmwareUpstream documentation
Altruist UrbanES-ALTRUIST-URB-1, ESP32-C6-WROOM-1-N8esp32c6supportedROHI altruist-urban (ROHI SDK)
altruist-firmware (other project)
upstream airalab/hardware: Altruist Urban
Altruist Urban (legacy)legacy ESP32-C3 Urbanesp32c3supportedROHI altruist-urban (ROHI SDK)
altruist-firmware (other project)
upstream airalab/altruist-firmware README
Altruist InsightESP32-C6 (airalab/hardware, Altruist/Insight)esp32c6other-firmware-onlyaltruist-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

FirmwareMaintainerChipsLocation
ROHI altruist-urbanROHI SDKesp32c3, esp32c6firmwares/altruist-urban
altruist-firmwareother projectesp32c3, esp32c6https://github.com/airalab/altruist-firmware
  • ROHI altruist-urban: Rust firmware of this repository, selected per chip by the esp32c3 / esp32c6 feature.
  • 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)

CapabilityBoard partImplementationIntegrationHost testsSimulationTarget buildHardwareEvidence
BMP280 / BME280 environmentdocumentedimplementedintegratedpassingnoneci-builtnot-verifiedsource 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 CO2not-on-boardimplementedintegratedpassingnoneci-builtnot-verifiedsource scd4x.rs, test scd4x tests, source firmware sensor tasks, source C6 board module, source Boards, ci CI, upstream Altruist Urban sensor specification
SDS011 particulate matterdocumentedimplementedintegratedpassingnoneci-builtnot-verifiedsource 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 leveldocumentedimplementedintegratedpassingnoneci-builtnot-verifiedsource 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 networkingnot-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-net, test rohi-net tests, source firmware startup, ci CI, source Hardware testing status
Time synchronisation (NTP)not-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-time-ntp, test rohi-time-ntp tests, source firmware startup, ci CI, source Hardware testing status
Telemetry (connectivity)not-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-connectivity, test rohi-connectivity tests, source firmware startup, ci CI, source Hardware testing status
BLE control planenot-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-control-ble, test rohi-control-ble tests, source firmware startup, ci CI, source Hardware testing status
Persistent configuration storenot-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-config-esp, test rohi-config store tests, source firmware startup, ci CI, source Hardware testing status
Device identitynot-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource 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)

CapabilityBoard partImplementationIntegrationHost testsSimulationTarget buildHardwareEvidence
BMP280 / BME280 environmentdocumentedexternalnot-applicablenonenonenot-applicablenot-verifiedupstream airalab/altruist-firmware README, upstream Altruist Urban sensor specification
SDS011 particulate matterdocumentedexternalnot-applicablenonenonenot-applicablenot-verifiedupstream airalab/altruist-firmware README, upstream Altruist Urban sensor specification
I²S microphone noise leveldocumentedexternalnot-applicablenonenonenot-applicablenot-verifiedupstream 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)

CapabilityBoard partImplementationIntegrationHost testsSimulationTarget buildHardwareEvidence
BMP280 / BME280 environmentundocumentedimplementedintegratedpassingnoneci-builtnot-verifiedsource bmx280.rs, test bmx280 tests, source firmware sensor tasks, source C3 board module, source Boards, ci CI, source Hardware testing status
SCD40 / SCD41 CO2undocumentedimplementedintegratedpassingnoneci-builtnot-verifiedsource scd4x.rs, test scd4x tests, source firmware sensor tasks, source C3 board module, source Boards, ci CI
SDS011 particulate matterundocumentedimplementedintegratedpassingnoneci-builtnot-verifiedsource sds011, test sds011 tests, source firmware sensor tasks, source C3 board module, source Boards, ci CI, source Hardware testing status
I²S microphone noise levelundocumentedimplementedintegratedpassingnoneci-builtnot-verifiedsource noise.rs, test noise tests, source firmware sensor tasks, source C3 board module, source Boards, ci CI, source Sensors
Wi-Fi station and IP networkingnot-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-net, test rohi-net tests, source firmware startup, ci CI, source Hardware testing status
Time synchronisation (NTP)not-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-time-ntp, test rohi-time-ntp tests, source firmware startup, ci CI, source Hardware testing status
Telemetry (connectivity)not-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-connectivity, test rohi-connectivity tests, source firmware startup, ci CI, source Hardware testing status
BLE control planenot-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-control-ble, test rohi-control-ble tests, source firmware startup, ci CI, source Hardware testing status
Persistent configuration storenot-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource rohi-config-esp, test rohi-config store tests, source firmware startup, ci CI, source Hardware testing status
Device identitynot-applicableimplementedintegratedpassingnoneci-builtnot-verifiedsource 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)

CapabilityBoard partImplementationIntegrationHost testsSimulationTarget buildHardwareEvidence
BMP280 / BME280 environmentundocumentedexternalnot-applicablenonenonenot-applicablenot-verifiedupstream airalab/altruist-firmware README
SDS011 particulate matterundocumentedexternalnot-applicablenonenonenot-applicablenot-verifiedupstream airalab/altruist-firmware README
I²S microphone noise levelundocumentedexternalnot-applicablenonenonenot-applicablenot-verifiedupstream 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)

CapabilityBoard partImplementationIntegrationHost testsSimulationTarget buildHardwareEvidence
SCD40 / SCD41 CO2documentedimplementednot-integratedpassingnonenot-builtnot-verifiedsource scd4x.rs, test scd4x tests, upstream Insight SCD4x datasheet
Displaydocumentednot-implementednot-integratednonenonenot-builtnot-verifiedupstream 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)

CapabilityBoard partImplementationIntegrationHost testsSimulationTarget buildHardwareEvidence
SCD40 / SCD41 CO2documentedexternalnot-applicablenonenonenot-applicablenot-verifiedupstream airalab/altruist-firmware README, upstream Insight SCD4x datasheet
Displaydocumentedexternalnot-applicablenonenonenot-applicablenot-verifiedupstream 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 caseVerdictSummary
Measure CO2 with Altruist UrbanunsupportedThe 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 ROHIpartialThe 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 InsightunsupportedNo 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 firmwareunsupportedROHI 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