Customer:
I purchased a PMS7003 sensor and the fan spins, but it doesn’t output any data. I tried countless approaches without success.
Originally submitted via email support on 23 April 2025. Migrated to the forum for community visibility.
Customer:
I purchased a PMS7003 sensor and the fan spins, but it doesn’t output any data. I tried countless approaches without success.
Originally submitted via email support on 23 April 2025. Migrated to the forum for community visibility.
Soldered Support:
To help diagnose this, I need to know more about your setup. Which microcontroller are you using? Are you using the library at GitHub - SolderedElectronics/Soldered-PMS7003-Particle-Sensor-Arduino-Library: PMS7003 Particle Sensor Arduino Library by Soldered · GitHub? Are you running one of the basic examples in the library (hardware or software serial, depending on which pins)?
Customer:
I’m using an ESP32-C3-DevKitC-02U with the library from GitHub - SolderedElectronics/Soldered-PMS7003-Particle-Sensor-Arduino-Library: PMS7003 Particle Sensor Arduino Library by Soldered · GitHub. I tried both hardware and software serial examples, but neither worked. I connected GND to GND, VCC to 5V, the RX pin of the PMS7003 to the TX pin of the ESP32, and the TX pin of the PMS7003 to the RX pin of the ESP32.
Soldered Support:
To connect the PMS7003 to an ESP32-based board, you need a logic level converter. The PMS7003 operates at 5V logic level, while the ESP32 operates at 3.3V. You need to shift the TX signal down from the PMS7003 to the ESP32, and shift the RX signal up from the ESP32 to the PMS7003.
Connect the PMS7003 to 5V on the ESP32 and connect the grounds together. Then route the RX and TX pins through a logic level converter. Documentation for the logic level converter is available at Logic Level Converter - Overview | Soldered Documentation