RD200 Read Radon Level using Arduino

Hi there!
I'm trying to read the radon level measured by the ecosense RD200 but I can't figure out how

I tried using the library made by romkey (GitHub - romkey/esp32-arduino-ble-radoneye-rd200: ESP32 library for Arduino Core that reads the RadonEye RD200 radon sensor over Bluetooth LE.) but I can't make the code work.

Do you have any similar experiences or suggestions?

Request for Detailed Information:

I’m not sure I can help without seeing exactly what you have in front of you. To assist you effectively, please provide the following:

  1. Annotated Schematic: Post a detailed schematic of your setup exactly as you have it wired, showing all connections, including power, ground, and power supplies.
  2. Technical Information Links: For all hardware devices in your circuit, provide links to technical information. Be aware that many items in the Arduino/Pi world may have the same name but function differently. Links to sales pages like Amazon often lack the necessary technical details, so ensure the links you provide contain the correct specifications and data sheets.
  3. Be Thorough: It’s your problem, and the more precise and detailed information you provide, the faster we can help you troubleshoot. This saves everyone time and helps us give you the best possible assistance.

The RD200 uses bluetooth to connect with a smartphone application to display the data.

From GitHub link:

You'll need to figure out the Bluetooth MAC address of the RadonEye in order to use this software.

I have the same problem. I scanned BLE and found the MAC address. After fixing an issue in the INO file with an undefined radon_hour() the code compiled for my ESP32-PICO but does not connect to the RD200.

Update: The code worked but it can't connect to the RD200 using the library made by romkey. (I'm using an ESP32 DEVKIT V1)

Here's the code:

#include <Arduino.h>

#include <radon_eye.h>

// MAC address for sensor 
RadonEye radon_sensor("08:D1:F9:3B:92:26");

void setup() {
  Serial.begin(115200);
  
  // returns false if it can't connect to the RadonEye
  while(!radon_sensor.setup()) {
    Serial.print(".");
    delay(1000);
  }

  Serial.println("RadonEye connected");
}

void loop() {
  // must call this to read current values from the RadonEye
  // returns false if it fails
  if(!radon_sensor.update()) {
    delay(1000);
    return;
  }

  Serial.printf("now %.2f day %.2f month %.2f\n",
    radon_sensor.radon_now(),
    radon_sensor.radon_day(),
    radon_sensor.radon_month());


  // one reading every 10 minutes
  delay(10*60*1000);
}

The serial monitor output is "......"
Thus, it is still not connected even if I waited an hour.

How do you verify the MAC? 08:D1:F9:3B:92:26

There's a something like a serial number on the RD200 (IC05RE001144) and I found the same one on the Bluetooth LE Scanner. I copied the MAC address of the device with that serial number.

You can see by the dots "....." that the program is stuck on sensor.setup() returning zero... therefore either nothing is at the MAC address you are using, or the device with that MAC address does not know to respond with anything other than zero.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.