I would like to see a touch screen, I'd assumed it had one! As for the rotary encoder, debouncing switches has been done in software for ages and I'm sure that includes rotary encoders, computer mice ran off them for decades. There's surely some mature and tested algorithms you can more-or-less just paste in. You went to the effort of the little PCB and all, be nice to get it working. Those capacitors in the circuit diagram just add a little delay to opening and closing, you can do that in code. Is the computer able to give full attention to the encoder? So it doesn't miss steps. Worst-case you could stick a tiny Arduino on there and have it talk over SPI to the main chip.
It should be possible to get the co-processor to run a program to monitor it, then I could use the main processor to read the output, I think I may try that, thanks for the input
Monitoring the battery voltage and multiplying that to get the charge % is how basically all applications do it. There isn't really another way, it's the only thing the battery can output! You could look up characteristic curves for your battery, or lithiums generally, and it'd probably be pretty accurate. Or else you could monitor it as you discharge it at a representative rate, similar to how much it's discharged through normal use. But a decent guess is likely good enough. Similarly you can't measure a battery's charge while it's charging, because it's voltage, it's internal electrodes, are being raised to to charging voltage. You could perhaps stop charging every minute or so, give the battery a little bit to calm down, then measure it's voltage. I haven't tried that though, and to be honest it sounds flaky, how long does a battery take to settle back to it's normal voltage once you remove the charger? You could perhaps measure charging current going into it, which will reduce as it fills up. Just put a shunt resistor in. That's a proxy for battery charge. Anyway, nice! You ever see the Pine Watch? Some hackers got hold of, what I think are commodity Chinese smartwatches, but they're documented and a couple of people have written OSes for them. Sadly in Python, I'd like to use C myself, but an OS isn't available. I suppose I could write my own, a step at a time. Getting it multitasking sounds like a pain though, lots of opportunities for slow-moving bugs.
For the battery percentage, just map it from the lowest voltage value of the battery to its highest voltage value, then normalize it to the value 0 - 100%. The equation is like: (measured voltage/highest voltage)*100%. The rest is your field, the percentage bar and what not.
You do need Airplane mode if you would like to, IDK, go on an airplane. Also extending battery life if not at home (not sure however how manual sleeping works, so only MAC tracking left). “mPOS” is unfortunately a bad name. It's already used by "Mobile Point Of Sales" (essentially a cash register with too much CPU power). And AFAIS “mpyos” is used by “Micro PYthon OS”, funny that. Also I liked, subscribed and rung that damn bell. Check-mate. (No, seriously, this tickles my fancy about so much things that I wanted to do, but was never able to.)
Makes me want to start working on my abandoned Raspberry PiPad that I gave up on (mainly due to the lack of Performance that Pi2 had , Pi4 would definitely work.)
I am not gonna lie, this is a great video, but why the fuck did my sleep deprived needing-to-wake-up-in-5-hours brain decided to watch this at 3 fucking AM
Over on Zeal 8-Bit Computer’s channel he built and designed his own Zilog Z60 board and VGA card. Are you able to port this to his homebrew platform as well, which also has solid modern support?
Is this what I needed after I sadly had to stop using my Pebble watch and they stopped making them because Fitbit bought out the company and shut them down? … Ok probably not but I am still intrigued
Neat. Maybe for version 2.0 you can add a full D-Pad and some joysticks. Maybe have the portion that straps to your arm be just a cradle and the main device could pop off for play.
awesome project! i really would love to dive into low-level stuff and hardware but its very confusing and i dont know where to start 😭 im stuck with shitty random python projects rn