RAK solar node automatic restart, after brownout, upon eventual solar re-charge?

Can a solar node using the RAK (wisblock) wake up automatically when, following the battery system powering it having gone flat due to lack of sun, the battery is eventually recharged when the sun shines again? There has been discussion about a wake up / restart needing a manual intervention like pressing a reset button or unplugging and re-plugging the (solar re-charged) battery. This issue is really important in case the node is placed somewhere inaccessible
(e.g. placed and left high on a building or pole to be ‘forgotten’). Does the node keep going for ever (when sun shines enough, baring other issues) or does one need access to it, after a power loss due to lack of sun, in order to perform a manual re-set action?

I found, with the following setup, by testing with a lamp and using attenuated light where the panel was struggling to charge the battery, that the RAK does restart, when the sun charges the battery system again, after being off due to lack of sun and the battery having run flat.

The light source was a 100W incandescent bulb, 10 cm from solar panel, with two 80 gsqm white paper covering the whole panel. Like this, it took 40 mins for the waveshare to charge and the RAK to start up after being off.

The setup uses a separate solar power management circuit from Waveshare and NOT the solar and battery connections built into the wisblock.

I did the test with a small (1100 mAh) protected battery i.e one that has itself an automatic low voltage off switch. This 14500 battery is in the Waveshare solar power management circuit’s built-in holder. This battery choice was merely to test the circuit response and because that is the size of the battery case in the Waveshare version I was using. In practice one would want a much larger battery to keep the node going for many days when the sun is absent for many days.

(Many folks use for actual solar nodes at least 3500 mAh, which in my tests can run the RAK for about 5 days when there is no sun.)

The waveshare solar power management circuit has an input for a larger battery - one does not have to use a battery that fits into the holder on the circuit-board.
I will test with other, larger, protected batteries in future to see if this positive result indicating automatic restart of the node following brownout, works for those larger ones too (given the slightly different protection circuits that they might have).

I do not know if all this works just as well for unprotected batteries. I am told that the Waveshare D model (different to the one in this test) (see here https://www.waveshare.com SKU 26363 ), has the same effect due to a low battery voltage range cut-off and high voltage switch-on, which I presume works for unprotected batteries too, but I have not yet tested this.

Parts list:

In my test the Radio Configuration - Power - Power Config was set to OFF in the Meshtastic Android app.

Solar panel: Solar Panel (6V 5W) - glass - Opencircuit

Node: RAK Wisblock + Lora = SKU: 110082 und SKU: 115000

Waveshare Solar power management circuit: Solar Power Management Module, for 6V~24V Solar Panel - Opencircuit

containing the following PROTECTED Battery - Part number
12073 from https://www.akkuteile.de

The RAK was plugged into the Waveshare solar power management device by a USB cable.

If not, than you can adjust ADC multiplier lower to shutdown over 0% capacity. Set device as ROUTER to auto resume after 24 hours.

Is this setting in the normal Andoid app Radio Configuration menu, or is it something / somewhere else? Cheers.

See “ADC multiplier override ratio” power settings. This depends on your hardware.

The default setting is e.g. 2.0 for 3.1 voltage = 0% capacity. If you overwrite this value with 1.8, the voltage of 3.4 is interpreted as 0% capacity.

As a result, the firmware switches off earlier at 3.4 voltage instead of at 3.1 voltage and you get a buffer for several restarts to check the charging by the solar panel.

A side effect is that the display no longer shows 100% capacity because the upper voltage also shifts from e.g. 4.2 to 3.9 volts.


This topic came up just recently on the Discord server. Apparently, NRF52 devices like the RAK4631 do not power-down when Meshtastic detects a low voltage. Changing the ADC multiplier might be a workaround for other platforms right now, but not for NRF52.

(Edit: @kilroy points out below that there is a makeshift sleep state used with some NRF52 roles)

It does seems like without some sort of extra battery management circuitry, and with unprotected cells, batteries could fully discharge and /or reach a low enough voltage for the hardware to “get stuck”, requiring a manual reset.

Disclaimer: this is just my understanding from playing with the hardware on my desk; I don’t actually have real-world experience with all this.

If the power has been removed from the RAK4631 device by an external battery system, it will restart when power is reconnected.

Having an external battery system disconnect power to the RAK4631 is probably a good idea, and I’m not sure if there is a better way to deal with a low voltage situation right now. It’s worth mentioning though that there’s also a very small risk of corrupting the flash memory, if the power is removed during a write operation.

I know there’s a whole group of people more knowledgeable about this than me on the Meshtastic Discord server, in the #solar-power channel


Thank you very much for your explanations.

Don’t the other platforms have deep sleep? This is very relevant for the SENSOR mode, where the ESP only consumes 60 uA in deep sleep.

To be honest, I’ve only worked with ESP32 and NRF52 stuff so far. NRF52 does have a proper deep sleep mode, however unlike ESP32, it can’t wake itself from this state on a timer.

The power-consumption of NRF52 is low enough, that if left idling correctly, it will only draw a few µA. I think this is a good substitute for ESP32 deep sleep.

(Edit: @kilroy points out below that this type of power saving is used with some NRF52 roles)

I’ve noticed though, that with the RAK4631 / RAK19007, this is only effective while the battery voltage is above ~3.6V. Below this voltage, the current increases, reaching nearly 1mA, as the power supply transitions from using the buck regulator to powering the NRF52 directly(?). Once the voltage drops down to ~3.3V, the current reduces, closer to 0.1mA.

The code which specifically avoids using deep sleep with NRF52 is here: firmware/src/Power.cpp at 4f906ae3ae49a2f9a2e6f9ed5bc9a1921c53882c · meshtastic/firmware · GitHub


does sensor/tracker mode work on ESP devices ? i have not yet gotten my esp devices to do that…
especially Heltec capsule V3… would be very interested to get that to work as a tracker…

My workaround for solar router- Rak (nrf) devices: i install the Rak temperature sensor on all solar devices. when i see, that voltage is going down towards 3,8 and below, i use admin channel to set device to sensor mode (temperature) reporting temperature and device telemetry every 3600seconds (1h) power saving enabled (wake time 200seconds)… that way, the device sleeps for 55+ minutes and consumes just around 1mA instead of 10mA… when voltage is going back up, i have to wait until it gets active, and disable power saving by admin channel.
this is all “manual” , not automatic…


Admittedly I haven’t tried out sensor mode before. I did see that NRF52 does have some sort of optional power-saving behavior with a few roles (tracker, tak tracker, sensor). Looking at it again now, I see that this is actually very similar to something I’ve been playing with privately, although the current Meshtastic code there doesn’t seem to be shutting down LoRa for the low-power state, so there might be some extra power savings possible.

This video was for me a learning experience and seems very related to this issue https://youtu.be/BqwUNOHiZ9k


I’ve used the green power module from RAK (19004) in-between the solar panel and the rak onboard solar charger and this worked for me but I think my panels are 5 watts at 12volts.

Great tip. I was looking for one of these and did not realise RAK have it covered! I was looking at this LM2596S DC Spannungswandler Spannungsregler LM2596 Arduino Board Step Down Modul Raspberry Pi – MAKERSHOP.DE or this https://amzn.eu/d/fPzVtcx

I missed where you stand on this topic… no more waveshare regulation including a 3
7 battery ? Why a stepdown? Should be nice to share. Am looking for the same need… thanks

I’ve heard setting a node to router makes it a bit annoying, especially if it’s not actually in an awesome location. Normal defaults won’t restart when power is restored???

I love the extra real world research you’re doing here. I’m planning on putting a few solar nodes up, and barring lightening strikes, I’d like to NOT have to mess with them anytime soon.

The basics of what we need here:
Meashtastic node
Solar panel
Battery management software BMS

When the Sun done shine for days, it needs to turn off gracefully, then turn back on.

Batteries don’t like to be at 100%, or at 0%, and for longevity, should have both a high and low cutoff with the OUT and the IN.