SUN : Self-Sustained Ultralow-power Node

Ambient/Solar Energy harvesting based nodes that DON'T run on a LiPo battery.

Similar projects worth following
Challenge it addresses: It is expected that by 2020, 50 billion devices will be connected to the internet. An important consideration for a lot of those devices that don’t need a lot of computation power or, that only sense the environment and transmit that data for processing, is of power consumption. LiPo batteries can no longer be used because it may be possible to replace 100 batteries, it’s not possible to replace 1,00,000 LiPo cells (for devices in large sensor networks). This project attempts to develop a node that uses Solar Energy and(or) Ambient light harvesting to power an ultra-low power node.

Simply Put: I want to show that it is possible to keep running a system on a supercapacitor for at least 24 hours. I am using (BLE) CC2650 uC (will be replaced by CC1350 dual band uC), that runs a RTOS and has a special 16 bit core called "Sensor Controller". Through optimized firmware, hardware and negative feedback i want to design a complete solution.

I have already made a working prototype. I will upload the details about it slowly. Right now here are some videos showing the prototype in action. The processor is ARM Cortex M3+, CC2650 from Texas Instruments. It is running a RTOS. One novel feature of CC2650 is the "Sensor Controller Core" which is a separate 16 bit core. It is optimized for extremely low power and autonomous operation form the rest of the core that can sleep. Here the Sensor Controller reads the Ambient light sensor OPT3001 via I2C and if the value is beyond a maximum value or below a minimum value then it glows an LED to notify that. (NOTE: Glowing LEDs to indicate that is really bad, because the whole system without the LED uses less than 1mA with non optimized code , but the LED itself consumes around 4mA !!. This was just for demonstration purposes.)

In the final prototype CC2650 will be replaced by CC1350. I had started this project before CC1350 was launched, hence i am still developing on CC2650. But the RTOS that runs is exactly the same, hence in the last prototype the changes to the code would be minimal. CC1350 is a SoC which has BOTH SubGHz and BLE. So majority of the nodes will use SubGHz for data transmission, but the central node would use both.

Here is a video of the same setup in action with some explanation and showing the supercapacitor charging under ambient light.

Before programming and everything i tested the Power Management circuit. Although i had worked before with BQ25570 and BQ25505 so i knew how to deal with them but it was still necessary to test every detail thoroughly. So here is a video that has 2 tests, one on a sunny day and the other on a cloudy day. To show that the Energy Harvesting circuit is working i replaced the Ferrite Bead with a LED in series with a resistor. Whenever the supercapacitor charges to a pre-programmed level (resistor programming of BQ25570) then the internal mosfet in BQ25570 turns ON the buck converter that produces a constant 1.9V from the linearly decreasing voltage of the Supercapacitor.

I have decided to wait till the module versions of CC1350 comes later this year from TI itself. Since both of them have the same core and the RTOS, porting the code form one device to other is just a matter of one day, because of the awesome SimpleLink APIs.

So we will be working with CC2650 itself for this project.

To better illustrate the difficulties that i am addressing by this project, i have made some images -

The first version of the prototype didn't have any feedback mechanisms, which has been addressed in the later versions. The block diagrams for before the feedback is something like this -

After the feedback -


Bill of Materials

sheet - 12.84 kB - 07/24/2017 at 13:28



Bottom layer of the final prototype

Portable Network Graphics (PNG) - 85.79 kB - 07/24/2017 at 11:20



Top layer of the final prototype

Portable Network Graphics (PNG) - 106.98 kB - 07/24/2017 at 11:20



The latest version of the schematic. Has boost converter along with sensors on the solar panel side, powered by GPIO pins rather than power rail.

Adobe Portable Document Format - 43.10 kB - 07/24/2017 at 11:17



Layout, top layer

Portable Network Graphics (PNG) - 394.89 kB - 03/29/2017 at 03:56


View all 8 files

  • 1 × CC2650MODA BLE Module from Texas Instruments
  • 1 × OPT300X Ambient Light Sensor. X = 1,2,6
  • 1 × TMP112 Temperature Sensor
  • 1 × SHTC1 Humidity Sensor from Sensiron
  • 1 × BQ25570 Energy Harvestinng IC from Texas Instruments

View all 9 components


    Shantam Raj07/24/2017 at 12:12 0 comments

    After addressing all the optimizations that i posted in the previous log, i finally got around to making the hardware and testing it. Sadly there were some complications with the customs of the PCBs i ordered using Seeed Studio Fusion PCB fabrication service. They arrived much later than i expected.

    But atleast they are here and here is what the final prototype PCB looks like. I am yet to solder all the components. I will solder and test and keep on doing like that. Currently we have confirmation of the Energy Harvesting circuit from our previous prototype that works perfectly, as well as the sensors. To be honest, the sensors are the least of m concern right now, i am sure they will work just fine!!.

    I have independently tested the boost converter and it is able to provide 2.2V from voltages as low as 0.6V.

    The pushbutton and the LED also work fine. Tested that by a simple blinky code. And ofcourse, the MCU is working too.

  • More H/W optimization and some clarifications

    Shantam Raj06/12/2017 at 02:42 0 comments

    This is indeed a Log Entry. But first i would like to make some clarifications, I was going through the article written by sir and read the comments. There were some good advises and some comments that i need to clear -

    1) I think placing a pushbutton for the LED was a good idea. I have placed the LED on the side facing the solar panel, with its pushbutton on the other side. This will prevent unnecessary leakage and also act like a good indicator to show that the system is working. It is important to understand that even the smallest of LEDs consume a ton of current. Because my system consumes 1 to 3mA (actually an order less when only Sensor Controller is working) and that is less than the current used by the LED, you can tell that having them for all sorts of indication on a ultra low power device is ridiculous.

    2) I will NOT implement any sort of Display, be it the low power E-paper displays. The idea is to make the system remotely addressable and accessible. If at all you would like to have some sort of display, a better approach in my opinion would be to have that in a device that acts like a debugging system for the node. So the idea is , you walk up to the node, attach your debugging device(with the display) to the node and do whatever you want. The node will only have the debugging firmware, no physical indicators whatsoever.

    3) I am not claiming 10 years or anything. Those are for companies and there is a very detailed report by Jack Ganssle that debunks the accuracy of these claims. The only thing i am trying to do here is to show that the system runs for 24hours straight while taking useful readings. Harsh conditions for extended periods of time will definitely make the device shutdown but then instead of replacing the batteries like in current systems, my design will not need any human intervention. It will get back up online automatically.

    4) Somehow someone took it to thermostats and other devices.

    My device is strictly a data acquisition device. Its job is NOT to control something. These are meant to be used in remote and inaccessible areas(of course accessible too) for reading the environmental conditions(as of now).

    5) What about devices that DO give 10 years on battery? Well, getting rid of the battery is the point here. Do a google search on how much battery goes to the landfills every year and how toxic they are. Some countries have banned disposing batteries in landfills.

    ------------------------------------------------OPTIMIZATION--------------------------------------------------------1. POWERING SENSORS VIA GPIO PINS OF MCU

    If you look carefully, in my previous design, the sensors were powered by the same rail as the MCU. Because of that they were always ON. And none of them actually has a shutdown pin. So in the next revision, i am connecting the power pins to GPIOs of the MCU, so that the MCU has total control over when to turn ON the sensors and to reduce power consumption.


    Because we have ambient light sensors, it is important that it is on the same side as the Solar Panel so that the system knows how much light energy is available and adjust its power consumption accordingly.


    I have worked with both the ics and both have their own advantages. I think i will make a few more designs incorporating BQ25505 and a design with BQ25570 with an additional Boost Converter to extract the complete juice in the Supercapacitor. BQ25505 has a provision to connect a non rechargeable primary battery. This will ensure that the system remains turned ON when the rechargeable element drains completely.

    Picture of new design

  • Comparing Supercapacitor with Small Energy Devices from Murata

    Shantam Raj04/03/2017 at 17:51 4 comments

    Recently Murata Launched a new line of products called "Small Energy Devices". You can read about them here. Basically it's a miniature device with a high energy storage capacity, low ESR, fast charging and discharging and the ability to withstand load fluctuations. It may be used as a secondary battery in the same way as a capacitor. This energy device achieves better charge/discharge characteristics and has an extended service life superior to conventional batteries. Well suited as a power supply for wearable devices or sensor nodes for wireless sensor networks, this device maintains flat voltage characteristics while accommodating a wide range of load characteristics.



    Their benefits are -

    I have placed order for the UMAC (the top one) series and will design the PCBs accordingly.

  • Voltage Feedback

    Shantam Raj03/24/2017 at 08:52 0 comments

    Currently there is no feedback in the system. I have already started designing a PCB which has feedback. Basically the idea is to monitor the VBAT (Supercapacitor voltage) and the VSTOR(Boost regulator o/p from BQ25570) pins via Analog pins.

    I have also changed the placement of the sensors from the components side to the Solar Panel side as when it will be deployed in the fields then the solar panels will be on top and the sensors need to make measurements in that orientation. Here is how they look like (need to complete s bit of routing )

View all 4 project logs

Enjoy this project?



Danie Conradie wrote 05/27/2017 at 17:17 point

Excellent work. Thanks to you I found out about the CC1350/1310, which looks like the perfect solution for a project I'm working on. The energy harvesting will also come in handy

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates