Looking for volunteers to create a project


I’ve only messed with H-bridge analog sensors and promised to myself not to do that again to save a few bucks over an integrated digital sensor :smile: If the linked sensor deals well with the H-bridge and temp comp then it should be easy to use… IF…
I didn’t see how much current the sensor you linked to consumes nor how long it takes to produce a stable reading, so can’t judge whether power consumption is reasonable or not. The 5V requirement sucks and there’s no 5V output pin on the boron and at quick glance I didn’t see an obvious easy component to solder a lead onto either…


@Squid, I’ve used a few dozen or so of the cheap pressure transducers that you linked to, with mixed results.
They commonly fail within the first week. It does seem if they last for at least a week - they will work for a while. It’s extremely frustrating to need to test each sensor for 1+ week before deployment.
I have learned the hard way (many times) that it’s better and cheaper to go ahead and purchase quality sensors for pressure measurement, even when dealing with larger quantities.

An easy way to have 5V available with a Boron is this board:

It allows the Boron to turn the 5V on/off


Here’s a quick list on various common methods to measure fluid level:

  1. UltraSonic

  2. Submerged Transducer

  3. Measure Differential Air pressure from submerged air tubing & Atmosphere (2-ports)

  4. Bubbler System - measures Air pressure from submerged air tubing releasing bubbles at the bottom.

In General, the precision (and accuracy) increase as you move down that list, but so does complexity.
#2 and #3 have a tendency to become clogged in certain applications.

#4 requires a tiny air pump (a moving part with a certain lifetime) that can become problematic in some applications.

#2, #3, & #4 require something hanging down in the river in your application, #1 doesn’t.

Once Sleep Modes are released for the Boron, your project becomes pretty easy to implement with Solar Recharge and any measurement method.


I’m a bit lost with TPL5111 and the need of good deep sleep.
if I’m only using the Boron and sleep mode, I risk to have some problem if the board stall for unknow reason.
so the obvious solution is to use the tpl5111 to wake up the board every hours/ will shut down the boron if no high signal is send after delay value. From what I’ve read, the mcu must shut down his task befor sending the high signal to TPL, I’ll need some help to know how this is done.

I would also have some information about the complexity to use an hologram sim card + cloud on the boron. I’m looking for an easy solution without headeache. Is it possible?EDIT I just read the how to set boron with 3rd party sim and it look like pretty simple.


This post was flagged by the community and is temporarily hidden.


@Rftop I just got a system up and running two days ago that uses a MB7052 XL in a feed bin that is ~ 15’ tall. So far so good.


thank you for all your feedback related to the sensor to use. At first I will use the one mentioned at the beginning … it will always be time to change module later without much difficulty. Depending on where the sensor is installed, the reading may vary from just 1 meter. Under a bridge I expect a variation of about 2.5m in most cases. A minimum reading of 40cm at an extreme of 4m is ok.

1-I am wondering if I adopt the Boron 3G or 3G electron. The use of a possible 3rd party sim card on the Boron worries me, it seems difficult in many cases. I would like to order some hardware this week end and decide if this choice is wise.

2-The use of a timer / watchdog tpl5111 or 5110 is to be defined, I will have to re-read the specs that are most appropriate for the Mcu used.

3-I bought a step up voltage converter with EN pin to have excessive drain when not in use. here

4-In addition I would like to have your opinion of mosfet IRLB3034 to act as relay whose the Gate operates with output pin 3.3v. This would be to cut off the power of a sensor working at most 12v 100ma. Some speak here of the 2N7000 / 2n7002, it seems comparable to me but I do not know much that.

Thank you very much for your help


I’ve done some preliminary testing with the Boron LTE on 0.9.0 system firmware using Stop Sleep Mode System.sleep(pin, edge, timeout) for this project.

I’m using a MaxBotix MB7051 UltraSonic Sensor with a 35’ operating range, a 2,000 mAH Li-Po, and 0.5 watt Solar Panel.

The Code uses Manual Mode and Threading, and limits the Cellular Connection Time to 1 minute, waking every 20 minutes to perform measurements and Publish.
The MaxBotix is powered by a digital pin, going High 1 second before the distance measurements begin.

Current tests were performed with 4.0 V on the Li-Po connector:

Sleeping Current:
700 µA Sleep Current = 0.700 mA (measured)
Over 24 hour period, = 0.700 mA * 24 hours = 16.8 mAH per day.
But watt-hours is the better way to track: 0.700 mA * 4.00V = 2.8 mW
2.8 mW * 24 hours = 67 mWh per day =0.067 Wh/day Sleep Current

Wake and Publish: (note: previously measured prior to 0.9.0)
Current Varies during the Cellular Connection Process.
It generally takes 14 seconds on average consuming 1 mWh total.
I limit the Connection Wait time to 1 minute, so let’s assume that the Boron LTE spends the entire 1 minute trying to connect and publish instead of the average 14 seconds = 4 mWh per Wake & Publish Event.

To wake and publish every 20 minutes = 72 Events per day = 72 * 4mWh = 288 mWh per day for sensor reading and publishing.

Sleep + Wake Total:
67 mWh Sleep current + 288 mWh Wake current= 355 mWh per day total = 0.355 Wh per day

The 2,000 mAh Li-Po battery (that ships with the Electron) is rated at 7.4 Wh, however those tests are conducted from 4.2V to 3.0V which is not a realistic range for actual operating conditions.
So let’s cut that in half to be conservative = 3.7 Wh.

3.7 Wh capacity / 0.355 Wh per day = ~10 days of Run-time from Li-Po without Recharging.

Using a 0.5-watt Solar Panel :
Assume 50% total efficiency (harvest, store, use) = 0.25 watt rating to simplify the calcs.
0.355 Wh per day / 0.25 watts = 1.4 hours of sunlight required per day (average) to operate.
Or 14 hours of sunlight required before reaching day #10 during cloudy weather.

Not bad considering the calculations assume each Cloud connection takes 4 times longer than the average time, and the battery capacity & solar panel are de-rated 50% in my example calculations.

Other Thoughts:
In 1 hour, the Boron LTE consumes 70 mWh, sitting idle while connected to the Cloud (No Sleep).
=0.070 Wh per hour. That’s an average current of 17.5 mA @ 4.00V
So if you want to schedule the Boron LTE to remain Awake and Cloud connected for 1-hour each day for testing, code maintenance, etc, it only adds 20% to the power consumption. You could add a condition to remain awake for 1 hour at Lunch every day if the Li-Po is charged.

That brings up another thought: Why not just leave the Boron LTE Awake and Cloud connected when the source is Vin & Li-Po is charging or charged ?
The tiny 0.50-watt panel only needs to produce 0.07 watts to simply stay awake and avoid the re-connects every 20 minutes (or whatever publish interval that’s used in final version) during the daytime hours.

Thought, comments, and suggestions are appreciated before I field trial.


Nice analysis. I tend to stick with mAh instead of mWh, the difference is minimal IMHO, specially given how rough many of the other measurements/assumptions are. Also, when you write “The 2,000 mAh Li-Po battery is rated at 7.4 Wh” that’s really just 2000*3.7… I guess the solar may be different, but you’re not using an MPPT charger, right?

Overall, I hope the sleep consumption can be brought down below 700µA for projects where the device sleeps more. For example, I’m working on a tracker that sleeps when the vehicle is not moving, which is most of the time.

That brings up another thought: Why not just leave the Boron LTE Awake and Cloud connected when the source is Vin & Li-Po is charging or charged ?

Nice thought, should be pretty easy to do. I think ideally you want to stay on when Vmax is reached and it’s still charging, because at that point it’s tapering off the charge current (if solar can provide enough) so staying on is free. If you turn on after charging ends you are starting to drain the battery and unless it hits the recharge point and recharges you have spent run-time (which may be OK). Not sure this level of detail really matters…

The final angle to consider is cellular cost and any trade-off WRT sleep mode and battery capacity.


I believe it’s the opposite. In a battery discharge test, the Voltage is constantly dropping.
You measure the mA and the Voltage, integrated over time to calculate the watt hours.
The 2,000 mAh labeled rating is calculated from the total watt-hours when depleting the cell completely down to 3.0V, using the “Nominal” Voltage of 3.7V. IMO, that’s why its better to compare watt-hours, verses mAh.
Since a mAh means nothing if you don’t know the voltage when the measurement was taken, and Li-Po’s have a “decent” operating range. But I 100% agree with you, no point in splitting hairs when I add pretty significant Safety Factors to the assumptions.

Correct, no other hardware besides Boron, Li-po, Solar Panel, and Ultrasonic Sensor.
I do usually tweak the PMIC settings a little for the 6V panel, and Li-Po charge termination.

Great Point… I hadn’t thought of that. Thanks!

I concur.
I have several Electrons performing 20 minute updates (powered 24/7) and never reach the “included” MB per month. I am a little concerned how much the Boron LTE will cost in cellular data w/ Sleeping with Stop mode, since Network Standby isn’t available without an external timer. It’s easy to add a WDT, but trying to keep it as simple as possible. <-- [Edit]: Corrected per @peekay123 's post below_

Would using MQTT (instead of Publish) and NOT connecting to the Particle Cloud make a significant difference with 20 minute Sleep in Stop Mode for the Boron LTE ?

Thanks again for the comments @tve !


@Rftop, what you call “Network Standby” is available as STOP sleep mode function so there is not need for an external timer.

System.sleep(std::initializer_list<pin_t> wakeUpPins, InterruptMode edgeTriggerMode, SLEEP_NETWORK_STANDBY, long seconds);
System.sleep(const pin_t* wakeUpPins, size_t wakeUpPinsCount, InterruptMode edgeTriggerMode, SLEEP_NETWORK_STANDBY, long seconds);


Thanks @peekay123, I misunderstood that from other posts.
I guess I’m a victim of the naming convention, and not reading the Docs :wink:.


thanks for all the information. As I said, I’m going to use 3G rather than cat-m1 for the 1-2 years and possibly with a 3rd party sim card. In this case, I may consider publishing every hours + handshake and reduce publish rate when there is low water. I could use under 1Mb/month, costing less than 1$ per month to operate. Solar panel may be complicated in some location but with publishing hourly give me long enough autonomy.
lets calculate and correct me if I’m wrong:
about 24h sleep time a day: 0.700ma x 24h = 17ma (I also prefer working with ma)
24 publish per day @ 1 minute each: 4mWh x 24 = 96mWh =? 24ma??
if I’m correct, I would use 24ma? + 17ma = 41ma/day (24 day out of 1000ma lipo).
That’s similar to the module I did previously. But all thoses settings are easy to change for personnal choice.

Also I see you don’t talk about watchdog, Do you plan to use the adafeuit TPL5111 in this project? what is the risk to have the boron stuck waiting for a hard reset?


@Squid , Unfortunately, I don’t have a Boron 3G to measure the Sleeping Current.
My numbers wont help you.
I would expect the 3G to use much more during operation than the LTE, but I have no guess as to the Sleeping current. Maybe someone here has performed tests for the Boron 3G ?

I’m not using the TPL5111 (for now) since 0.9.0 firmware was released with Sleep modes for the Boron.
Threading and Manual mode have worked well for me with the Electron, after much guidance from this forum. I’m hoping to have the same luck with the Boron entering Sleep Mode when/if things don’t go as planned. I’ve bench tested the Boron with the same Code and it Sleeps at my 1-minute connection timeout when the cellular antenna is removed. I’ve tried to stress test this and so far Manual Mode & System Threading handles it fine. I haven’t tested this on a Boron LTE in the wild yet.

I tried a 3’rd Party SIM with a Boron LTE and had no problems getting it to work (after reading several posts on this board). I was shocked when it connected so easily. I used FreedomPop LTE Data Only Plan. I’d like to test a Non-AT&T related SIM soon.

I’m going to back-up and perform current tests with SLEEP_NETWORK_STANDBY, since I now know it is available for this application. It’s starting to look like a FSM might be best to handle the decisions on When & How to sleep based on Solar Harvesting, but I have no experience with FSM. Right now my code is very simple and the benefits from a FSM might not justify the learning curve.

BTW, the tiny 0.5-watt Solar Panel I’m using is only 3" x 2".


out of curiosity, which one? where to buy? thanks Ryan!


FSM as in Finite State Machine?


Yes Sir, Finite State Machine.

I may actually use a 1-watt for this trial :

Here’s the 0.5-watt:


tu parles francais et en plus ca se passe au Quebec?
and it’s an open source project?
I wouldn’t be able to say no.
I have few hours per week and might be able to help in the project, depending on the time frame.
Count me in, please.


We are looking for help from a few members to participate in the development of the project, otherwise the project may not take place, which would be sad for the community.

tu parles francais et en plus ca se passe au Quebec?
and it’s an open source project?
I wouldn’t be able to say no.
I have few hours per week and might be able to help in the project, depending on the time frame.
Count me in, please.

FYI, despite me asking, squid has not provided any real info on the project and there’s nothing public that I could find. For all we know, he could be selling these devices for profit… I’m not saying he is.


Thanks @gusgonnet Your help is welcome.
yep truly the project is open source. As you can see, I have about 0 knowledge on how to manage this project and will not be a ressource for any bug report later. The project is aimed to be the simplest to make sure someone able to solder could make his own device. Also I doubt the program is that hard to create, but for me it is. I’m a carpenter, not a programmer. The goal is just to have a device that run for months without bug, reading a short distance from a bridge or a “pole” to the water. The same thing as connecting a DHT… to read how humid is your greenhouse. Simple as that, nothing to add.

The only particular coding I added is a false reading recognition. taking 3 measurementss and compare each other to ensure they are is a certain range.

the kind of reading on thingspeak for a small creek look like thissensor%20lectures%202%20dec

the lowest water level is about at -275cm under the sensor and the peak this year was -120cm(not on this image) under the bridge, the water increase to this value at about 30cm/hours, and the fall is almost that fast


Do you have the JSN-SR04T V.2 yet ?
If so, you can prototype with a Boron 3G now (with Sleep Mode).

I normally use MODE 2 with the JSN-SR04T V.2, which lets me read Serial Data for the distance measurements. It reports in millimeters over Serial in Mode 2, but the values change in ~17mm increments.



There is also a MODE 3 available, which keeps the JSN in “low-powered” mode until you request a measurement.
Depending on the “low-powered” current, that might be your easiest solution, without having to add a FET etc to control the power to the JSN, since you will be Sleeping the Boron.
The JSN works fine when powered by Li-Po voltage, but it doesn’t work at 3.3V.
If the JSN consumes too much in “low-powered” mode, you will need a FET to switch it On/Off from the Li-Po Source. I won’t be much help with that, but plenty of folks here that can. If you decide to use a FET, you’ll be able to use your existing Code for JSN Mode 1 (Default) most likely, just add the Sleep Call.
Or change to a 3.3V powered ultrasonic sensor and use a digital pin for power instead of a FET.

I have simple Code for the JSN in Mode 2 that I can share, it shouldn’t be hard to add a few lines for Mode 3.
The PMIC settings are available on the forum also, to increase the efficiency when using a 6V Solar Panel.
Solar will be an easy Add-On.

Maybe someone can donate their time to design a simple carrier board to easily connect the Boron and JSN?
It could also include a FET, and a cheap temperature sensor (TMP36, etc) to monitor enclosure temperature to know when to disable charging for the Li-Po. Possibly add an external Watchdog and a DIP switch w/ resistors to control the JSN Mode. There may already be an open source carrier board that does this ?