PolluSensWeb: Visualize Your Air Sensor Data Right in the Browser
polluSensWeb is a lightweight web-based serial interface and charting tool for visualizing and logging data from UART pollution sensors (PM2.5, VOC, etc).
No installs, no drivers — just plug it in and open the page.
Imagine you’ve got an air quality sensor on your desk. It’s plugged in over USB, spitting out numbers through a UART connection. You want to see what it’s saying—PM2.5, VOCs, maybe some temperature data—but you don’t want to dig through hex dumps or write a bunch of code just to see a simple chart.
That’s exactly why polluSensWeb exists.
You open a web page. That’s it. No drivers. No apps. No command lines. Just Chrome or Edge, or any browser that supports Web Serial. Connect the sensor, pick your sensor from a dropdown, and instantly, your data comes alive.
It reads raw binary frames, it logs every packet (makes byte stuffing if needed), so you can peek under the hood. Want a chart with red for PM2.5 and blue for PM10 on the same chart? Just check a few boxes. Click “Save CSV” and walk away with a full log—timestamps and all data.
It’s open-source, offline-friendly, and small enough to run on an old PC. Everything happens in your browser.
Tinkering with sensors, wanting a faster way to see what’s really in the air around you?
So go ahead. Plug in a sensor. Open the browser and watch the air data come to live charts.
Live version (Chrome, Edge, Opera):
https://pollusensweb.pages.dev/
Source code + config format:
https://github.com/WeSpeakEnglish/polluSensWeb
More sensors are coming to the default JSON :), but you can already add your custom right away!
My video on how to add a new sensor in 5 mins:
As for now, by default, JSON configuration is supported, following sensors already (in the drop-down list in the web interface):
- Panasonic SN-GCJA5
- Honeywell HPMA115S0-XXX
- Air Master AM7 Plus
- Plantower PMSA003-S
- Plantower PS3003A
- Plantower PMS1003
- Plantower PMS5003
- Plantower PMS7003
- Plantower PMS6003
- Plantower PMS9103
- Plantower PMS3003
- Nova PM SDS011
- Sensirion SPS30
- SHUYI SY210
- TERA NextPM
- SenseAir S8 004-0-0053
- SenseAir S88 Residential
- SenseAir S88 LP
- SenseAir S88 GH
- SenseAir K30
- SenseAir K33
- SenseAir eSENSE
- SenseAir S8 004-0-0017
- SenseAir K33 ICB
- Sensirion SCD30
- More coming soon...
UPD: polluSensWeb just gained a powerful new feature - HTTP webhook support.
The app can now push every parsed sensor frame directly to any endpoint you choose, using customizable headers and JSON body templates.
The coolest part: both headers and body support placeholders (e.g., {{field:PM2_5}}, {{ts}}, or full field loops), letting you map sensor data into any API format without touching the code. This makes it dead-simple to forward PM readings into home automation systems, databases, online dashboards, or your own custom server.
Webhook requests can be triggered on every packet or at a user-defined interval, and a built-in “Test Send” button helps verify output instantly.
In short: your DIY air sensor can now talk to anything on the internet, no extra coding and SW needed.
New sensor configurations, bugs, or improvements? Feel free to fork the project, open an issue, send a pull request, or maybe star it on GitHub!