Sorry to bump a bit of an old thread but I signed up just to respond here after finding this thread on a google search.
You mention that if you were to probe the live serial bus between the included board and the sensor you will see undocumented messages, and that this is confirmed by FTLabs, and earlier you mentioned an averaging mode. Can you elaborate on any of this? I am also working on a project to integrate ESP8266 modules with my RD200 sensors and I found one pdf for the RD200M that is mostly understandable (although what exactly the “transfer period” is still eludes me, changing the value doesn’t seem to do what I expect, oh and why on earth would they choose to use mthread?..) but it really doesn’t list many commands. I feel like there’s a lot more out there. I tried contacting FTLabs without any response several times over the past 2 years.
The goal of my project was to make a replacement board that could operate in standalone mode or utilize my in-home environmental monitoring API (it’s an ugly mess right now so I don’t want to say too much about that side of it) to post data to it. Basically, I wanted sensors that I could use in my house, or lend to a neighbour for a few weeks for them to check out their radon levels if desired.
To show I’m serious and to also share some of my progress with you guys, here’s a comparison picture of the boards I came up with (sorry my hand soldering is pretty messy):
A quick list of hardware specs:
128x64 white 0.96" OLED display (ssd1306)
AT24C256 EEPROM (still not sure why I thought this was a good idea, but hey it’s on there now)
WS2812B RGB LED
2x push buttons (I was planning to drill the partial existing holes on the top of the enclosure to expose the buttons)
I also sourced the correct Molex Picoblade connectors so that my boards would be plug-and-play.
The end-goal for my project is to open source everything (when it’s in a releasable state). At this point I have a proof-of-concept talking to the RD200M and logging the readings to my monitoring system, but due to me obsessing over ideals I am presently (and have been for a long time) working on a complete re-write of my code base to be more organized and support additional sensor types. My plan was to rework my platform to support temperature (DS18B20), pressure (MPXV7002DP plus external ADC for monitoring sub-slab suction levels), VOC, and PM2.5 sensors. Today I am working on the helper classes for the RD200M which is how I stumbled across this thread. Ideally I’d like to be able to have some kind of status or communication check command I could run against the sensor so that I could detect whether an RD200M is present allowing me to share a single code-base across multiple sensor types, and also it would be great to be able to get a serial number from the sensor itself to uniquely identify each one (as I have noticed a bit of reading variation between units).
Oh, also to help, if concerned about marking the case when opening it, I used a metal spudger to release the clips without any case damage. It’s super thin but when pressed in along the clip itself releases them just great. Unfortunately I totally screwed up all that careful work when peeling back the top sticker as part of it ripped and remained stuck to the housing