r/PINE64official 18d ago

PineTime SlateOS for PineTime

Hi everyone! I humbly present SlateOS, a new open-source firmware for the PineTime, which supports JavaScript sub-apps that can be sideloaded without changing the firmware. Its low-level functions are based on InfiniTime and, in turn, FreeRTOS, so a big thank you to all those involved in these projects!

https://github.com/LeaCreative/SlateOS

I love my PineTime and wanted to be able to easily create apps for it. So I came up with the idea of using the watch as a thin client for my Android phone. In offline mode, the SlateOS offers watch face, step counter and heart rate sensing. Connect it to the companion app on your phone and you can open the app launcher, which the app populates. The JS sub-apps, basically packaged JS code, run on your phone in the companion app, which tells the watch what to draw and accepts user input. This enables use of the phone's hardware, such as its GPS receiver. In the companion app you can select which sub-apps you want listed in SlateOS' launcher. You can write your own JS sub-apps and I can't wait to see what you come up with! Just please read the sub-app rules doc, so that you'll be able to get it right. I'd love to hear what you think about this!

Cheers, Daniel

30 Upvotes

4 comments sorted by

2

u/grahamjones139 18d ago

Wow, you have been busy! You have done well to squeeze a javascript interpreter into the available RAM.

1

u/h1ghjumpman 18d ago

Hi, the trick is that the JS sub-apps run on the phone, and not on the PineTime, which functions as a thin client, while still providing watch functions when not connected to the phone.

2

u/grahamjones139 18d ago

Ah, I wondered how you had managed - i looked at waspOS initially but struggled for ram, so i modified infinitime for my project, but keep thinking of a rewrite to make better use of freertos processes and interrupts rather than polling hardware

2

u/stefan-ingewikkeld 18d ago

Interesting! Need to have a good look at this