Being able to measure open circuit battery voltage is great, but it would also be useful to measure current while the light is running. That in turn can map to battery runtime and/or lumens. I wonder if any existing boards can do this, e.g. if they have adc pins connected to the relevant sense resistors. If not, it could be a cool feature in future boards.

  • NightmareQueenJune@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    While I agree that this would certainly be interesting I don’t really know how this could work. First of all: Real current sensing can only really be done with a constant current driver. Not saying that this would be accurate but this should indeed work for an estimation. But now the first problem arises: Most CC drivers also include a FET for turbo and/or the higher range of the ramp. The moment this switches on you’re out of luck. Another option would be to add a sense resistor. This - again - would surely work to measure current. But you now have the problem that you introduce an (unnessisary) resistance in the driver, limiting the output of the flashlight (if it includes a FET). And lastly I just think that while it surely sounds like a cool feature it’s just not something most flashlight enthusiasts would use regularly. Altering the flashlight circuit for a feature some people may use once or twice out of curiosity with a given flashlight does not seem reasonable and ToyKeeper IIRC has many things on her to do list that she wants to implement. Since this is such a nieche feature that (for what I know) would need hardware modifications on many flashlights out there, I don’t think that this will get implemented.

    • solrize@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 year ago

      Thanks both of you. It was intended as a pure hardware question since I can make the software changes myself in principle. So I wanted to know if there were adc inputs on usable places for this on existing boards, and it sounds like there are not. Oh well.

      As for the FET in turbo mode, good point. I’m mostly interested in the lower levels though.

      I guess tailcap current measurements with a DMM are good enough for my purposes. It would just be cool if it were built into the light.

      • SammysHP@feddit.de
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 year ago

        I guess tailcap current measurements with a DMM are good enough for my purposes.

        Only as long as you use a clamp meter.

        • solrize@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Hmm is that to avoid voltage sag at high current? I think I’m satisfied with just low current, say below 0.5 amp at 1.2v (SP10 Pro on Eneloop) if I can do that with a DMM. I think a DC clamp meter that goes that low is quite expensive. Maybe someday.

      • thefreeman@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        1 year ago

        if you have an emisar light and can disassemble it, then you can try soldering an airwire from the sense resistor to the button LED pad (sacrificing it for that) or a free ADC pin, but that’s more difficult. If that cause problems with the current regulation, add a 10k resistor or the likes.
        with a linear driver Iout=Iin so it’s simple, with a boost driver Iin=(Vout x Iout)/(Vin x efficiency), thankfully Vin is already bein measured, Vout and efficiency need to be guesstimated.

        • solrize@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Thanks, I do have a d4v2 but that’s a level of modding that I wouldn’t want to do for this. I s hoping enough capability might already be in the hardware, to make accessing it into a matter of programming. Maybe I’ll just go with lux measurements.

  • SammysHP@feddit.de
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Reading a voltage would be possible (but the ADC code is already very complex and messy). Some types of drivers have a sense resistor already, but usually it is connected to an opamp and adding another load might cause visible fluctuations in the output.

    So yes, it could be possible, but requires a driver redesign and lots of refactoring of Anduril.