Soil moisture sensor

Short update on my experiments:

RPI Pico:
Pico running without Deep sleep uses 30mA what is not battery friendly. So deep sleep is required.But works well over the distance of >1km with RFM95 and simple wire antenna.

Makerfabs Soil Sensor:
I have got it down to 3mA with the using the library from post #33 - it does not really going to sleep.
With the code from Makerfabs ( see link to their GitHub above) I got it down to 0.6mA in Sleep and 6mA while running. Unfortunately - I included the code into the platformio file like mentioned above and get the following Result:
16 Sec consuming 0.6 mA and then followed by 8 Sec consuming 6 mA. I played around with the sleep settings in platformio but the combination of the code infused seems not to work like I would like to see it.

I understand that the solution with 2AAA batteries is not really a good solution as Wolfgang stated in post #40. So I am looking into a LiFePo4 battery. But the beauty of using the provided battery compartment is gone then.

I also learned that I got one unit that has very poor antenna performance and another that at least works well for my needs (1km) even when putting the sensor into the ground (antenna 15cm above ground). I also changed from helical antenna to a simple wire but I missed the chance to compare RSSI figures. So I don’t know if this improved it.

Thanks to the community for the support so far!

Eckhard

1 Like

I am no trying to incorporate the Rocketscream Low-Power library into the LMIC Node example but I am facing the following Problems:
Low-Power only provides up to 8 Sec deep sleep -how can I increase it to 15Min?
How do I combine the DO_WORK_INTERVAL_SECONDS from platformio.ini to correspond with the deep sleep?
I put the power down command here in the LMIC-node.cpp:

``
void processWork(ostime_t doWorkJobTimeStamp)
{
// This function is called from the doWorkCallback()
// callback function when the doWork job is executed.
// Uses globals: payloadBuffer and LMIC data structure.

// This is where the main work is performed like
// reading sensor and GPS data and schedule uplink
// messages if anything needs to be transmitted.
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
// Skip processWork if using OTAA and still joining.
if (LMIC.devaddr != 0)

is this the right place?

Thanks in advance
Eckhard

Sorry for this not so nicely formatted code

short update on the Makerfabs Soil Sensor:
with changing to a LiFePo4 battery 2300mAh and changing the code with integrating the rocketscream lowpower code (post #32)
the sensor is now running for a couple of weeks now.
Power consumption is in deep sleep 0.4mA - still far away from the possible low power I have seen for same controller and lora components - but kind of ok and should allow the sensor running approx. 200days.

But:
I was looking for a out-of-box solution and the provided battery solution was not really acceptable?!

And:
I see sometimes big 8-10 hours of not incoming sensor information ( I am sending every 15min)
I have also incorporated sending the battery voltage and the battery is still around 3.3V.

Any thoughts on that?

Thanks
Eckhard