Monitoring Black Carbon
The bcMeter is an optical absorption photometer for measuring Black Carbon (BC), or soot, in ambient air.
The device has no built-in screen. It serves a local web page that opens on a smartphone or computer in the same network.
A Quick Start Guide / Cheat Sheet is available alongside this manual.
If your device is not installed in a rugged case, skip the case-specific steps and continue with Section 2.3.
Before starting, do this quick check:
The device can create its own WiFi network. It does this on first boot and whenever no known network is available. You can also enable the hotspot later in Settings.
http://192.168.18.8 into the address bar. The device will also open this page automatically. The Welcome screen appears on first use (see Section 2.5).The physical blue LED on the device provides a quick hardware status indication:
| LED Pattern | Meaning |
|---|---|
| Steady dim light | The device has not fully or correctly started, or it has been shut down. |
| Slow pulse | The device is idle and ready. Pump is off. |
| Fast pulse | A measurement session is running. |
On first use, bcMeter shows a two-step welcome screen for email and network setup.
Step 1 - Notification email
Enter the email address where bcMeter should send status messages and alerts. After WiFi setup, the device can send its local access link and connection details to this address.
Step 2 - Connect to network
Select your WiFi network, enter the password, and click Connect. Use Scan to refresh the list, or Enter manually if the network is hidden. The device hostname (e.g. bcmeter-0110.local) is shown in the captive-portal note - bookmark it to access your device later on your local network.
After connecting, the setup hotspot turns off and bcMeter joins your network. Check your email for the interface link. Also check spam folders. Devices with a modem can also use cellular connectivity for status, location lookup, or data delivery, depending on the installed hardware.
When the device is on your network, open it by hostname. The default hostname follows the pattern bcmeter-XXXX. For example:
The exact hostname is shown on the device label and in the Welcome email. You can also rename the device in Settings > Device > Device Name.
.local addresses do not work (common on some Windows networks or older routers), you will need to find the device's IP address in your router's administration interface or connect by the IP from onboarding email received after initial configuration.
Use the moon/sun button on the right side of the navigation bar to switch between light and dark mode. The browser remembers your preference for the next visit.
| Status | Meaning |
|---|---|
| Ready | Device is idle. Pump is off. |
| Initializing | Pump is priming and the optical chamber is warming up. Data is not yet recorded. |
| Running | Active measurement. Data is being saved. |
| Error | System error detected. Warm-up progress remains visible while the error is shown. After correcting the cause, start a new measurement; the previous error and warning state is cleared for the new run. Open System Status or download logs in the Maintenance menu for details. |
Normally, time syncs automatically. If the device clock is not synced, it shows "Time: not synced" in red. Use Maintenance > Time Synchronization to sync the device clock with your browser.
The "Filter" indicator shows how much of the filter strip is loaded. The color changes with loading level:
The interactive chart renders time-series data as it arrives from the device. Because the underlying optical signal is analog, the trace will appear jagged and noisy - this is normal. Smoothed values (Median, EMA) are typically closer to the true concentration. After starting a session the chart remains empty until 3-4 samples have been collected; at the default 5-minute sample interval this means the first data point appears after roughly 15-20 minutes.
The access profile is fixed when the firmware is built. Market units use the individual device/AP password printed on the sticker; private units have an open hotspot and no device password. On market units, the password is required for credential and security changes, unsigned manual or service firmware uploads, and raw security diagnostics. The dashboard and ordinary measurement controls do not request it again. Stored credentials are never displayed.
Click and drag horizontally on the chart to zoom into a time window. Double-click anywhere on the chart to reset the zoom back to the full session view.
The controls below the chart include:
Each axis row (Y1, Y2, and optional additional axes via + Add axis) contains:
These parameters can be assigned to Y1, Y2, or added axes:
| Reference (880nm) | Light intensity from the 880nm LED passing through an unused, clean portion of the filter - serves as baseline for comparison. Optional wavelengths: 520nm, 370nm (if multi-wavelength hardware is installed). |
| Sensor (880nm) | Light intensity from the 880nm LED after passing through the particle-loaded spot on the filter. |
| Attenuation (880nm) | Calculated reduction in light intensity caused by light-absorbing particles collected on the filter. |
| BC Unfiltered (880nm) | Real-time, high-resolution black carbon concentration without smoothing or averaging filters. |
| Black Carbon (880nm) | Black carbon concentration in ng/m³, derived from the primary 880nm measurement wavelength. |
| Relative Load | Filter spot saturation level (percentage), indicating when filter replacement is needed. |
| Ångström Exponent | Ratio indicating aerosol source characteristics (requires multi-wavelength hardware). |
| Temperature (°C) | Internal operating temperature - important for measurement stability. |
| Humidity (%) | Relative humidity inside the device (if sensor equipped). |
| Air Flow (l/min) | Current airflow rate through the filter (if flow sensor equipped). |
| Air Pressure (hPa) | Atmospheric pressure from the onboard barometric sensor. Used for altitude estimation and pressure-corrected BC calculations. Optional - only available if a pressure sensor (BME280) is installed. |
| PM2.5 (µg/m³) | Fine particulate matter concentration (particles ≤ 2.5 µm). Optional - requires an SPS30 particulate matter sensor. |
| PM10 (µg/m³) | Coarse particulate matter concentration (particles ≤ 10 µm). Optional - requires an SPS30 particulate matter sensor. |
Click Settings to configure the device. Settings are organized into tabs: Network, Measurement, Device, and Email.
Temperature shutdown: The default safety threshold is 65 °C. In Developer settings, temperature_shutdown_c can be adjusted from 40 to 80 °C. Reaching the threshold is recorded as an overtemperature incident: the running session is closed cleanly and an incident email is sent to configured recipients.
Other developer settings are explained in the wiki on bcmeter.org.
The Network tab manages wireless connectivity and is the default view when opening Settings.
| WiFi | Scan for available networks, select a network, and enter a password to connect the device to your existing WiFi. Use "Forget Network" to forget the stored network and switch back to hotspot mode. |
| Hotspot Mode | Forces the device to create its own WiFi network, even if a known network is available. |
| Protect hotspot with WPA2 key | When enabled, secures the bcMeter hotspot with a custom password instead of the default. Minimum 8 characters. |
If you skipped WiFi setup on the welcome screen, or need to change the network later, use the Network tab:
The Network tab also lets you configure the device hotspot. Enable Run hotspot when no WiFi available so the device creates its own access point as a fallback. You can optionally protect the hotspot with a WPA2 key.
Click Forget Network to disconnect from your stored network and force the device to create its hotspot again.
These settings define the sampling interval, airflow, location handling, and related measurement behavior. When Auto Flow Control (AFC) is active, a banner shows the current AFC limits.
| Time between samples | Default: 300s (5 min). Adjustable via slider from 30s to 1 hour. For ambient monitoring, 180-600s is recommended. Shorter intervals can increase noise. |
| Airflow per minute | Default: 300 ml/min. Adjustable via slider from 50 to 750 ml/min. Higher flow improves signal but loads filter faster. • Daily average >2000 ng/m³: reduce airflow. • Daily average <500 ng/m³: increase airflow. • Typical urban (~500 ng/m³): 100-250 ml/min. Disabled when Auto Flow Control is active. |
| Auto-adjust airflow | Adjusts airflow from the measured BC concentration. High BC lowers the flow to protect the filter; low BC raises the flow for a stronger signal. The manual airflow slider is locked while AFC is active. |
| Target filter lifetime | Default: 7 days. Target service life for the filter. AFC uses this value when calculating the airflow setpoint. |
| Auto-start logging | Starts a measurement session after boot. Requires prior calibration. After a restart or firmware update during an active measurement, the device continues the same log file and skips repeated optical warm-up; the normal wait for the next measurement-grid time remains. See Shutdown Device in Section 4.3. |
| Mobile measurement mode | For moving measurements. Location data is written for each sample when location hardware or geolocation data is available. |
| Outdoor measurement | Marks the measurement as outdoor ambient monitoring. Disable it for indoor measurements. |
| Pressure correction | Applies ambient pressure correction when a BME280 pressure sensor is installed. |
| Location | Controls how geographic coordinates are recorded with measurement data:
• Automatic: Uses the best available source - GPS module (optional, ~5 m accuracy), cellular modem cell tower lookup (optional, requires 4G module, ~1 km accuracy), or IP-based geolocation (~10-50 km accuracy). • Manual: Enter latitude and longitude manually (paste from Google Maps). • Off: No location data is stored. |
An Airflow Reference table is displayed below the settings, showing estimated filter lifetime (in days) at different BC concentrations and airflow rates to help choose the right airflow.
| Timezone | Select the device's timezone for accurate timestamps in log files. |
| Warm-up time | Default: 10 min. Adjustable via slider from 0 to 2 hours. Duration for the optical chamber to stabilize before measurement data is recorded. Set to 0 to disable warm-up. |
| Disable blinking LED | Deactivates the status LED on the device. |
| Modbus TCP server | Provides the live readings (BC, attenuation, airflow, temperature, humidity, pressure, particulate matter, device status) as read-only Modbus TCP registers on port 502, for direct integration into building management and SCADA systems. Off by default. The device documents its full register map at http://<device>/api/modbus. |
| Device Name | Network hostname (e.g., bcmeter201). Also sets the mDNS name, so the device becomes reachable as name.local after renaming and rebooting. |
Use this tab for email delivery of log files, filter status alerts, and optional data sharing with the bcMeter project. bcMeter Complete units already include the required mail service setup. bcMeter Kit details are in the bcMeter wiki.
| Periodic log sending | Master switch enabling automatic, timed email delivery. Each log email includes the full current-session CSV and a session plot. |
| Send logs every | Adjustable via slider from 3 hours to 7 days. Default: 24 hours. |
| Recipient addresses | Destination email addresses (comma-separated). |
| Filter status mail | Sends an alert when filter loading exceeds 70%. Alerts repeat every 12 hours and include device name and location. |
| Measurement quality alerts | Sent automatically for severe measurement issues such as an overtemperature shutdown, a rapid reference signal drop, airflow failure, or prolonged negative BC. |
| Detailed diagnostic emails | Adds extra device context to automatic emails. Enable only when support asks for it. |
| Share data with bcMeter team | Share measurement data with the bcMeter project for maps and analysis. |
Access via the Maintenance button in the navigation bar. The modal is organized into cards for device management, system status, time synchronization, and - when location services are active - geolocation.
The Device Management card is split into two columns:
Routine Maintenance
System Operations
Shows the current device state:
Accurate timestamps need a correct device clock. Devices with internet access sync automatically via NTP. For offline or hotspot-only devices, use manual sync here.
When location services are active (Settings > Measurement > Location), the Geolocation card shows position and altitude data. Available fields depend on the installed hardware modules.
Filters may vary slightly in optical density over their surface and signals may slightly vary over time. Calibration balances the sensor signal against the reference signal for the specific filter currently installed.
Data is stored on the device's internal storage. To manage your session files:
Log files are downloaded as CSV for analysis. The dashboard's Download View button can additionally export the currently visible chart view as CSV, PNG, or SVG. CSV files use semicolon separation with dot as decimal divider. Every CSV download filename begins with the configured full device name, including its -XXXX suffix (for example bcMeter-569C_…csv), so files from different instruments remain distinguishable.
| Issue | Likely Cause & Solution |
|---|---|
| Negative data over a longer period of time | Environment. Avoid direct sunlight and heat sources (see Section 7 Best Practices). If the issue persists, contact support. |
| Device keeps restarting | Power Supply. Cable too long or thin - see power requirements in Section 2.1. |
| WiFi unstable or disconnects | Voltage instability or weak signal strength. The hotspot may temporarily disappear for 2-3 minutes while self-recovering - it will return automatically. |
| No WiFis listed in setup | Reload the interface to re-initialize the network scan. |
| No Data on Graph | Sampling Interval. The chart needs 3-4 samples before it can render (see Section 3.3). Check that a session is running and wait for the first samples to arrive. |
| Pump noise when stopped | Motor controller logic error (signal state latch). Go to Maintenance > Reboot Device or start a new log and stop right after initialization. |
| Pump stall / no airflow | The device has automatic stall protection. If flow drops below a minimum threshold for 3 seconds, the system attempts recovery by increasing pump power. After 4 failed recovery attempts, the measurement stops with a pump error. The "No Airflow" dialog is shown only for this confirmed flow error. Check for blocked tubing, a saturated filter, or hardware issues. |
| Overtemperature shutdown | At the configured safety threshold (65 °C by default), the device records an overtemperature incident, stops the pumps, closes the measurement session cleanly, and sends one incident email. Let the device cool and keep it away from direct sunlight and other heat sources. This condition is shown as an overtemperature error, not as "No Airflow". |
| Loud pump or rattling during the system check | Expected. The system check deliberately runs the pump hard for a short time to stress-test it and confirm airflow and stall recovery. The noise is intentional and stops when the check finishes - it does not indicate a fault. |
| "Time: not synced" warning | Device clock not synchronized. Internet-connected devices sync automatically; for offline devices, use Maintenance > Time Synchronization (see Section 4.3). |
| Email notifications not working | Check that periodic email sending is enabled and at least one valid recipient address is configured. For bcMeter Kit units, verify the mail service provisioning with the bcMeter team. |
The bcMeter is intended for ambient black-carbon monitoring, research, education, and air-quality screening. It is not a safety device, alarm, certified reference method, medical device, or legal metrology instrument. Do not use bcMeter readings as the sole basis for safety, regulatory, occupational-exposure, emergency, or enforcement decisions.
Use only the power supply shipped with the device or a bcMeter-approved replacement. bcMeter Kit and Complete units use 12V / 2A DC or USB-C PD depending on the supplied hardware. Do not use damaged cables, long or thin improvised extensions, power banks, or unapproved chargers. Connect power before starting a measurement. If the device repeatedly restarts, reports brownout, or fails to reach idle state, disconnect power and contact support.
Place the device on a stable surface. Keep the device body away from direct heat, flame, water spray, condensation, heavy dust, strong vibration, and direct sunlight; place the sample inlet so it represents the air you intend to measure. The rugged case may remain open during operation and this can improve ventilation. Continue open-case operation only when the device is stable and there are no loose internal parts, damaged cables, liquid contamination, unusual heat, smell, or noise.
Before each session, check that the inlet, hose if used, fittings, filter chamber, and outlet are connected, unobstructed, not kinked, and not leaking. A blocked, leaking, or disconnected air path can invalidate readings and can stress the pump. Stop the session and correct the air path if airflow or filter warnings persist.
Measurement logs can contain timestamps, device name, measurement values, status codes, and location data if location services are enabled. When email delivery, cloud upload, or data sharing is enabled, logs may be transmitted to configured recipients or the bcMeter project. Operators who do not want external transfer must leave those features disabled or operate without internet access. WiFi credentials, mail-service credentials, service credentials, and security-sensitive diagnostics are not exposed through normal operator read interfaces. Treat downloaded CSV files, plots, and screenshots as shareable measurement records unless the local project procedure classifies them as confidential.
Anyone connected to the bcMeter hotspot or the same operator LAN can view live readings and perform ordinary operator actions such as start, stop, calibration, non-secret setting changes, log download or deletion, reboot, and factory reset. Market units use the individual device/AP password printed on the label; private units may run an open hotspot. Protect hotspot credentials, LAN access, and physical access accordingly. Credentials and security-sensitive values are not displayed in clear text through the normal interface. Security-critical service functions and update-trust changes are controlled service operations.
Install firmware only through the bcMeter interface and only from an approved bcMeter source or support file for the exact device. Do not install demo, development, eBcMeter, display-controller, bootloader, partition-table, merged-flash, or other-product firmware unless support explicitly provides it for this device. A firmware update may stop or interrupt an active measurement; keep power connected until the update has completed. Optional radio functions depend on the supplied hardware and firmware. Do not enable unassessed radio functions or modules unless support provides a controlled release for that function.
The bcMeter is electrical and electronic equipment and must not be disposed of with household waste. Use the take-back or WEEE route listed in this manual or contact support for the current return option. Separate packaging materials according to local recycling rules. Delete personal data from the device before return or disposal where local procedure requires it.
Use the product label, supplied release notes, and current manual revision as the authoritative configuration record. Where a CE-marked bcMeter is supplied, the accompanying documentation must identify the final model, label revision, firmware revision, EU Declaration of Conformity access route, and support or security-update period.