In this article we’ll test out the PMS5003 sensor in order to see if it works. I’ve forgot to buy a connector board, so we will do a manual connection to the Raspberry Pi 3 B V2. This involves cutting the wires and adding some resistors.
Please note that you need:
- 5 Jumper Wires
- 2 Resistors 10K Ohm
Raspberry Pi Setup
Before connecting the sensor to the Pi we need to configure the Pi for this usecase.
Note that if you’re using this sensor with Raspberry Pi, then you’ll need to make a couple of changes to its configuration. Type sudo raspi-config in the terminal and then under “Interfacing options” and “Serial” disable the login shell and enable the serial port hardware. Edit your /boot/config.txt file and add the lines enable_uart=1 and dtoverlay=pi3-miniuart-bt to the bottom of the file.From: https://shop.pimoroni.com/products/pms5003-particulate-matter-sensor-with-cable
After the setup from above is done, reboot the Pi and install the software.
sudo pip install pms5003 git clone https://github.com/pimoroni/pms5003-python
Note: In order to connect to the Raspberry Pi I’ve used Visual Studio Code and the Remote – SSH, this is unnecessary, editing files is VSCode is a personal preference.
To identify the sensor’s wires I’ve consulted the PMS5003 specification and I’ve cut my sensor’s Picoblade connector, this enabled me to use jumper wires and attach my 10K ohms resistors to the wires. Then I’ve isolated the wires using some electrical tape.
To simplify things further:
SENSOR 1 (VCC) -> RPI 5V
SENSOR 2 (GND) -> RPI Ground
SENSOR 3 & 6 (SET & RESET) -> 10k OHM -> RPI 3.3V
SENSOR 4 (RXD) -> RPI Gpio 14 (UART TX)
SENSOR 6 (TXD) -> RPI Gpio 15 (UART RX)
That’s it! It will look something like the following.
Verify that the sensor is connected then ssh into the Pi and run the all.py example from pms5003-python. You should see something like:
The results can be interpreted using the following reference table.
Thanks for reading!