
Altruist: open end to end, and nobody can close it, not even us
We looked for another air quality sensor where everything around it is open: the hardware, the firmware, the server that receives the data, the map that shows it, and the data itself, signed on the device and written to a public ledger. We did not find one.
So here is Altruist, layer by layer, with a link to each one. Everything below is on GitHub, under an open licence, and you can check it yourself.

Hardware: the boards, down to every layer
The hardware repository holds both modules, Altruist Urban for the street and Altruist Insight for the room. For each board there is the schematic, every copper layer of the layout, the Gerber files a factory needs, the pick-and-place file, the bill of materials and a 3D model of the board. The editable EasyEDA Pro projects are there too: Urban and Insight.

Altruist Urban in airalab/hardware.

The Urban main board schematic, page 1 of 3: the ESP32-C6 module and its pin map.

The main board layout.

Factory files: with these, any board house can make the board.
The enclosures are there too, as editable FreeCAD and Fusion sources and as STL and 3MF files you can send straight to a printer, together with the stands and mounts.

Certificates: published, not just claimed
Most devices say “CE” on the box. We publish the paperwork: the signed EU declaration of conformity, the test reports, the RoHS documents and the certificates of the radio module and of the printing plastic.

Altruist Urban certificates. The same for Insight.
Firmware: open, and it signs every reading
The firmware grew out of the firmware of Sensor.Community, the citizen sensor network from Stuttgart, and it is still a fork of it. That is how open source is meant to work: we started from a project people trusted, and everything we added stays open under the same licence.

airalab/altruist-firmware, GPL-3.0.
Before a reading leaves the sensor, the firmware signs it with the device’s own key. The connectivity server checks that signature and turns away any reading that does not carry a valid one.

The signing step in the firmware.
The firmware is also not tied to us. In its settings you can point the sensor at another connectivity server, at your own server, at your own InfluxDB, or keep it entirely at home with the Home Assistant integration.
Connectivity: the server that receives the data
Sensors Connectivity receives the readings, checks each signature, publishes them live, packs them into batches, pins the batches to IPFS on the connectivity and RoSeMAN nodes, and writes their fingerprint to the Robonomics blockchain. It is a Python package that anyone can run, and the sensor can be pointed at any such server.

airalab/sensors-connectivity, AGPL-3.0.
Robonomics: the record nobody can rewrite
The fingerprint of every batch goes to Robonomics, a parachain on Polkadot. Once it is there, nobody can quietly change or delete what a sensor measured, including us. Anyone can look at the ledger in the explorer.

airalab/robonomics, Apache-2.0.
The indexer: rebuild the whole dataset yourself
RoSeMAN reads the ledger, fetches the batches from IPFS and turns them back into readings. It is what the sensors.social map runs on. Run your own copy and you hold every published reading, without asking anyone for permission.

airalab/RoSeMAN, AGPL-3.0.
The map
The site you are reading this on is open too.

airalab/sensors.social, AGPL-3.0.
Why it matters
A promise to keep data open can change with a new owner or a new price list. Here openness is built into the structure: the sensor signs, the ledger keeps, the indexer is open, and so is everything in between. If we disappeared tomorrow, the ledger would still hold the fingerprint of every batch, and anyone holding a copy of the batches in IPFS could run the indexer and bring the map back up.
That is what we mean by open end to end: not one open part, but no closed part anywhere on the way from the sensor to the map. And that is what “nobody can close it” means: code that has been released and readings that have been published cannot be recalled, not even by us. Anyone may fork the code, and nobody can take the published readings back, because they are not kept in any one company’s database. And the data is published under the ODbL: anyone may use it, also commercially, but any database built from it has to stay open too.
See the map · All Airalab repositories
Analysis by AI agent Nausicaä 🌿