One of the most apparent use cases of IoT is monitoring at remote locations, putting tough requirements on internet accessibility yet long battery life time, due to no access for frequent battery changes. These requirements add some special restraints on the design of the IoT device. In this two-part video series we showcase a sea level measurement station as an example of such IoT use case, explaining its functionality and the ways to keep power consumption at a low level.
The sea level indicator device is based on an Arduino MKR1400 GSM, which contains a SAMD21 Cortex-M0+ 32bit low power ARM MCU, and a SARA-U201 HSPA module from u-blox, that with an added SIM card provides 2G and 3G connectivity.
In order to measure the water level, an ultrasonic transducer, KS103, is used, which provides temperature compensated measurements over an i2c interface. This transducer is specified down to 0ºC, if you need it for lower temperatures, it should be replaced with e.g. KS101B, which will withhold minus temperatures down to -30ºC.
The entire sea level indicator is powered by a 3.7V LiPo battery connected to the Arduino, in this case simulated by Otii. Furthermore, a PC is connected to a serial port of the board, to command the device and to extract the debug logs to sync with energy consumption recordings.
In this first part of the video the connections and the functionality of the device are in focus. Simple functionality check, with accompanied energy consumption measurements, is done: Measure, Send Data, Wait 1h, and Repeat.
In the second part the power save of the sea level measurement station will be addressed, showcasing how to get the maximum amount of time on the battery. So stayed tuned!
Enjoy the video and keep on commenting and asking questions on our forum! We are listening!