Heltec MeshTower resets its configuration itself

Hello!

I bought a meshtower. After about 25 hours, it stopped communicating. It’s unavailable on the meshtastic network or via Bluetooth, but the 3.3V light on the board is on, indicating it’s working.

I turned it off using the “shutdown” button, then turned it back on. I was able to connect via Bluetooth, but all the settings were reset to default.

After reconfiguring, the node worked for about 11 more hours, and then the same thing happened. This time, I rebooted it using the one tap “cpu_rst” button, and the configuration also reset to default.
(The device is charged to more than 90%)

There is a suggestion that the configuration is reset due to unstable power supply (but this is not certain…)
I just tried connecting to the BMS via the MeshSolar WebSerial Tool. It sees the “TinyUSB Serial” COM port and says “connected,” but the data on the page isn’t updating.
I tried putting it into DFU mode and setting the COM port to “nRf Serial” – the data on the page isn’t updating either.

I tried forwarding the COM port in the Meshtastic firmware as described in the instructions at https://wiki.heltec.org/docs/devices/open-source-hardware/nrf52840-series/mesh-tower/Usage#meshtastic-serial – I also can’t get data on the BMS management page.

I tried connecting on two different computers running Windows and one running Ubuntu.

Can you tell me what I should do to get information from the BMS and how to prevent the meshtastic settings from being reset to default at any given time?

2 Likes

I experience the same, meshtower becomes unresponsive after some time. after 23 hours uptime, 3 days uptime. I see no (time) pattern.

It’s unavailable on the meshcore mesh but the led on the board is on (red). Happened while battery is charged. Only way to restore functionality i found is to use shutdown + reset button, which resets configuration i think.

I noted that this was also present when the meshtower arrived from shipping. It states in the guide:

If the serial port cannot be detected, the device may have entered low-power mode. Please press the RST button once to restart the device and connect to it before it enters low-power mode again.

I will leave the meshtower now in the “bricked” state, and see if over time it will exit this presumed low-power mode, also when sun hits the solarpanel.

2 Likes

Since running the nightly firmware which contained some nrf52 related fixes, the meshtower seems stable so far for 4 days now.

Edit: bricked again after 4.5 days uptime

Both of my 2 MeshTowers hang up each 3-5 days. They are not usable, right now…
I tried Meshtastic AND MeshCore - the same output

1 Like

Is there an english iOS HowTo for the meshtastic-serial description??

Further findings:

  • Red light stays on while not responsive
  • Does not happen while on usb c connection
  • only comes back alive with 1 press on RST (!! long press resets configuration), or by plugging in usb-c
  • Happens between 1 hours and 5 days

I guess some kind of deep sleep / low power mode is triggered while battery is charged

If your TOWER device freezes, please try the following steps:

  1. Forget the device in your phone’s Bluetooth settings.
  2. Open the casing, connect the device to a computer, and double-press the RST button to enter DFU mode.
  3. Flash the erase firmware, available at:
    https://resource.heltec.cn/download/Mesh_Node_T114/firmware/meshtastic_meshnode-T114_erase_settings.ino.uf2
  4. Flash firmware version 2.7.15:
    https://resource.heltec.cn/download/MeshSolar/firmware/firmware-heltec-mesh-solar-2.7.15.567b8ea.uf2
  5. Press the RST button.
  6. Reconnect via the app and reconfigure the device.

I have 2 MeshSolar nodes. I am having the same problems with both. I had one running for about a week sitting outside on a table…No problem. Fast forward…Node placed on 30 foot tower…all is well for 3 days. Then DEAD. No biggie I have the 2nd node ready for a swap. It did the same exact thing. Now I have to get the tower climber back over here to remove the 2nd DEAD node. So I have been refreshing the first failed node. Followed the instructions that Richard3366 posted. Set it up again. Still acting like the LoRa and Bluetooth are not transmitting. I do know that the latest phone app has bluetooth connection issues. I have spent days and days working this MeshSolar problems.

Latest Findings on Device Freezing Issues

  1. Firmware Version
    In Meshtastic firmware versions prior to 2.7.15, there was a known Bluetooth issue that could prevent devices from being discovered or connected. In such cases, it is recommended to perform a full erase and upgrade to the latest version.

  2. Hardware Cause
    The nRF52840 chip has a long-standing issue where it may lose configuration or freeze under unstable power conditions.
    In the case of MeshSolar, if the battery power is too low or other factors trigger the protection circuit, the battery supply may be cut off. If there is faint light (e.g., at dawn), the solar panel may attempt to power the MCU directly, but the voltage is low and unstable. This can cause the nRF52840 to repeatedly power on and off, eventually leading to configuration loss or device freezing.
    Disconnecting the R23 resistor (which controls the battery shutdown switch) can significantly improve this situation.

A more permanent solution would involve implementing a hardware watchdog, which we plan to include in future versions.

1 Like

Rather than annoying the heck out of the local radio spectrum &/or compromising any settings being written at the time of reset, you could go with a sub-20c voltage supervisor chip - holds a device in reset until the voltage is at an acceptable level. Then firmware can look at the power state before doing anything serious and if it’s only barely charged, go in to deep sleep for a while, rinse & repeat until power is good.

1 Like

This is indeed an excellent proposal. We have already planned to explore this direction, but relevant experiments have not yet been conducted. We will provide updates after testing.

My meshsolar is struggling, just as the others are reporting here. It is sold as a device that can be placed outside for autonomous operation. Having to reset and reconfigure the device every couple of days basically makes this device useless for the purpose.

Although I appreciate the active explanation and support, I get a very distinct feeling that we are all involuntary beta testers, and unknowingly paid for that privilege. This product simply isn’t ready to be sold. Will you send me an updated version of your product once it has passed QA?

I follow the steps, adjusted discharge temp to -20 (default is 0), will post updates :slight_smile:

I have 2 of these nodes ( node1 and node2). After re-setting the node1 10’s of times…I have set the Temp Protection setting to 45c and ALL of the Low Temp to -35c. I left the node running in the house for 3 days then moved it to a spot outside where I can get to it (NOT 30 feet in the air). Anyhow It has not failed yet…4 days out side in 25F to 32F night time temps. Now I need a warm day to bring the dead node2 30 feet up back down and reset it. I have two of them. I am using ver2.7.15 of Meshtastic on node1. Node2 has ver2.6.4 if I remember correctly. Our temps in Ohio can vary from 110F to -39F.

@richard3366 erase-flash, update etc + setting discharge to -20 didn’t resolve the issue, as it just froze again.

if the battery power is too low or other factors trigger the protection circuit, the battery supply may be cut off.

There were no obvious triggers for a cut-off, charge still ~90% but

If there is faint light (e.g., at dawn), the solar panel may attempt to power the MCU directly, but the voltage is low and unstable. This can cause the nRF52840 to repeatedly power on and off, eventually leading to configuration loss or device freezing.

The latest freeze (just now) did happen when the sun came around late in the afternoon.

Are you advising to bypass the R23 resistor? Or what is the plan here?

I’m curious to know, when @richard3366 said “Latest Findings on Device Freezing Issues”, was this somehow interpreted as being a temperature related issue?

If so, the phrase relates to the processor getting stuck - frozen as in not moving, not frozen as in the temperature.

Most commercial electronic components are spec’d to 0 to 70℃ and industrial can do -40 to 85℃. If a circuit is in a box, it tends to be warmer than air temperature as the activity generates heat, so for casual use, commercial components in a relatively well sealed case can do sub-zero temperatures. MCU’s tend to work down to very low temperatures - small thermal mass, they keep themselves warm and no liquids.

Batteries however are a whole different thing and no settings can get around the fact that they are chemistry based with enough liquid / sludge / goo that their power delivery capacity falls off a cliff when they get cold. And whilst you can get power out of a LiPo at -20℃, they shouldn’t be charged until they get back to 0℃ - which in real terms means doing nothing more than sending a message out that says the unit is too cold to do any serious work.

So the min/max temperature settings are about turning off charging for the specific chemistry of the batteries in use so they aren’t damaged (charged whilst too cold) or exploded (charged whilst too hot). The settings can’t make things work because the environment is out of limits.

Insulation &/or some heater element can help, as long as the solar panel can run a heater as well as charge. If the battery case is closed from the elements and insulated, it doesn’t take much to warm up the batteries via solar with a 10W resistor - sometimes even taking power from the batteries themselves if you can juggle the numbers on using battery power to enable the solar to then make up what was used and some more beyond.

Your next challenge at this point is keeping the solar panel clear of ice & snow …

The issue is that the device is going to an unresponsive state (frozen) while temperature and battery charge are within parameters. This remains, no recovery until RST button is physically pressed; there is no other way to regain normal operation.

As suggested, low light on panel during protected state (while out of boundary temperature/low battery) might be causing the issue. I am stating that the unresponsiveness also happens while within the BMS parameters, so during normal operations with no sleep/protective mode.

I understand that.

What I was querying was the bit about changing the discharge temperature threshold which will only help if the unit’s batteries are dropping below freezing. I don’t see @richard3366 suggesting this as a change.

What would be useful as a test would be to locate it somewhere where permanent power can be applied to see if it can run for many hours/days without issue.

As the default for discharge temp is 0, lowering this value would reduce the occurrence of the low-temp battery protection node, where @richard3366 noted that the issue might occur (low light during protected mode).

I observed the issue also occurring while in normal mode. As such, the statement that the issue occurs only in protected mode isn’t applicable.

1 Like

Have you been able to find a way to change bms setting?