I like to share my tiny LoRa node, build around RFM95W and an ATmega328PB. There is a tiny 1.1" ePaper display attached which can be used to visualize locally generated sensor data or downloaded IoT messages. The node is powered by two little solar cells, the harvested energy is stored in a 1.5F supercap. I spend some time on minimizing the code size and energy footprint for the system, it consumes now 2.1µA in deep sleep and the ePaper screen uses only ~50% less energy compared to its default settings.
Hardware specification:
MCU: ATmega328pb (16MHz, 32KB FLASH, 2KB SRAM)
LoRa Chip: RFM95W, Antenna EU_863_870 or u.FL connector for external antenna
Flash: Winbond W25X40Cl, 4Mbit
Deep Sleep: 2.4uA
PV cells: IXYS SLMD121H04L
Energy-harvesting PMIC: E-Peas AEM10941 w/ MPPT
Storage device: EDLC supercap 1.5F
Example Local weather forecast:
At Github there is a reference demo available which shows the weather forecast (rain probaility) for the next hours for given geo-coordinates. The data is requested bi-hourly through openweathermap.org and a Node-RED flow for extracting the relevant data.
Its possible to use this sketch as starting point to integrate your own ideas. There are also GPIOs exposed to attach e.g. SPI-based sensors… however the limited SRAM size should be kept in mind!
The general idea is to harvest enough energy through the day to run around the clock with a bi-hourly refresh rate to achieve a sustainable, autark system without coin cells etc. That works for my window desk now reliably even for a rainy week and although the days are short since we are close to winter solstice. Now I am moving the node further into the room so that its seeing less daylight and more LED indoor lights which will become more tough I guess Here a snapshot from last week (usable voltage range is between 4.5V and 3.8V):
Practically it does not violate fair-use policy. My experience is that the node only requests 5 times a day when in full sun and once a day when you are lucky when there is no sun.
As a good engineering practice the code should have a mechanism to prevent violating the fair-use piolicy. I agree with that.
Thanks @pe1mew and @kersing I will re-implement the limit for fair use policy of 10 downlinks/day since the nodes with larger supercap (1.5F instead of 0.4F) will usually run around the clock.
Ah yes, I missed that. You are quite right that this is a significant barrier; making that library multi-band would be significant effort from my brief skim.
There are newer and/or more complete stacks that fit on the 328p (maybe more, I’m not sure if BasicMac fits) but that’s quite a voyage from where you are (moving stacks isn’t much fun). I’d suggest moving to 32bit to make it easier but just looking at 328p power usage (~4mA) vs STM32 (~13mA, 3x!) shows me more about your design constraints
Great work, again, it’s really inspiring to see how much you’ve squeezed out of it all and how permanently self-powered indoor devices can be in our future homes and workplaces. I’d never imagined that was possible.
You’d be surprised of all the new technology that is coming to allow battery-less devices, even indoor! The improvements in energy harvesting are subtle but making the difference between almost possible towards completely useable. For instance, check the indoor solar cells from Lightricity, these are tuned towards indoor light. I guess many more similar innovations are becoming available, would be nice to get more of this info on the Things forum.
Sure @GMD, I agree with you. I think it would be great to better understand the different LoRa stacks in terms of energy efficiency.
Based on the same hardware, will they all consume the same range of power?
For example the current consumption for ATmega328p and RFM95 based on the above mentioned stack. Within the waiting time for Rx1 and Rx2 the MCU is still running and consuming a fair amount of energy compared to the Tx and Rx window. Its actually consuming more energy than needed to update an 1.1" ePaper screen.
Is there (what is) a commonly agreed most energy efficient stack for todays available hardware options? Maybe its worth considering an “energy efficiency label” for the different stack options?