bcMeter device

User Manual

Monitoring Black Carbon

Updated: May 2026

Table of Contents

1. Introduction

The bcMeter is an open-source optical absorption photometer for measuring Black Carbon (BC), or soot, in air. It can be used for ambient monitoring as well as direct emission measurements, for example near wood stoves.

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.

2. Setup & Initialization

2.1 Requirements

Use a stable power supply: Weak adapters and voltage drops are the most common causes of WiFi dropouts and random reboots.

2.2 Receiving a Rugged Case Device

If your device is not installed in a rugged case, skip the case-specific steps and continue with Section 2.3.

12V rugged case bcMeter as received, with accessories packed inside
Figure 2.1: 12V rugged case version as received
USB-C rugged case bcMeter as received, with accessories packed inside
Figure 2.2: USB-C or development version as received
  1. Open the case latches and check the contents: bcMeter unit, matching power supply, air inlet tube, antenna if supplied, and filter papers in small plastic bags.
  2. Inspect the housing, air inlet, outlet hose, power connector, antenna connector, and filter holder. Do not start a measurement if anything is cracked, loose, disconnected, or blocked.
  3. Remove loose foam padding or transport protection from the inside of the case. Do not pull on wires or remove fixed foam parts; if the protection is trapped under cables, contact support before powering the device.
  4. Connect the air inlet tube to the case-side inlet. The tube should sit firmly and should not be kinked or squeezed by the lid.
  5. If the device has a cellular modem, screw the 4G antenna onto the SMA connector by hand. Do not use tools to tighten it.
  6. Route the power cable through the cable opening, connect the matching power supply, and close the lid. Once powered, the bcMeter starts its setup hotspot if no known WiFi is available.
bcMeter rugged case with loose shipping protection foam before removal
Figure 2.3: Remove loose shipping protection before operation
Air inlet tube connected through the rugged case wall
Figure 2.4: Air inlet tube seated in the case wall
4G antenna attached to the rugged case SMA connector
Figure 2.5: 4G SMA antenna attached hand-tight
Closed rugged case with antenna, inlet tube, and power cable routed
Figure 2.6: Rugged case closed and ready to power on
Hardware versions: ESP32 bcMeters require a 12V / 2A DC or USB-C PD power supply. Raspberry Pi based systems work with 12V / 2A DC as well; use micro USB 5V / 2A as fallback option.

2.3 Initial Device Setup

Before starting, do this quick check:

  1. Confirm that the supplied power adapter matches the hardware (see Section 2.1) and that the device starts without repeated reboots.
  2. Place the device away from direct heat sources and sunlight (thermal drift affects optical measurements).
  3. If you use a case, check that the hose from bcMeter to the outside air is firmly inserted and not blocked.
  4. Insert a fresh filter paper (marked or rough side facing up - see Section 5.1). This is already done for devices bought pre-provisioned from bcmeter.org.
Picture of bcMeter in rugged case with hose from device through the rugged case wall
Figure 2.7: Hose from air inlet through rugged case

2.4 Connecting via Hotspot

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.

  1. Plug in the device.
  2. Wait 1-2 minutes for the system to boot; the dim blue LED starts to slowly blink.
  3. On your tablet or computer, search for a WiFi network whose name starts with bcMeter or eBcMeter.
    Apple Users: If already connected to another WiFi, the bcMeter hotspot will appear under the "Other Networks" submenu. macOS may take up to a minute to scan for new networks even after the device has finished booting.
    WiFi Setup dialog with network selection and password field
    Figure 2.8: macOS submenu for unknown wireless networks in range
  4. bcMeter tries to open its configuration interface directly within a few seconds. If this fails, you should still be connected. If asked, connect using the password bcMeterbcMeter - it is case sensitive.
  5. Your computer may warn you that this network has "No Internet Connection." This is normal. Select "Keep Connected" if prompted. Do not choose "use mobile data".
  6. Open a browser and type 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).

Blue Status LED

The physical blue LED on the device provides a quick hardware status indication:

LED PatternMeaning
Steady dim lightThe device has not fully or correctly started, or it has been shut down.
Slow pulseThe device is idle and ready. Pump is off.
Fast pulseA measurement session is running.

2.5 Welcome Screen

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.

bcMeter welcome screen - email step
Figure 2.9: Welcome screen - Step 1: Email

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.

bcMeter welcome screen - WiFi step with network selected
Figure 2.10: Welcome screen - Step 2: WiFi with a network selected

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.

Tip: You can skip the welcome screen and configure everything later in Settings. The welcome screen will appear again on the next visit until you complete setup or choose "Don't show again."

2.6 Accessing the Interface

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.

Tip: If .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.
Browser Security Warnings: The bcMeter web server uses HTTP (not HTTPS), which might trigger browser warnings. This is expected - the device runs locally on your network with no public internet connection, so encryption is unnecessary. You must explicitly allow access to the device's .local address. On macOS, you may also need to grant permission for your browser to access LAN devices.

3. Web Interface Overview

3.1 Dashboard Elements

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.

bcMeter web interface overview in light mode showing navigation bar, status panel, plot area, and controls
Figure 3.1: Dashboard overview in light mode
bcMeter web interface overview in dark mode showing navigation bar, status panel, plot area, and controls
Figure 3.2: Dashboard overview in dark mode
  1. Navigation Bar: Start and Stop buttons to control measurement sessions, quick access to Log Files, Settings, and Maintenance, and a dark-mode toggle on the far right.
  2. Status Panel: Device name, operating state, session start time, and filter loading with a color-coded indicator (see Section 3.2 for details).
  3. Statistics Cards: Rolling one-hour BC average, overall session average, and the peak concentration with its timestamp.
  4. Live Chart: Interactive time-series graph that updates as new samples arrive (see Section 3.3 for zoom and interaction).
  5. Chart Controls: Y-axis parameter assignment, smoothing and resampling controls, log selection, download, and zoom management (see Section 3.3 for details).

3.2 Status Indicators

Device Status

StatusMeaning
ReadyDevice is idle. Pump is off.
InitializingPump is priming and the optical chamber is warming up. Data is not yet recorded.
RunningActive measurement. Data is being saved.
ErrorSystem error detected. Open System Status or download logs in the Maintenance menu.

Time Sync Status

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.

Filter Loading Status

The "Filter" indicator shows how much of the filter strip is loaded. The color changes with loading level:

3.3 Data Visualization

bcMeter interface showing active measurement with data plot and statistics
Figure 3.3: Dashboard with plot controls

Plot Behavior

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.

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.

Action Bar

The controls below the chart include:

Y-Axis Controls

Each axis row (Y1, Y2, and optional additional axes via + Add axis) contains:

3.4 Plot Parameters

These parameters can be assigned to Y1, Y2, or added axes:

Y-axis dropdown showing available plot parameters
Figure 3.4: Available plot parameters in Y-axis selector
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 LoadFilter spot saturation level (percentage), indicating when filter replacement is needed.
Ångström ExponentRatio 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.

Developer tab: A hidden Developer tab is available for hardware tuning and diagnostics. Use it only with support or for development work at your own risk. The bcMeter wiki documents the individual parameters. Enable it by tapping/clicking on the device name next to the "Configuration" modal title seven times within three seconds.

The developer settings are not part of this manual but are explained in the wiki on bcmeter.org.

Network Tab

Configuration dialog showing Network tab with WiFi and Hotspot settings
Figure 4.1: Network settings

The Network tab manages wireless connectivity and is the default view when opening Settings.

WiFiScan 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 ModeForces the device to create its own WiFi network, even if a known network is available.
Protect hotspot with WPA2 keyWhen enabled, secures the bcMeter hotspot with a custom password instead of the default. Minimum 8 characters.

Changing WiFi Later

If you skipped WiFi setup on the welcome screen, or need to change the network later, use the Network tab:

  1. Navigate to Settings > Network.
  2. Select your network from the dropdown. If your network is hidden, choose Enter manually and type the name yourself.
  3. Enter your WiFi key and click Connect.
  4. The setup hotspot disconnects while the device joins the selected network. Reconnect your computer to your normal WiFi.
  5. Wait 1-2 minutes for the device to join your network.

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.

Measurement Tab

Configuration dialog showing Measurement tab
Figure 4.2: Measurement settings

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 samplesDefault: 300s (5 min). Adjustable via slider from 30s to 1 hour.
• Ambient monitoring: 180-600s.
• Emission source monitoring: 10-30s.
Increasing frequency may increase noise.
Airflow per minuteDefault: 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 airflowAdjusts 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 lifetimeDefault: 7 days. Target service life for the filter. AFC uses this value when calculating the airflow setpoint.
Auto-start loggingStarts a measurement session after boot. Requires prior calibration. See Shutdown Device in Section 4.3 for power-loss recovery behavior.
Mobile measurement modeFor moving measurements. Location data is written for each sample when location hardware or geolocation data is available.
Outdoor measurementMarks the measurement as outdoor ambient monitoring. Disable it for indoor or direct emission measurements.
Pressure correctionApplies ambient pressure correction when a BME280 pressure sensor is installed.
LocationControls 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.

Device Tab

Configuration dialog showing Device tab
Figure 4.3: Device settings
TimezoneSelect the device's timezone for accurate timestamps in log files.
Warm-up timeDefault: 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 LEDDeactivates the status LED on the device.
Device NameNetwork hostname (e.g., bcmeter201). Also sets the mDNS name, so the device becomes reachable as name.local after renaming and rebooting.

Email Tab (Notifications)

Use this tab for email delivery of log files, filter status alerts, and optional data sharing with the bcMeter project. Provisioned devices already include the required mail service setup. DIY and development details are in the bcMeter wiki.

Configuration dialog showing Email tab
Figure 4.4: Email settings
Periodic log sendingMaster switch enabling automatic, timed email delivery of CSV log files.
Send logs everyAdjustable via slider from 3 hours to 7 days. Default: 24 hours.
Recipient addressesDestination email addresses (comma-separated).
Filter status mailSends an alert when filter loading exceeds 70%. Alerts repeat every 12 hours and include device name and location.
Detailed diagnostic emailsAdds extra device context to automatic emails. Enable only when support asks for it.
Share data with bcMeter teamShare 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.

System & Maintenance modal showing Device Management, System Status, Time Synchronization, and Geolocation cards
Figure 4.5: System & Maintenance modal

Device Management

The Device Management card is split into two columns:

Routine Maintenance

System Operations

Factory Reset dialog with slide-to-confirm gesture
Figure 4.6: Factory Reset confirmation with slide-to-confirm

System Status

Shows the current device state:

Time Synchronization

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.

Geolocation

When location services are active (Settings > Measurement > Location), the Geolocation card shows position and altitude data. Available fields depend on the installed hardware modules.

System Status viewer showing diagnostic log entries
Figure 4.7: System Status viewer

5. Maintenance Procedures

5.1 Filter Change Procedure

The filter is not identical on both sides. Incorrect orientation (marked side down) causes measurement errors of roughly 30%.
Do not bend or fold the filter. Creases damage the filter surface and cause unreliable measurements.
  1. Stop any running session.
  2. Unscrew the top cap of the optical chamber.
  3. Remove the saturated filter.
  4. Always check the unscrewed air inlet chamber for filter residue and remove if present.
  5. Insert a new filter with Markings/rough surface Facing Up.
  6. Screw the air inlet chamber back on (hand-tight).
  7. Check Hose if used: Ensure the air hose remains connected to the inlet port as shown in picture below.
  8. It is recommended to run calibration after each filter change but at least every 4 weeks (only with fresh filter)
Air inlet where to connect the hose to
Figure 5.1: Air inlet where to connect the hose to

5.2 Calibration

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.

  1. Go to Maintenance > Calibrate Device.
  2. Ensure a new and clean filter is installed.
  3. Click "Yes".
  4. A progress bar will appear. The device adjusts LED intensity.
  5. Wait for "Calibration Successful" before starting a new log.

5.3 Data Management

Data is stored on the device's internal storage. To manage your session files:

  1. Click Log Files.
  2. Logs (>2KB): Valid measurement sessions. Download these for analysis.
  3. Logs (<2KB): Failed starts or very short tests. These can typically be deleted.
Log files dialog showing download and delete options
Figure 5.2: Log files manager

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.

Backup: Internal storage is not archival. Download data to a secure location regularly.

6. Troubleshooting

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. Check for blocked tubing, a saturated filter, or hardware issues.
"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 DIY or development devices, verify the mail service provisioning with the bcMeter team.

7. Best Practices

Environment

Sampling Configuration

Signal Quality

8. Resources & Contact

Contacts