Easy Very Low Power BLE In Arduino Part 2 - Instructables

Update: 30th April 2022 - This instructable is superseded by Simple BLE Temp Sensor for Beginners, 5 Yrs on Coin Cell which uses currently available nRF52832 modules, is much simpler just the nRF52832 module and a coin cell and lasts longer

Update: 23rd November 2020 – First replacement of 2 x AAA batteries since 15th January 2019 i.e. 22months for 2xAAA AlkalineUpdate: 7th April 2019 – Rev 3 of lp_BLE_TempHumidity, adds Date/Time plots, using pfodApp V3.0.362+, and auto throttling when sending data

Update: 24th March 2019 – Rev 2 of lp_BLE_TempHumidity, adds more plot options and i2c_ClearBus

This instructable, A Very Low Power Temperature Humidity Monitor, is Part 2 of 3.

Part 1 – Building Very Low Power BLE devices made Easy with Arduino covers settting up Arduino to code nRF52 low power devices, the programming module and measuring the supply current. It also covers specialized low power timers and comparators and debounced inputs and using pfodApp to connect to and control the nRF52 device.

Part 2 – A Very Low Power Temperature Humidity Monitor, this one, covers using a Redbear Nano V2 module and an Si7021 temperature/humidity sensor to build a low power battery / solar monitor. It also covers modifying the Si7021 library to be low power, tuning the BLE device to reduce its current consumption of <25uA and designing a custom temperature/humidity display for your mobile.

Part 3 – A Redbear Nano V2 Replacement covers using other nRF52 based modules instead of the Nano V2. It covers selecting supply components, construction, removing the nRF52 chip programming protection, using NFC pins as normal GPIO, and defining a new nRF52 board in Arduino.

This instructable is a practical application of Part 1 Building Very Low Power BLE devices made Easy with Arduino by constructing a Very Low Power BLE Temperature and Humidity Monitor. The monitor will run for years on Coin Cell or 2 x AAA batteries, even longer with solar assist. This tutorial covers tuning the BLE parameters for low power consumption and how to power you device from battery OR battery + solar OR solar only.

As well as displaying the current temperature and humidity, the monitor stores the last 36 Hrs of 10min readings and the last 10 days of hourly readings. These can be charted on the your Android mobile and the values saved to a log file. No Android Programming is required, pfodApp handles all of that. The Android display and charting is completely controlled by your Arduino sketch so you can customize it as required.

A Redbear Nano V2 board is used for the nRF52832 BLE component and a Sparkfun Si7021 breakout board is used for the Temperature / Humidity Sensor. A modified low power library is used with the Si7021. A small PCB was designed to hold the NanoV2 and supply components. However since there are no surface mounted components used, you can just as easily build this on vero board. Three power supply versions are covered. i) Battery plus Solar assist, ii) Battery Only, iii) Solar Only. The Solar Only option does not have any battery storage and so will only run when there is some light. A bright room light or desk lamp is sufficient.

Outline

This project has 4 relative independent parts:-

  1. Component Selection and Construction
  2. Code – Low Power Sensor Library, User Interface and Arduino Sketch
  3. Measuring Supply Current and Battery Life
  4. Supply Alternatives – Solar Assist, Battery Only, Solar Only

Tag » Arduino Nano 33 Ble Battery Monitor