Router mode consumes large amount of energy

I’m new in the meshtastic community and tried to find an answer on my problem in the forum.

I’m using a LILYGO® TTGO Meshtastic T-Beam V1.1 with latest firmware 1.2.59. I tried to set the device into a mode with low power consumption using the command “meshtastic --set is_router true”. I measured the power consumption before and after using this command and both with USB power (without inserted battery) and battery power (18650, without USB connected).

In all cases, the power consumption is in the order of 110mA, and by far not the expected 11mA for the router mode.

I’m struggling to find my mistake and would be very happy, if someone with more experience could enlighten me what I have to do to get this device into the low power mode. Thanks in advance.

1 Like

Can you post your settings?

I used the following command:

meshtastic --set is_router true
Connected to radio
Set is_router to true
Writing modified preferences to device

With the command: meshtastic --info I get the following info:

Connected to radio

Owner: Unknown 2760 (?60)
My info: { “myNodeNum”: 4145948512, “hasGps”: true, “numBands”: 13, “firmwareVersion”: “1.2.59.d81c1c0”, “rebootCount”: 9, “bitrate”: 17.08847, “messageTimeoutMsec”: 300000, “minAppVersion”: 20200, “maxChannels”: 8, “hasWifi”: true, “channelUtilization”: 8.763333, “airUtilTx”: 0.35311112 }
Nodes in mesh: {‘num’: 4145948512, ‘user’: {‘id’: ‘!f71e2760’, ‘longName’: ‘Unknown 2760’, ‘shortName’: ‘?60’, ‘macaddr’: ‘30:c6:f7:1e:27:60’, ‘hwModel’: ‘TBEAM’}, ‘position’: {}, ‘lastHeard’: 1647956356}

Preferences: { “phoneTimeoutSecs”: 900, “lsSecs”: 300, “isRouter”: true }

Channels:
PRIMARY psk=default { “modemConfig”: “Bw125Cr48Sf4XXX”, “psk”: “AQ==” }

Is this the information you are looking for?

Do you know which GPS chip your board has?

The GPS chip is NEO-6M-0-001. From specs I understood, that the chip could consume up to 67mA.

Try setting a fixed position and measuring without any other devices on so that you can ensure it is sleeping which is the only time you are going to see a lower draw.

Also if you have any wifi services on it is going to use a ton of power.

I did the measurement after the command

meshtastic --set fixed_position true

also tried

meshtastic --set gps_operation GpsOpDisabled

But both had no effect on the power consumption, which is strange. Should these commends have an effect also when device is power through USB, or only battery (but also for battery powered device, I see no changes). Or is it necessary to restart the device such that changes get effective?

Do you have particular commands in mind, that could turn off all devices and would allow to turn on the devices step by step, to allow to identify which parts have which contribution? I’m still confused, that the is_router command has no effect at all.

It needs to be on battery and asleep to get to the lowest power draw, Reboot it and wait 5 minutes and then measure (with no mesh activity). Not sure where the 11mA number came from but it seems optomistic for an esp32, might have been lower a couple of years ago.

What really is the difference between is_router and is_low_power mode, and, which one is more optimal for a dedicated battery/solar node?

You don’t need to set is_low_power if is_router is on.

I turned the device into router mode (Set is_router to true), restarted and waited for 5 minutes. My current measurement when battery is connected shows either 90mA or 180mA, the device is switching between these two modes every 2 seconds, without a clear pattern or any activity from outside (not connected to app or so).
To rule out any problems with the measurement setup I just ordered a better multimeter for the measurement, which should arrive tomorrow. I’m pretty sure, that the measurement is correct, but I would like to be 100% certain.
Do you have any proposal, what I can test further to get behind this high current drain?

During a second measurement, the current varies between 90 and 100 mA in the router mode.

Is there a bunch of mesh activity? An esp32 is not going to be at 11mA unless it is totally asleep, I am not sure in router mode if a tbeam is ever this low. The esp32 is definitely not the choice for solar a nrf52 is much more efficient, a tbeam should last 24-36 hours on battery are you seeing shorter times than that?

That’s a good alternative, since we are just starting to build up our mesh, we could go for the best option for the solar powered units. Which LORA device (GPS not needed) with the nrf52 chip would you recommend? Will a hybrid mesh work, where the hand units use the Esp32 and the routers the nrf52?

Actually, the tbeam lasted exactly the 24-36 hours with a fully charged 18650 battery (3400mA), which fits with the results of my current power measurements.

Ok, so my real question is, what is the optimal setting to us? Is it “is_router” true? In another post someone recommended I turn it to false, but perhaps that was just because I was doing testing… so I don’t know.

I guess I don’t understand what the point of both settings are. The settings some contradictory to me - is_router seems to keep things live, while power_low seems to focus on minimizing draw. If there is other documentation beyond what is listed here (Power Settings | Meshtastic), I am happy to self help and research on my own.

is_low_power tells the device to preserve power even if it thinks it has USB connected which is often necessary for solar systems. is_router turns off wifi and ble faster than normal and includes is_low_power

2 Likes

Just got the new multimeter and was able to confirm the former measurements, the current is in the range of >90 mA, varying of time.

That is about right for a tbeam I think. I have never gotten much battery extension from is_router unless the router is out of range of all of your other devices for a while and actually goes to sleep.

That’s a cool meter by the way.