Reading off the shelf BLE Moisture Sensor w/ Boron?



I am attempting to read an off the shelf bluetooth moisture sensor with a gen3 Particle device (Boron). I am comfortable with microcontrollers but have never setup bluetooth before. I have read the Particle BLE tutorial, but still feeling a bit overwhelmed.

There are a lot of fragments of code in the above tutorial, and I’m not sure how to actually put them together into a working example.

The second major problem I have is I don’t see any docs for the moisture sensor I’m using. It is intended to connect to a proprietary phone app and doesn’t tell me what services or characteristics it uses. Looking over the Services list and Characteristics list from the BLE site (the one linked in the tutorial) I don’t see anything that would be used for moisture.

The sensor I’m using is an HHCC brand sensor that measures sunlight, moisture, temperature, and fertilizer. I believe this is a link to it:

I’m hoping someone can help me piece together a quick example. I’ve been at this for hours digging around the internet and still don’t really know where to begin on this.

Also if anyone has suggestions on the Service or Characteristic I may try to poll to discover useful data from this thing. Other than writing a block of code to poll all the known UUIDs, I’m not sure where to go.

I’m sure this is super easy to do once I’ve seen it done, I’m just not finding something that explicitly spells it out.

Thank you.


Quick google brought me here which I think provides info of the vendor specific services and characteristics.


Thanks!!! That’s it. Man I’ve been digging for a while on the various UUID codes I sniffed with a scanner and didn’t find this. Very much appreciated. :facepunch:

I’ll also add this for anyone finding this later… sniffing data from BLE, this video was very helpful, and his first video he mentions is also very good primer knowledge of how the packets actually work. Good stuff.

I ended up ordering the sniffer board for about $40 here:

Thanks again!


Hey @kkeng

The important thing is to get the documentation for the device itself. If it has no documentation, you can connect to it using an app like nRF Connect ( or Light Blue Explorer ( (Android links and respectively)

In your case, you can copy the UUID and use them to connect as a Central device. I recently posted some code for Thingy52 + Particle Mesh. You should be able to modify and re-use for your purposes.

Here are some of my write ups on the subject. The first using Central mode. The second using Peripheral mode.

Happy to answer any questions you have. :slight_smile: Hope it helps!