SoLoRa - Solar Powered always-on IoT sensor node

Unique, compact power conditioning enables always-on sensor monitoring and Long-Range radio (LoRaWAN) link for IoT applications.

Similar projects worth following
This wireless IoT node uses solar power and a mini power wall-like system to provide always-on power for its sensor and control circuitry. The power conditioning circuit is the heart of this design. I will demonstrate the principals and trade-offs in the power system design and present calculations that can be used to customize component choices and budgeting of sensor and communication duty cycles.

The hardware design I am presenting is a general purpose board and is designed to be customizable for use with almost any sensor and or actuator. I wanted this node to be a starting point and motivation for fellow members of my local Makerspace and members of our local TTN (The Things Network) community. Therefore the priorities of my design are as follows.
* Always-on (no batteries to replace or maintain)
* Low cost
* Easy to build
* Easy to program
* Flexible: Room for customization and expansion.
* Small size
* Dust and water-splash tight
* Open source

Detailed design analysis on the power management and software systems used on the SOLoRa board will be presented in an upcoming post.

The hardware features of the SOLoRa board include:

  1. Low-cost components.
    1. Inexpensive standard components in novel configuration are used instead of specialize energy harvesting ICs
  2. Easy (ish) Assembly.
    1. QFP package processor and 0603 Rs and Cs.
    2. Can be soldered by hand using standard soldering iron. One exception is the accelerometer, which can be soldered using a reflow heat gun and a little training.
  3. Arduino compatible: Uses the same device as the Arduino Zero. Uses Arduino bootloader.
  4. Featherwing compatible: Can use with Adafruit’s Featherwing expansion boards or use the header for a protoboard mezzanine
  5. Multiple power options to targeting additional IoT applications, particularly field applications
    1. Solar. The main subject of this blog.
      1. a CR123 battery clip for a LiFePo4 battery used as a power reservoir. (~400mAh)
      2. On-board regulator charges LiFePo4 to constant voltage.
      3. Solar cell size constrains max charge current.
    2. Rechargeable Li-Po or external battery pack
      1. For standard indoor applications
      2. On-board USB micro connector and charger IC
    3. Lithium (primary cell)
      1. Battery clip will also house a standard CR123 3V Lithium, which has ~1000mAH capacity
    4. USB 5V for desktop development (or use with a USB battery bank?)
      1. On- board adjustable regulator
      2. Change Resistor values to adjust VDD
        1. Adjust to 3.3V to regulate Li-Po or external battery pack and USB 5V
        2. Adjust to 3.5V for LiFePo4 constant voltage charging.
  6. Small size: 2.3 x 2 inches
    1. Has mounting holes to match an inexpensive water tight enclosure
    2. All components mount on one-size only. Bottom is free to increase mounting versatility.
    3. 2-layer board, cheaper to fabricate.
  7. Optional on-board sensors, indicators
    1. 3-Axis Accelerometer
    2. Temperature
    3. Programmable Red LED
  8. Development Options
    1. Arduino IDE (use as an Arduino Zero)
    2. Atmel Studio
      1. Atmel Studio has Arduino templates to program like Arduino, or use standard C form
      2. Full debugging capability (breakpoints, watch variables). a  $20 JTAG debugger hardware required for this feature


Latest SOLoRa Board Schematics

Adobe Portable Document Format - 46.30 kB - 07/30/2018 at 01:12



Current Budget Excel spreadsheet

sheet - 65.25 kB - 07/25/2018 at 04:58


  • SOLoRa Power Management Circuit Description

    Joe Miller07/30/2018 at 01:05 0 comments

    The SOLoRa board was borne out of the desire to make a hassle-free, set it and forget it design, that could be affordable, expandable and buildable by most hobbyist. I hope I have achieved these goals with this design while having to make tradeoffs to balance these features.  I began with wanting to use the low-power features and Arduino Zero compatibility of the SAMD20 microcontroller. For expandability and flexibility, I included breakout pads for Adafruit Featherwing headers. Whether they be used to attach Featherwing boards or for general purpose prototype mezzanine boards is up to the needs of any project. I chose the RFM95 LoRa Transceiver board because of the ease to soldering, cost and compatibility with the existing and proven LMIC LoRaWAN library. The low-cost temperature and accelerometer devices were added to fill left over board space for test and demonstration purposes.

    SOLoRa Flexible Power options

    Solar powering this node was the main power source of choice for this board, but I saw some cases where other power sources would be more appropriate so when I designed the power section I attempted to make it configurable. The board can be powered by USB, which is good for development or permanent indoor applications. It can also be powered by a LiPo and even includes a LiPo battery charger IC. An external battery or other unregulated power source is also possible with this design. Two key design elements make the always-on solar power practical are the low reverse leakage regulator and the reservoir battery (or power storage cell).

    The complete power management circuit of the board is shown in the schematic below (see the files area for the complete SOLoRa schematic). The Solar versus LiPo or external power option are enabled by selectively installing the components that support that option. USB power option will always work and will override the other two power options while it is plugged in.

    Storage Cell

    Notice that the storage cell is connected directly to VDD at the end of the power management circuit. This is key.  I used a LiFePO4 cell here because it reaches full charge at 3.6V. This voltage is also the typical maximum guaranteed operating voltage of most electronic devices and components. This means that an additional regulator between the storage cell and the main circuitry is not required. On the SOLoRa board, I set the regulator to 3.55V to add a bit of margin.


    The LiFePO4 battery capacity is also less sensitive to charge voltage if the charge voltage is 3.4V or above, see diagram above. In addition, The LiFePO4 is also less sensitive to overcharging and does not exhibit the thermal runaway issues like LiPo and Li-ion batteries. The SOLoRa power management circuit acts as a “float” charger. The charge current is limited by the solar cell maximum output current.

    The Regulator Design

    Employing a super-efficient energy harvesting circuit is a very good idea. I, however, went with a linear regulator with modifications because the advantages of this circuit really added up. Basically, a linear regulator is very inefficient compared to a switching regulator. I have used the TPS62740 switching regulator on many of my professional designs. It is an excellent regulator. It’s efficiency, especially at low current, is very hard to beat. Two things against it, this project, is that It costs more and is not easy for the typical hobbyist/maker to solder. The BQ25505 energy harvesting IC is another very good part when you are trying to squeeze every Coulomb of current out of a power source and deliver it to your circuit. However, it too is hard to solder, cost more than $5 USD and still requires more support components including a regulator on its output.

    What about the terrible waist of energy a linear regulator brings to a low-power design such as this?

    The Fact that I can still make my current budget with my preferred solar cell is the...

    Read more »

  • Current Budget Tool

    Joe Miller07/24/2018 at 19:24 0 comments

    First (full) power budget spreadsheet completed and added this project. This spreadsheet, tailored to the SOLoRa board, is a vital design tool to properly analyze all aspects of a system design for always-on IoT node with intermittent power harvesting input.  In my initial feasibility study I performed notebook calculations with a mix of early empirical data and best estimates. This spreadsheet's calculations, and the data contained within, more accurately models the actual circuit performance.  The microcontroller's sleep current is much higher than I like so I will continue working on reduce it. Even with the 500uA sleep current, as shown, my power budge is feasible.  The input parameters of the budget worksheet shown below uses conservative settings for Spreading factor (10), with 7 being the lowest power consumption. The output power is also set to 20dBm, the maximum. After site testing, one could lower these values to increase budget margins.

  • Power Primer

    Joe Miller07/15/2018 at 07:26 0 comments

    The challenges of always-on power with intermittent energy harvesting

    When energy from the main power source is available, current (A1) feeds the energy storage cell and the main circuit with power. Ideally, while power is being generated, it is desirable for A1 = A2, which means there is no power loss through the power management circuit.  Also, when the power source is not available and the power storage cell supplies power to the main circuit (path A3) it is ideal that none of the main storage cell's energy is lost due to reverse leakage back to the power management circuit (-A2). 

    In the end, the average current over time (Ah) provided by the power source (A1) must be greater than the time-use percentage of power consumed by the the Main Circuit (A3) plus the time-use percentage of reverse leakage back to the regulator when power is not available at the main source plus any A1-A2 loss (Power management leakage). 

    Power Management Design Trade-offs

    These trade-offs directly affect the always-on design margins when used with intermittent power sources. 

    ComponentFactors that improve design marginsTradeoffs
    Solar CellLarger or more efficient panelCost
    Power ManagementEfficiency
    Integrated vs discrete solution
    Cost, size, time
    Main Circuit (software)Lower Duty CyclesLower data rates
    Main Circuit (microcontroller)Lower core Voltage
    Peripheral management, sleep modes
    Lower process speed
    Complexity (dev time)
    Main Circuit (Sensors)Lower power, faster integration periodPrice, quality
    Storage CellSize is dependent on multiple factors
    given above
    dependent on other
    design parameters

    Another factor that affects always-on power margins are the site dependent equivalent solar hours per day. This site dependent variable is used in calculation as a weighting factor for the above design trade-offs.

    Of course all these factors are to consider the overall design priorities and specifications. For instance a priority on my design includes easy to assemble, low cost and flexibility. This has shaped my design, most considerably in the Power Management circuit. I could not find an off-the shelf solution that satisfied these three goals so I design my own solution, a hybrid of an adjustable linear regulator with a shutoff circuit to prevent leakage back into the regulator.  The idea of using a linear regulator is not the first topology one would think to use in a circuit with high efficiency ambitions, but the number work out. I will show my calculation and justifications in an upcoming log.

  • Received PCBs Today

    Joe Miller07/12/2018 at 19:10 0 comments

    This is the GIT repo for the PCB design:

    Alternatively, I put my design up on the Seeed Studio Fusion Gallery, so you can order them directly from them. Search for SoLoRa . Cost is ~$1/board with shipping.

    Note: These just arrived so I have not yet tested them. 

  • Power Train Prototype and measurements

    Joe Miller07/11/2018 at 21:30 0 comments

    This is the prototype of the power train for the project. I used this to measure its characteristics.

    Power train prototype

    In full sun I measured 90mA of charge current into my LiFePo4 battery when perpedicular to the Sun and 60mA. 30mA on a cloudy day and 23mA when tilted at 45-degrees to the apparent Sun direction.  500uA in shade, not pointing at the sky.  20mA of charge current was measured through a window in my house pointing at a blue sky (the Sun not in view).

    The back-leakage from the battery storage cell to the circuit with no sun was ~1uA, ~6uA at dusk and dawn conditions.

View all 5 project logs

Enjoy this project?



neilh wrote 11/21/2019 at 18:14 point

Hi Joe, I'm from the SoLoRa meetup, and saw your board. 

Thanks for putting all the detail on the design. I did find your sw examples  

I'm just wondering, if they are uptodate, reasonably recommendable.  I used a LMIC tutorial from elsewhere but it had some unreliabilities in it, so scouting around for a working reference example.  many thanks Neil 

  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