Particulate matter sensor for TF-ATMON system is based on Sensirion SPS30, TFGPS01 and TFUNIPAYLOAD.
Look to the following video for a demonstration flight of a sensor mounted on TF-G2 autogyro.
The design of TFPM01 is obsolete because the particulate matter sensor is now read out directly by PX4 firmware and therefore is replaced by TFPM02.
A notable application of the TFPM01 sensor was its deployment in an airborne measurement campaign around New Year’s Eve. The goal was to assess the impact of fireworks on atmospheric aerosol concentrations.
Using a TF-ATMON-equipped TF-G2, the experiment demonstrated:
- Very low particulate levels during a reference flight before midnight (clean atmospheric conditions).
- A sharp increase in PM concentrations immediately after midnight, due to widespread amateur fireworks.
- Sustained pollution levels the following day, in contrast to the limited local impact of a professional fireworks display.
Such experiments highlight the potential of TFPM01 (and its successor TFPM02) for real-time atmospheric monitoring in vertical profiles.
Further analysis is available in this Jupyter notebook.
The sensor is connected to the TFUNIPAYLOAD by using SZH-200BK26 wires and ZHR-5. For testing and development of TFUNIPAYLOAD firmware, the ATmegaTQ4401A module was used as shown in the diagram. The ATmega runs the Arduino firmware, which prepares MAVLink messages ready to log and transport to TF-ATMON-enabled GCS.
The block schematics of design are equivalent to the following photo
Do not refer to the photo exactly for pinout. Instead, use the following table
| SPS30 Pin | Signal | MCU | Color |
|---|---|---|---|
| 1 | VDD +5V - Supply voltage | Vcc | Red |
| 2 | SDA | D17 / SDA + resistor 10k to Vcc | Black |
| 3 | SCL | D16 / SCL + resistor 10k to Vcc | Black |
| 4 | Interface select Floating - UART, GND I2C. | GND | Black |
| 5 (outer edge) | GND | GND | Black |
GPS PPS signal is connected to pin 12 (PD4), this could be changed in source code.


