meshtastic / firmware

Meshtastic device firmware
https://meshtastic.org
GNU General Public License v3.0
3.03k stars 725 forks source link

[Feature Request]: Option to turn off LED inducators on ESP32 Heltec V3 #3635

Closed punkpar closed 2 months ago

punkpar commented 3 months ago

Platform

ESP32

Description

Please can we have an option in the Android app to turn off the blinking indicator LEDS when connected to USB power. It lights up the window and room at night in which the Heltec V3 is in.

djoris commented 3 months ago

in my opinion, that would be a great option. Preferably the user could choose to have the LED always off, always blink, or blink when there's an unread message. I'm not exactly sure how the different LED indicators work on different boards. As I see it now, the bright white LED on many Heltec boards just blinks every wake cycle or so, while other boards also have a power on LED, a GNSS LED...?

todd-herbert commented 3 months ago

I suppose one function of the blink is that it indicates the crucial OSThread system is still running happily; not bogged down with one big blocking task. I'm not sure whether this was the original intention.

It lights up the window and room at night in which the Heltec V3 is in.

I could certainly see the benefit in having a setting to disable the blink, for situations like this.

[it could] blink when there's an unread message.

This could be another useful option, certainly on boards with only the one LED. There is already support for an alert LED, through the External Notification module. It would actually be fairly straight-forward to allow repurposing of the blink LED for alerts through this module. This isn't as user friendly as a simple toggle switch in settings would be, but it would avoid the hurdle of getting a new setting added, so it might make a good back-up option?

garthvh commented 3 months ago

Problem is that we generally only control one or two of the up to 4 led's.

todd-herbert commented 3 months ago

Going to have to implement at an even lower hardware level: covering LED with tape

Sniffleupagus commented 3 months ago

I implemented this last week as a user configuration option, and stalled on "now how do I check this in since it depends on a change to protobuf, and that seems kind of major..." I was imagining "dark hours" to not blink during certain (or all. or none if you're into that sort of thing) hours, instead of just a. boolean, but so far I only implemented the boolean.

Is the hurdle of adding a config option a big one? And how would one go about such a thing?

todd-herbert commented 3 months ago

Is the hurdle of adding a config option a big one? And how would one go about such a thing?

From a technical standpoint:

From a decision making standpoint:

AssetBurned commented 2 months ago

Coming from yet another perspective… being able to switch off LEDs would also have a positive impact on battery life. Every little counts sometimes.

garthvh commented 2 months ago

Coming from yet another perspective… being able to switch off LEDs would also have a positive impact on battery life. Every little counts sometimes.

This is not going to have any appreciable battery life impact, and will not enable dark mode, all I see this doing is causing confusion

todd-herbert commented 2 months ago

While the power savings would be negligible, it certainly sounds there's a demand for this behavior as a customisation option.

ndoo commented 2 months ago

Hi, I raised a draft PR to allow users to turn the LED off. https://github.com/meshtastic/firmware/pull/3674

Right now, the only option for those of us who have nodes we can see from our beds, or run a solar node and want the power saving, is to desolder/remove the status LED.

Also, for products like RAK4361 on RAK19007, the solar panel is connected to the battery charging IC, resulting in a 1Hz on-off cycle for the status LED to indicate charging, which does consume more power than the regular 1ms flash.

thebentern commented 2 months ago

I don't see this as useful for power savings, but I do appreciate being able to turn off the Heltec white LED 😆