A bioregional citizen-sensing campaign for Bali by Fab Lab Bali. Open-hardware sensors, open data, WhatsApp-based community reports. Forkable as Making Sense [your city] for Fab City chapters.
Loading README and project media…
English · Bahasa Indonesia · Español
A community-led environmental sensing campaign for Bali, anchored by Fab Lab Bali, within the Fab City Bali chapter.
Making Sense Bali combines open-hardware environmental sensors, public data from regional and global networks, and resident reports of locally observed environmental issues — burning waste, air quality events, water leaks, construction debris, noise, the matters of concern raised by people who actually live here. The work is done in Indonesia, by people in Indonesia, on concerns identified by people in Indonesia.
The campaign is hosted and accountable to Fab Lab Bali, the local fabrication laboratory in Denpasar, as part of the Fab City Bali chapter of the global Fab City network. Methodologically the work descends from the Making Sense project (EU Horizon 2020, Fab Lab Barcelona / IAAC and partners, 2015–2017) and uses the Smart Citizen Kit platform, co-founded by Tomas Diez and Alex Posada at Fab Lab Barcelona / IAAC in 2012. Making Sense Bali is led by Tomas Diez — Smart Citizen co-founder, now resident in Bali — and runs as an independent bioregional instance, in close relationship with the original projects.
Live: makingsense.fablabbali.com
Bali Air Dispatch — a live island-wide register of PM2.5, reading across seven sensor networks, with an evidence brief, a solutions guide and a data review of the island's garbage fires. It is a separate and independent effort, and Fab Lab Bali and Meaningful Design Group are listed collaborators.
The two projects fit together rather than overlap. Making Sense Bali collects and moderates
resident reports and runs open-hardware nodes; Bali Air Dispatch aggregates the island's
sensor networks and renders our reports layer on its map — the dashed circles, sized by
count, fading over thirty days. Its community WhatsApp
group is also the source of
docs/community-knowledge.md.
New here? How to contribute.
Three surfaces, one campaign:
The public site at makingsense.fablabbali.com/ — the campaign's home: methodology, status, the live dashboard, the matters-of-concern survey, the residents' reports, attribution to the broader network.
The live dashboard at /dashboard/ — real-time environmental sensor readings aggregated from multiple open networks: Smart Citizen Kit deployments operated by the campaign, OpenAQ stations in Bali, Sensor.Community devices, PurpleAir (when configured). PM2.5, PM10, temperature, humidity, noise. Each pin shows source, last reading, links to the original platform.
The reports layer — residents send environmental observations to a WhatsApp bot ("Making Sense Bali" in the Bali deployment). Each report is reviewed by the local operator before publication. Approved reports appear on the public site as community-sourced data alongside the sensor readings. Phone numbers are never stored.
Making Sense Bali follows a phased Making Sense-derived approach, adapted for Bali:
Phase 1 — Matters of concern. A survey, currently hosted on Airtable, asks residents what environmental issues affect their daily life. The output isn't a ranked list of "problems to solve" — it's a map of attention. Where do people notice burning waste? Where is the noise unbearable? Where does the water taste bad? The survey establishes that the campaign is responding to community-defined concerns, not imposing an external agenda.
Phase 2 — Sensing and reporting. Two channels run in parallel. Open-hardware sensors (Smart Citizen Kits) are deployed at strategic locations — currently a campaign-operated house node and office node, with capacity to expand to schools and community sites. In parallel, the reports bot collects qualitative resident observations: photos, locations, descriptions of issues that sensors can't see. The combined dataset is published openly.
Phase 3 — Response and learning. This is the phase the network is building toward. Aggregated data and report patterns inform local action — from individual awareness (your home is in a smoke corridor) to community organizing (this trash burning is a recurring event with a known source) to policy advocacy (the regional government has data it can act on). Federated cross-bioregion learning is the longer-term horizon.
Making Sense Bali is assembled from these parts. Each has its own scope and its own deployment story:
| Component | What it does | Where it lives |
|---|---|---|
| Campaign site | Public landing page, methodology, sensor dashboard, reports, attribution | This repo · GitHub Pages |
| Sensor data layer | Aggregates Smart Citizen Kit + OpenAQ + Sensor.Community via Cloudflare Workers | This repo · data.js, worker/ |
| Smart Citizen Kits | Open-hardware air quality + noise + climate sensors deployed in Bali | smartcitizen.me — house node 19236, office node 19600 |
| DIY workshop nodes | Workshop-built sensors in two tiers — Basic (XIAO + BME680, ~USD 15–25, indoor AQ + climate + VOC) and Plus (Basic + HM3301, ~USD 35–60, adds outdoor PM). The affordable spatial-density layer for banjars, schools, warungs. | hardware/diy-node/ |
| Matters-of-concern survey | Phase 1 community input on environmental concerns | Airtable (proprietary backend, public-facing form) |
| Reports component | WhatsApp bot + operator dashboard for citizen reports | reports/ — Sense Making toolkit |
| Murmurations identity | Federated org profile, discoverable across community-data networks | murmurations.json in this repo |
The campaign isn't tied to a single sensor model. It's a multi-tier network with reference instruments, off-the-shelf Smart Citizen Kits, and workshop-built DIY nodes feeding the same dashboard with appropriate fidelity flags. Each lower tier is calibrated against the one above; corrections live in the dashboard processing layer, not in the firmware.
| Tier | Hardware | Cost | Role |
|---|---|---|---|
| 0 — Reference | BAM-1020, Aeroqual AQM 65, or hosted BMKG / Udayana station | USD 5,000–25,000+ | Ground truth. Regulatory-grade. Calibration anchor for everything below. Pursued via partnership with BMKG Stasiun Klimatologi Bali (Sanglah) or Udayana University. |
| 1 — Smart Citizen Kit 2.3 | Official SCK from smartcitizen.me | ~USD 150 | Trusted multi-parameter backbone — PM, eCO₂, noise, climate, light. Battle-tested firmware. The campaign's currently deployed nodes (house 19236, office 19600). |
| 2 — DIY Plus | XIAO ESP32-S3 + BME680 + HM3301 | ~USD 35–60 | Outdoor spatial density. PM + climate + gas/VOC. Workshop-buildable in Fab Lab Bali. |
| 3 — DIY Basic | XIAO ESP32-S3 + BME680 | ~USD 15–25 | Maximum reach — indoor AQ, mold/dengue/heat/VOC. The most accessible kit. |
For the same money as 10 official SCKs, the campaign can ship ~75–100 nodes mixing tiers — providing both reference credibility (Tier 0/1) and the spatial resolution that lets a dashboard say which neighborhood burns rubbish on Wednesday evenings, not just "south Bali had elevated PM."
Full hardware documentation — BOMs, schematics, firmware, the calibration chain, and Bali-specific use cases (dengue mosquito habitat, mold and respiratory health, heat stress, indoor VOC exposure, outdoor air pollution, combustion-event triangulation) — is in hardware/diy-node/README.md.
Making Sense Bali sits within a specific lineage. It matters because it shapes who is accountable, what assumptions the campaign carries, and which network it federates with.
The original Smart Citizen platform and Fab Lab Barcelona are stewarded by other teams today; Making Sense Bali is independent but coordinated, not a satellite or franchise. Both projects continue, in different bioregions, under different teams, with overlapping methodology and a shared aesthetic of open hardware, open data, and community accountability.
A naming note, since the words overlap: the replicable campaign network uses the Making Sense [place] convention — Making Sense Bali, Making Sense Barcelona, and so on. These contemporary campaigns carry the EU Making Sense methodology forward into new bioregions; they are not the 2015–2017 EU project itself, which remains the credited origin (always cited with its dates). The sensors, in turn, are Smart Citizen Kits — the open hardware — which is a separate thing again.
Making Sense Bali's accountability structure:
The campaign is currently in early Phase 1 → Phase 2 transition (Q2 2026):
Making Sense Bali is intentionally replicable. Other Fab City chapters with a host Fab Lab can fork this campaign template for their bioregion.
You will need:
hardware/diy-node/ for the cheap path), plus the option to surface existing OpenAQ / Sensor.Community / PurpleAir data already in your regionThe full replication guide is in REPLICATION.md.
Currently in conversation: Making Sense Barcelona (Fab Lab Barcelona, 2026 H2). Other Fab City chapters being approached include Yucatán, Montreal, Goa, and Santiago. Each Making Sense [place] is its own campaign, hosted by its own Fab Lab, anchored in its own bioregion, sharing methodology and federating discoverable data — that's the network the project is building toward, one chapter at a time.
Everything lives in one repo so a Fab Lab forking Making Sense [their place]
gets the whole stack with a single git clone.
.
├── README.md this file — campaign overview
├── REPLICATION.md how to stand up Making Sense [your place]
├── docs/
│ ├── methodology.md Making Sense, adapted for bioregional deployment
│ ├── phase-1-survey.md running the matters-of-concern survey
│ ├── sensor-strategy.md deploying SCK + integrating OpenAQ / Sensor.Community
│ ├── reports.md operating the reports component
│ ├── web-presence.md customizing the campaign site (TODO: not written)
│ └── federation.md Murmurations identity, future PLANETAI
│
├── index.html campaign home page
├── data.js sensor data aggregator (SCK + OpenAQ + Sensor.Community)
├── dashboard/ live sensor dashboard
│ └── index.html
├── worker/ Cloudflare Worker proxies (OpenAQ, SCK)
│ └── openaq-proxy.js
├── murmurations.json federated organization profile
│
└── reports/ Sense Making · the reports component
├── README.md toolkit overview
├── bot_murmurations.py
├── dashboard.py
├── docker-compose.yml
└── ... see reports/README.md for the full layout
Code: MIT. Documentation, methodology, schemas, surveys: CC-BY-SA 4.0.
The same license pattern as Making Sense and Smart Citizen Kit. Fork it, adapt it for your bioregion, share what you build back — that's the point.
Hosted by Fab Lab Bali · Part of Fab City Bali · A member of the Fab City network and the Fab Lab Network.