2-Button UI engine in MicroPython with "Apps" on a TTGO T-Display
https://youtu.be/wR3AkhD0nEg

More of a demo than anything at this point, but I've got working text entry, menus, loadable apps(any file named app_AppName.py is detected as an app).

I also have sleep modes, and wakelock-like functionality(Including modem sleep), and the ability for one app to launch another, with arguments and return values.

In screen-off sleep mode, it uses 6mA without Wi-Fi(The USB chip and charge led takes some power, probably more like 0.5mA on battery).  With Wi-Fi it's around 7mA with spikes every few seconds.

With the screen on, you get 45mA with spikes up to 65mA.  Probably room to improve that. But I'm impressed by the low power capabilities of MP(Once you add some assorted pull requests from the internet).

The Calculator app actually just launches the text entry app, and evals the text you enter.

There's a stopwatch and a tally counter, and a settings menu where you can customize things like the colors, and set an app to auto-load as soon as it boots up.

In the future, I'll add password protection to prevent exiting the default app, and I'd like to eventually have some kind of mobile "App store" Android app for uploading new content, and maybe the ability to configure WiFi/MDNS/MQTT from the settings menu.


The original idea for this was to be a replacement for Logitech's Harmony remotes.  I think it would be awesome to have an open source home automation remote, that used an app-capable OS, that could also be a replacement for smart wall switches.

Another fun thing I'd like to do is some kind of programming feature, so you could edit the logic for a little robot just with a 2 or 3 button menu.

If MicroPython ever gets BLE bonding, making a wireless keyboard emulator for media or presentations might be another fun app.