Introduction: Radon Mitigation Monitor
Radon comes naturally from rocks and soil underneath our homes across the United States and the European Union. It is always around us an odorless, tasteless, and invisible radioactive gas. Radon is problematic because it leaks into our homes through cracks or gaps and builds up to higher levels. When you breathe radon gas the radioactive particles can get trapped in your lungs and cause cancer. According to the US Environmental Protection Agency (EPA), radon kills more than 21,000 people in the US each year and over 20,000 per year in the EU. According to the Center for Disease Control (CDC), radon is the leading cause of non-smoker lung cancer. Both old and new homes can have radon problems. Many homes require active radon mitigation systems usually involving sub-slab or crawl space depressurization. This involves a low-wattage (50W) fan that operates quietly and hopefully continuously to reduce the radon levels. The fan is often hidden in an attic, basement, or even outside the house where if the quiet and out of sight fan fails, the occupants will be exposed to radioactive radon. More information is available from the CDC, EPA, state, and local governments including regional maps.
The project uses a low-cost Honeywell ABPMAND001PG2A3 (480-6250-ND) pressure sensor and a Raspberry Pi to monitor and log the radon mitigation system. It also sends an alert if the pressure should fall outside nominal limits. The pressure sensor is available with an I2C bus (2-wires) and also as a SPI bus (3-wires). Both require 3.3Vdc power for another 2 wires. I used a Raspberry Pi 3 but a Zero or RPi 4 would work as well. You will also need either a breadboard or some wire with solder to attach 4 or 5 wires depending on if you select the I2C or SPI version of the pressure sensor. The Python source code has email alerts which can be sent as SMS or MMS texts. You can also modify the code to use MQTT, Blynk, or other cloud services. The program also can read the AirThings WavePlus Radon Monitor over Bluetooth. It logs the data for radon levels, volatile organ compounds, CO2, temperature, and humidity. That allows you to plot and view the data in whatever formats you choose by modifying the Python code or importing the data files into a spreadsheet program. It will also send alerts and status that you can again customize in the Python code or modify as you like.
- Pressure sensor (one of the following pressure sensors available from Digikey, Mouser, Arrow, Newark, and others. They are about $13 USD)
- ABPDRRV001PDSA3 (Mouser 785-ABPDRRV001PDSA3, DIP Pkg SPI interface)
- ABPMAND001PG2A3 (Digikey 480-6250-ND, I2C interface)
- ABPMRRV060MG2A3 (Mouser 785-ABPMRRV060MG2A3, I2C interface)
- Silicon or plastic tube 1.5 mm inside diameter to connect pressure sensor to the radon mitigation pipe
- Raspberry Pi, power supply, and SD memory card
Step 1: I2C Wiring Option
It is recommended to keep the wires fairly short. I kept the wires to a couple of feet in length. If using the I2C pressure sensor there are 4-wires to connect the pressure sensor to the Raspberry Pi:
RPI 40-pin => Honeywell ABP pressure sensor
Pin 1 (+3.3 VDC) => Pin 2 (Vsupply)
Pin 3 (SDA1) => Pin 5 (SDA)
Pin 5 (SCL1) => Pin 6 (SCL)
Pin 6 (GND) => Pin 1 (GND)
Step 2: SPI Wiring Option
If using the SPI pressure sensor there are 5-wires to connect the pressure sensor to the Raspberry Pi:
RPI 40-pin => Honeywell ABP pressure sensor
Pin 17 (+3.3 VDC) => Pin 2 (+3.3 Vsupply)
Pin 21 (SPI_MISO) => Pin 5 (MISO)
Pin 23 (SPI_CLK) => Pin 6 (SCLK)
Pin 24 (SPI_CE0_N) => Pin 3 (SS)
Pin 25 (GND) => Pin 1 (GND)
Step 3: Tube Connection
To connect the pressure sensor to the radon mitigation pipe use a 1.5 mm inner diameter plastic tube connected to the upper P1 port on the pressure sensor. The plastic tube can be any length and the other end is inserted into the mitigation pipe by drilling a small hole the size of the tube's outer diameter.
Step 4: Software
After installing the Raspberry Pi operating system, I followed the instructions for enabling the SPI and I2C buses:
I then used git to download the radonMaster Python source code:
I edited in a few lines in the radonMaster.py source to configure the alerts to my preferences. The program will send alerts when the radon mitigation fan vacuum/pressure changes. The program logs the data to a Comma Separated Variable (CSV) file that can be easily imported into most spreadsheet program or plotted using the provided Python source code that uses standard MatPlotLib. The program can also send daily, weekly, or monthly status reports through email depending on your choices. Radon levels do vary significantly based on weather so I choose to set the alert levels a bit higher and plot the data monthly. I also noticed that the radon mitigation vacuum pressure changes significantly on days with gusty winds outside. The program employs an algorithm to minimize false alerts. I have not had any false alerts.
I used the command "python3 radonMaster.py" to run the program from a terminal window for initial testing and checkout. I then used crontab per the instructions to start the program on RPi reboot.
This project was completed fairly quickly and only required buying the Honeywell pressure sensor ($13 USD) and some cheap plastic tubing. From the project I learned how to interface I2C and SPI devices and became familiar with the Honeywell TruStability Amplified Basic Pressure Sensors.