I want to build a linux(yes i want linux specifically or a deritive of it) smartwatch as a prototype that lasts ~24 hours. Ive been looking for chips that are small and power effient enough but most of them cant run linux. If i have a 400mah battery that gives me a power budget of about 60mw… I know its possibly because there are wearos(basically android) watches that last 3-4 days. I dont know what kind of sorcery that is but that means it consumes about 15mw??? I really do feel like im miscalculating something but i checked multiple times. Do they hibernate linux/android and run it off of another chip. I also dont know how to excecute that properly and its kind of off topic of my question. So point is linux on a ~60mw budget in s smartwatch. I want to use a mip display as i really like the look and it uses little power but if ever want a heart rate sensor in it thats even more power consumpotion. Thanks in advance i guess if a saint answers this shitstorm of a question.

  • Max-P@lemmy.max-p.me
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    10 months ago

    Most of those devices do in fact sleep most of the time. It’s like your phone: it may last 2-3 days standby with the screen off and nothing running but if you’re running a heavy CPU/GPU load it’ll chew through the battery in maybe 2-3 hours or even less pretty easily. A smart watch pretty much never runs at full power other than the maybe 5 seconds when you look at it and the display lights up and there’s some animations going. Otherwise it’s pretty much just polling the sensors every now and then, and going right back to sleep.

    It’s not hibernation or even conventional S3 where everything turns off, it’s more like S2idle on modern laptops. It’s still on but it does power off a lot of the peripherals and drop the clock to near nothing, but it’s ready to wake up quickly on timers and interrupts, and it can handle some networking and go right back to low power within a millisecond. And similarly to PCs, those chips change speed based on demand. No point running at 800MHz if it only needs 50 MHz to read sensors every now and then and keep the Bluetooth connection alive.

    Even Arduinos go from a few mA to a few μA when in sleep mode.

    • AItoothbrush@lemmy.zipOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 months ago

      So basically its not possible for me with my little experience in embedded stuff and general tech savyness because its just so ridiculously well optimised and oiled? I could hack around and replicate some of it at least.

      • cmnybo@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 months ago

        You will have a hard enough time just finding a SOC that you can get documentation for without signing and NDA and promising to buy massive quantities of them.

        • AItoothbrush@lemmy.zipOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          I thought of getting a low power arm cpu like the one in the raspberry pi zero 2 or something less powerfull and then use the rp2040 as a coprocessor. The rp2040 only uses a few ma so its a good choice and i could use interrupts to wake the main cpu. I can also put the rp2040 into sleep and only operate the screen and that would basically be a normal watch and it would last for months.

          • cmnybo@discuss.tchncs.de
            link
            fedilink
            English
            arrow-up
            3
            ·
            10 months ago

            That’s a lot to fit in a watch. The PCB layout will be difficult and the requirements for it will likely exceed what the usual prototype PCB manufacturers can produce.

            The RP2040 is a power hog. It takes 180µA in its lowest power sleep mode. There are other microcontrollers that can be in run mode and use less power than a sleeping RP2040. I would suggest looking into some of the STM32L series microcontrollers. They can get down into the nanoamp range in sleep mode and run less than 100µA/MHz.

            • AItoothbrush@lemmy.zipOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 months ago

              Thanks for the suggestion but of course ill look into what mcu i want better when it comes to that. A larger pcb at first doesnt bother me that much but i want to get down to watch size in the far-future. This is only a hobby project so nothings set in stone. Im also working on a flashlight right now so im balancing these two projects.