Prerequisites
Account Required
Make sure you have created an account on the platform before starting the hardware setup process.
-
ParticularMatter Account Create a free account at dashboard.particularmatter.org
-
USB Cable & Computer Micro-USB cable and a computer with a modern web browser (Chrome, Edge, or Opera with WebUSB support)
-
WiFi Network 2.4 GHz WiFi network (ESP32 does not support 5 GHz networks)
-
Basic Tools (for hardware assembly) Soldering iron (optional), screwdrivers, wire strippers if assembling from scratch
Hardware Assembly
Build your own air quality sensor or purchase a pre-assembled unit. The total cost for DIY components is approximately €87–118 depending on optional components.
Shopping List
| Component | Price |
|---|---|
| Adafruit HUZZAH32 – ESP32 Feather Board | ~€20 |
| PM2.5 Air Quality Sensor Kit (PMS5003) | ~€35 |
| Adafruit BME280 Temperature / Humidity / Pressure Sensor | ~€13 |
| Adafruit SPI Flash SD Card (XTSD 2 GB) | ~€10 |
| 5V Power Supply | ~€9 |
| NEO-6M GPS Module (optional) | ~€17 |
| GPS Antenna 28dB High Gain (optional) | ~€14 |
3D Printed Enclosure
Download the STL files for the 3D-printable enclosure:
Download 3D ModelsAssembly Instructions
-
1Connect the BME280 sensor to the ESP32 Wire VCC to 3.3V, GND to GND, SCL to D1, SDA to D2 (I2C pins)
-
2Connect the PMS5003 sensor Wire VCC to 5V, GND to GND, TX to D6, RX to D5 (UART pins)
-
3Place components in the 3D printed enclosure Ensure proper airflow for the PM sensor and avoid blocking sensor vents
-
4Secure all connections and close the enclosure Use screws or clips to secure the enclosure lid
Important Notes
Double-check all wiring before powering on to avoid damaging components. ESP32 requires a stable 5V/1A power supply for reliable operation. The PMS5003 sensor needs proper ventilation — do not block air intake or exhaust.
Firmware Installation
Install the pre-built firmware using your web browser. No software installation required — the process uses WebUSB technology supported by Chrome, Edge, and Opera.
Connect Device
Connect your ESP32 to your computer via USB cable and click “CONNECT” in the web interface.
Select your device from the popup dialog (usually shows as “USB Serial” or “CP210x”)
Install Firmware
Click “INSTALL” and select the firmware.bin file you downloaded in step 1.
The flashing process takes approximately 1–2 minutes. Do not disconnect during this process.
Verify Installation
Once complete, the device will restart. You should see a new WiFi network appear:
ParticularMatterDevice-Setup
Browser Compatibility
This method requires a browser with WebUSB support (Chrome, Edge, Opera). If you’re using Firefox or Safari, please switch to a compatible browser for firmware installation.
Device Registration
Configure your device to connect to your WiFi network and register it with the ParticularMatter platform.
WiFi Configuration
Connect to Device WiFi
On your phone or computer, connect to the WiFi network created by the device:
ParticularMatterDevice-Setup
particularmatter
Access Configuration Portal
Your device should automatically open a captive portal. If not, navigate to:
Enter Configuration
Fill in the configuration form with the following information:
- WiFi SSID: Your home/office WiFi network name
- WiFi Password: Your network password
- User Email: Your ParticularMatter account email
- Device Name: A friendly name for your sensor (e.g., “Living Room”)
- One-Time Key: Generate this in your dashboard (see next step)
Generate One-Time Key
Log in to your dashboard and generate a registration code:
- Go to dashboard.particularmatter.org
- Navigate to “Locations” → Select or create a location
- Click “Add Node” and then “Get Registration Code”
- Copy the generated code (valid for 24 hours)
Each registration code can only be used once and expires after 24 hours.
Complete Registration
Click “Save” to save the configuration. The device will:
- Connect to your WiFi network
- Register itself with the ParticularMatter platform
- Start sending measurements to your dashboard
Registration Successful
Once registered, you should see “Registered ✓” on the device configuration page. Your sensor will appear in your dashboard within 1–2 minutes and begin reporting data.
Dashboard Configuration
Once your device is registered, you can manage it through the web dashboard.
View Real-Time Data
Navigate to your location page to see live sensor readings displayed on interactive charts.
Manage Nodes
Add nodes to your locations, select sensor types, and mark whether they are indoor or outdoor.
Historical Data
View historical data with customizable time ranges from 10 minutes to 1 week.
Map View
See all your sensors on an interactive map. Mark locations as public to share data with the community.
Troubleshooting
Device Not Appearing in WiFi List
- Wait 1–2 minutes after powering on for the access point to start
- Ensure the device is powered with a stable 5V power supply
- Try resetting the device by unplugging and replugging power
- Check that firmware was installed correctly
Registration Fails
- Verify the one-time key was copied correctly (no extra spaces)
- Check that the email matches your account email exactly
- Ensure the registration code hasn’t expired (24-hour validity)
- Confirm the device has internet connectivity
No Data Appearing in Dashboard
- Wait 2–3 minutes after registration for first data to appear
- Check device logs in the configuration portal for errors
- Verify sensors are properly connected (check wiring)
- Ensure device has stable WiFi connection
WiFi Connection Drops Frequently
- Ensure you’re using a 2.4 GHz network (ESP32 doesn’t support 5 GHz)
- Move the device closer to your WiFi router
- Check for WiFi interference from other devices
- Consider using a WiFi repeater or mesh network
Sensor Readings Seem Incorrect
- Allow 24–48 hours for sensors to stabilize after first power-on
- Ensure proper airflow around the PM sensor (not blocked)
- Check sensor calibration values in dashboard settings
- Compare with nearby reference stations for validation
Still Having Issues?
If you’re still experiencing problems after following this guide:
Get help or report an issue on GitHub →