Autonomous operating sensor nodes need wireless communication and wireless powering.
For a battery-powered IoT node buffered by a solar cell, I use the WisBlock ecosystem to build this IoT device. The RAK19007 WisBlock Base Board 2nd Gen is an excellent approach to use as a baseboard for WisBlock Core and WisBlock Sensor modules. RAK19007 supports low-power battery power supply, lithium (LiPo) battery charging, and solar panel charging of a connected LiPo battery.
RAK4631-R is a low-power WisBlock Core based on nRF52840 MCU and a SX1262 LoRa chip offering BLE and LoRaWAN. RAK4631-R is equipped with RAKwireless Unified Interface V3 (RUI3), significantly simplifying software creation for IoT nodes. For the programming of the application, I use the RUI3 API.
The battery discharge must be balanced to ensure the autonomous operation of such an IoT node. The RAK19007 baseboard can recharge the battery by connecting it to a solar cell and sufficient sunlight.
I use an RAKBox-B5 Transparent Acrylic Enclosure to operate the test device safely, bearing in mind that it is not weatherproof. An advantage is that this enclosure already has a battery holder for a LiPo 18650. I like to use this type of LiPo battery because, due to the shape of the case, they are more easily manageable than conventional LiPo batteries.
We get the device under test with these specifications, as shown in the following image.

RAK19007 does not have a power management system like AXP192 or similar; therefore, only the available voltages can be used to check the LiPo battery’s charge level.
The battery voltage VBAT is measured using a voltage divider available on analog input AIN0 of the RAK4631-R MCU. For measuring the Green Power voltage, analog input AIN1 is available on the J11 Header of the RAK19007. A voltage divider is also required there.
In a practical test, I will record the two voltages Vsol and Vbat and use them to form the quotient State = Vsol/Vbat. If Vsol > 1, the battery is charged, and the solar cell supplies the device. If Vsol < 1, the battery must source the device and will be discharged.
Different communication solutions are available for an autonomous working IoT node. I use LoRaWAN here and will test NB-IoT as an alternative where no LoRaWAN coverage exists.
LoRaWAN Communication of IoT Node
The test has been completed and shows that the solar cell easily compensates for the low power requirement of LoRaWAN communication during the day.

NB-IoT Communication of IoT Node
I took a two-step approach.
First, I put the NB-IoT Communication into operation without paying attention to the power consumption. Here, the modem is permanently switched on. The following daily battery voltage curve shows the expected result.
On a sunny day, the recharge can compensate for the capacity loss over the day. This compensation is not possible on cloudy or rainy days, and a lost connection follows.

As expected, we have to reduce the power consumption while the device is not sending data. This was implemented for the LoRaWAN node from the beginning. This brings us to the 2nd step.
Based on the program structure of the LoRaWAN application, the NB-IoT application implements a timer-controlled reboot and uses the loop() function for going to sleep only. This means that all program activities have to be placed into the setup() function. The setup() has to implement the following functionality:
- Setup serial interface for the console
- Setup LoRa P2P (only when LoRaWAN was running and connected to LNS before)
- Setup reboot timer and its handler
- Setup serial interface to RAK5860 (BG77 modem)
- Initialization of ADC for voltage measurement
- Initializing and connecting the modem
- Connecting HiveMQ MQTT broker
- Reading voltages of solar cell and battery
- Build and send MQTT message
- Switch off modem
- RAK4631-R going to sleep
This procedure is finalized in less than a minute, and the entire device goes to sleep. After four more minutes, the timer reboots the device.

In very different weather conditions, measurements taken over the last few weeks show that solar radiation balances the battery capacity.

The device is running since 12/2023. Here, you can find the actual data of the RAK Sensor Node with NB-IoT Communication Public Link.
2023-12-02/CK
2025-05-05/CK changed
Ein Kommentar zu “Solar-buffered WisBlock Node”