options for battery operated Mcu+modem

I do not have much experience in the field and following a project that I realized with the Dash, I’m looking to reproduce a similar project with the Nova 3G modem for the moment and then switch to CAT-M1, later when it will be more widespread in Canada. It is simply an ultrasonic sensor that connects to the cloud every hour + monitor battery voltage and could use 1 analog pin. Since the project works with li-ion battery all year round, I was wondering about the options available having a sleep mode consuming less than 200ua and having maximum reliability so that it is autonomous and never crash. The Dash matched these needs very well although I never implanted a watchdog, maybe a weak point in my design. All the Mcu that I see does not offer this degree of consumption, how can it be achieved easily?


The Arduino MKR 1400 seems to be the most common replacement for the Dash, it has similar functionality and uses the same cellular modem as the dash (SARA-U201). I believe it has sleep modes and should have decent and long-term support since it is in the Arduino family.

They are coming out with a Cat-M1/NB-IOT version as well, theArduino MKR NB 1500 which would be good to keep an eye on.

I’m not sure about the sleep consumption of this board. There is no data about it and not that much over the web. I suppose it’s about 10-20ma which is too much. But what do you think about using adafruit board TPL5111 to power up the board every hours? This is something I never did and I suppose it would make the board even more reliable(autonomous).

I have to enter some on field reading correction and save them to eeprom(oh it doesn’t have it), how could it be done easily?

Connecting every hours with the dash cost 1kb of data for a short string of data, but some ppl tells me with the mkr 1400 it used about 3 time more data then dash, it is possible?

why not using Pi - nova + tpl5111 what would be the benefict to use this combination. I’m looking for low cost
Particle electron use 4kb for hanshake, which is incredibly higher than what I used.

sorry for my ignorance on some point. it’s not clear for me why there is major difference between boards.

This sounds like a hobbyist project which is fine but if so, why so worried about data cost?

Concerns about data
1kB/hr ~= 0.72MB/month = $0.29/month in data. Even if particle / mkr with their built-in libraries use 3x that, then that will cost you $0.86/month in data. Very cheap compared to the cost of any of the boards you are looking at. I think focusing on data costs really only makes sense when you have many units (1000+) or if you truly need realtime data transmission meaning you are sending lots of small messages (like multiple messages a minute).

If you are looking to do high volume then your best option is to design your own board where you can use any MCU / modem / power supply / etc.

Capabilities of MKR1400
Note the mkr 1400 doesnt have dedicated EEProm but you can use the flash memory as non-volatile storage (see MKR GSM 1400 Persistent Data - MKRGSM1400 - Arduino Forum) This is common for many microcontrollers (see the whole Espressif line of WiFi MCU’s) and is better in many ways as you have access to a huge bank of non volatile storage instead of a few bytes with dedicated EEProm. Note the U201 modem can also store data in its non volatile memory with a few AT commands.

The SAMD21 chip on this board also does have a deep sleep (I think they call it Standby) that will draw in the few 100’s of uA. See this video: ForceTronics: Reducing Power Consumption on Arduino Zero, MKR1000, or any SAMD21 Arduino Part 1 Anything on the Arduino Zero and sleeping will also apply to the MKR boards, its the same MCU.

Handshaking on different boards
The bandwidth used on each board really depends on what cloud system they are connecting to. You can connect to Hologram’s cloud (or your own) with Particle, PyCom, MKR or other boards. This may require a bit more programming but really you should just be able to follow along the Dash’s code and copy-paste most of it. Its likely Particle’s cloud uses HTTP or some protocol with more overhead than Holograms embedded API so their examples show higher overhead (as I said above, I woudlnt worry too much about it in your case anyway).

Pi, Nova, Tpl5111
Wow that would be a real mess of a system and definitely not low power, that would involve booting up a linux machine that draws atleast 100mA just to to send a small message. Remember overall power consumption = [time in standby] * [standby power] + [time active] * [active power]. Your [time active] would be much higher with a nova and likely be worse than just leaving a mkr 1400 active the whole time.

The MKR 1400 really can do everything the Dash can do, it is your best option. A Pi with a Nova and a timed power switch is definitely not a good option for many reasons.

Thanks for the valuabe links you posted.
Your contribution to this forum is greatly appreciated

It’s been a long time since I had not consulted the prices of data. It’s cheaper than I thought. Indeed with my free sim card, I have not yet spent money on my prototype. Yes it’s a hobby project and will make couple of them but not a lot so yes data cost is not that important but would like to keep low data, it should be pretty easy.

I would like to use the electron board for example as the board is really documented and the community is very active but you said it will use some programming. If it’s just to set the apn… it should be fine but more than that I’ll not go this way, because i’m lacking knowledge and want to keep the developpement low in time. How would it be to configure the Electron to connect to hologram cloud? Will the data consumption will be same as mkr1400 or there is other factor that modify the overhead?

Do you think it’s risky to run the mkr in loop with sleep mode enabled for 1 hour without any watchdog? The reason I talked about the tpl5111 is to reset the mcu if it stall. in the worst case, it’ll stall 1 hour and reset itself. If the code is right and there is no exception in code, do implementing a watchdog really important? I repeat the board will be hard to reach and it should be running a year itself.


the two things you are looking to do (survive ~1yr on battery and high reliability) will require a good amount of programming (arduino level stuff) and debugging. Both are stretch for the technology no matter which board you go with.

See the other two forum posts on “continuous connectivity” for potentials issues you may face guaranteeing uptime. But basically you may have to code for handling loss of network or data connectivity and re-connection attempts. This I think is much more likely to be your issue than the device not waking from sleep. The MCU should have a watchdog for handling crashes or other coding issues.

Sleeping both the MCU and modem is a moderate/advanced feature that you’ll have to play with to get right with both, especially if you want to keep the modem registered on the network while sleeping (which will speed up re-connection for sending messages).

Another solution especially for low volume is the lazy one…buy a big battery (and a switching regulator for 12 to ~4V): https://www.amazon.com/YTX30L-BS-30L-BS-High-Performance-Maintenance/dp/B00B9JD7PG/ref=sr_1_4?ie=UTF8&qid=1549421722&sr=8-4&keywords=30+ah+battery

thank you for your precise answers

however, there is something that makes me tickle. Would there be an advantage to using the mkr1400 rather than the electron or boron from particle? There are tutorials for each of the boards for the setup and it looks pretty simple. Does using a Hologram sim card in either of these boards offer an advantage? The electron modem is the “U-blox SARA-U260 / U270 (3G) and G350 (2G) cellular module” and for the Boron 2g-3g: "u-blox SARA U201 2G / 3G modem (Boron 2G / 3G) "I want to communicate with the hologram cloud and avoid having a handshake of> 4kb every hour. I must precise the Boron isn’t yet ready for deep sleep but is coming.

No they will all pretty much work the same… all will likely require some coding to get communicating with hologram cloud but again, something you can mostly copy/paste from the Dash open source code.

May be worth posting on the Particle forum’s to see if anyone has done it before and if there are any issues with that combination.

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