-
Notifications
You must be signed in to change notification settings - Fork 819
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mystery led flashing after upgrade to ver 2.3.11 [Bug]: #4063
Comments
Do you have a battery connected? Without a battery, the voltage read at the battery detected "wanders around". Sometimes it wanders high enough to appear that there is a battery present which is charging. It can wander a little bit even when a battery is connected. When the battery voltage appears high enough, the device believes that the battery is being charged, which causes the heartbeat to change. Normally, it does a very short flick on and off, but when charging, it does a solid "1 second on, 1 second off" blink. In a recent version of the firmware, the code for reading Heltec's battery voltage was adjusted here by a Heltec staff member. Possibly this new adjustment is causing this new behaviour on your device? If there's a specific behaviour you want, you can probably cheat it by manually adjusting the ADC multiplier |
Now that I think about it though, I should add that if you're only seeing a single long blink, then back to normal, this could also be some part of the code blocking execution for 1 second while something is running. That wouldn't be ideal, but it's another possible explanation. |
I have a Heltec 32 V3.1 and I am also seeing this same behaviour. With previous firmware the orange LED is on and the white LED blinks faintly as a heartbeat. Occasionally there will be a single bright flash of the white LED and it will resume blinking faintly. Since moving to firmware My Heltec is powered from a USB power socket, there is no battery attached. I ended up temporarily setting |
I'm reasonably sure it's a result of #3955. This PR does give more accurate readings of the battery voltage, but it sounds like it has bumped the readings up just enough for the floating voltages, which are reported when no battery is connected, to occasionally convince the device that it is "charging"
In my opinion, this is a bit of a design flaw in some of Heltec's boards. The battery charger IC is not connected directly to the microcontroller. Instead, it just drives that orange LED. The microcontroller is only guessing whether the battery is charging by looking at the voltage readings from the battery connector. When no battery is connected, the battery charger causes these readings to float, wandering between roughly 3.8V and 4.1V (I forget exactly). I did work on some code attempting to find new ways to determine whether Heltec V3-style boards are externally powered or not, but I couldn't make it work reliably. As you say, disabling the heartbeat LED entirely might be the best way to go. Alternatively, if you manually override the changes from #3955 by changing your "ADC Multiplier Override setting" to |
Thanks for the info, that all makes sense. I wonder if there is a simple circuit hack to clamp that input, without needing to add a battery, so that at least it's not drifting and should avoid triggering the effect. A couple of resistors and a diode or something that's not going to try and charge and cause problems on that side. Regarding the tweak to the Since the Heltec is very reliable and accessed by me using the app anyway, I'm not really missing the heartbeat LED, but it will be nice to get it back if it can be tamed. |
Hopefully it's something you can just set in the app:
I bet something like that would work too! |
Excellent, thankyou, I didn't realise it was a setting. I'm using the iOS app and it's in there, for reference it's in the app It's also available in the CLI as I will re-enable the LED, observe the return of the flashing behaviour and then set the ADC override to |
You were correct, @todd-herbert, many thanks, the ADC override has fixed it. I re-enabled the heartbeat LED and within the space of five minutes the long flashing sequence had happened twice, each for a minute or so. I used the CLI to set the override:
The long flashing did not happen over the next five minutes. I then set it to I set it back to I also checked in the iOS app after setting it, and it correctly reads the updated value and shows the feature as enabled with a value of Android appiOS appPython CLI
|
Hello @Ccz119, I didn't mean to take over your bug report. Looks like the ADC Override fixes it, and you can set it in the app or via the CLI. Does it fix it for you too? I'm running the Heltec off USB without a battery, presumably you are too. |
It's a shame there isn't a nicer compromise here, but I'm glad you've got back the behavior you were after 👍 |
Hi all, thank you for your contrubutions. It happens only after upgrading to 2.3.11 with battery. It flashes for about a minute. Same to another board 2.3.12 and no battery. So, on version 2.3.9 the value of ADC was not zero? |
It was previously |
Ah it's not immediately obvious, but a value of zero in the settings usually means "use the default value" (which has changed between 2.3.9 and 2.3.11). I think this is a space-saving quirk of the system Meshtastic uses to store info and transfer it between devices.
I've watched the output of the Heltec's battery charger IC before, and it does seem to peak at quite a high voltage for a brief time, before settling down. I'm guessing that's what's causing what you're seeing. Not wanting to dismiss any concerns, just giving some info on what might be going on. |
So, we need to enter a value manually. But what is the cirrect one? 4.9 is
not a bit high? Thanks to all for your replies
…On Sat, Jun 15, 2024, 7:30 AM todd-herbert ***@***.***> wrote:
So, on version 2.3.9 the value of ADC was not zero?
Ah it's not immediately obvious, but a value of zero in the settings
usually means "use the default value" (which has changed between 2.3.9 and
2.3.11). I think this is a space-saving quirk of the system Meshtastic uses
to store info and transfer it between devices.
—
Reply to this email directly, view it on GitHub
<#4063 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BJB5JUH2IH43IJP4JGIYMJ3ZHO7OPAVCNFSM6AAAAABJBGPDBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRZGEZDAOJQGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
If the "ADC multiplier override" is set to zero, the default value will be used. Supposedly, If you change the "ADC multiplier override" value to
Don't worry, this number is not "4.9V". Because the battery voltage is too high to be measured directly, the hardware lowers this for us. The (Technically: if you look at the schematic, the ratio of the voltage divider hardware itself is less than 4.9, but the MCU also attenuates the reading for us. There's some documentation on the website about fine-tuning the ADC multiplier for your hardware, if that's something you'd be interested in.) |
Well, 4.9 setting has fixed that for me. Thank you. |
Just updated my V3 from 2.3.9 to 2.4.0.46d7b82 and this bright LED nonsense started. Nice to find a simple fix. Now it is back to the much dimmer heartbeat. |
Category
Other
Hardware
Heltec V3
Firmware Version
2.3.11
Description
Occusionally the heartbeat led flashes one sec on, one sec off. Then goes away after some minutes. Is some kind of error? It was not there on 2.3.9.
logs do not show something odd.
Relevant log output
No response
The text was updated successfully, but these errors were encountered: