Fun with PineTime Smart Watch
As I wrote before, My smart watch is open source. Awesome!
Let's make this fun — for children in particular — and show how we can bend the device to our will because FOSS means it's truly ours, fully under our control.
This article started from my musing about this topic in the PineTime matrix discussion room.
I'm interested in teaching children about “free software” and having full control of one's own devices. Seems like programming your own digital watch would be an excellent way to make this topic “touchable”. This is an encouragement to any makers and experimenters to do more fun stuff, and get this into the hands of children and technology teachers.
As a programmer I can imagine all sports of technical ways to do so, and I've read about the current state of development (how things like downloadable modules would help) — that side I understand quite well. Where I'm lacking is the social kinds of ideas — what's been tried, who's set up a “watch makers kids club”, etc. Anyone heard of anyone using PineTime or similar projects with children?
What's on my mind is, I am wearing this watch because I want to show people how great is free software and owning control of one's devices. But when they (kids or adults) look, all they see is another watch, they can't see it's programmable and Open. So how can I show them? I half seriously want it to be a bright colour and to flash out the words “MY OWNER PROGRAMMED ME” when I wave my arm around. Or something :–)
I want my PineTime to boldly proclaim “I'm Freedom Software in Freedom Hardware”.
Same for my phone: I want people to see it's different from mainstream and ask me why. I've actually had a go at designing a sticker for my phone. Haven't got it sticky-back printed but have put its image on my lock screen. Hmm, I should print that as a T-shirt :–)
The older I get, the more it bothers me that no-one's aware of the existence of tech where users are in control (~FOSS). The more I feel the need to shout it out... in a shy person's way. Glad to see PineTime got to FOSDEM this year. I wasn't there. I'll watch the recording some time soon. (on FOSDEM.org | on my Trax PeerTube)
What Could Children Do With It?
For the youngest, say 4yo, it could be drawing your own watch background picture (on any sketching app on a laptop) and get it installed on the watch. Then, if there's any way to cross-compile from a beginner language like Scratch then program or reprogram a simple app like alarm/timer, with plenty of flashing the screen and buzzing.
Then for 8 yo and up, program in some accessible textual language (e.g. Hedy/Python if cross-compilation is possible; I haven't enquired how feasible that is).
'neroburner' says: “There is a micro python based firmware for the PineTime. That could be a great starting point for teaching and trying out stuff.” Thank you for that hint. That's Wasp-OS and has more apps than Infinitime and is easier to customise: https://wasp-os.readthedocs.io/en/latest/apps.html
In fact, for any age, getting a bold visual customisation like watch face would probably be the best starting point. (I have read the existing issues about how people would like to make that easier to do technically. That's good stuff but not a precondition: we can work around that by scripting the whole build process.)
But like I said, we can have all these cool ideas software-wise of how we could enable kids to participate, but it's not really going to happen unless we link up with some group of people who do stuff like this. Coding-for-kids clubs, or maker-spaces (hack spaces), or something. (“We” = whoever's interested. I'm not saying any of the existing pine time community should necessarily be interested in this direction, though some might. I'm just asking around to discover what might be out there.)
Customisation
First kinds of customisation, for someone new to it:
- graphical — add a “splash screen”, as a personal image and/or a slogan to remind us and our friends this is FOSS; add a background image under the watch face; tweak UI colours, layout, style
- watch faces — start with choosing from existing watch faces; then make one for learning to tell the time, perhaps having all the hours clearly numbered; make one as a bitmap image, another by programming vector graphics; make a quick switch button on the watch screen that cycles between the owner's favourite watch faces
- apps — customise the list of apps (easy but unexciting); edit an existing app to make a new app (much harder until we make an easy framework for it)
In principle it's possible to customise at a deeper level, such as making different Bluetooth connections (to use an external keyboard, talk directly to another PineTime, ...) but that needs an expert.
App Ideas
Remote control / Ping
- button to ping the host phone — Wasp-OS Phone Finder app
- button to ping a predefined other phone (via host phone and SMS/KDEConnect/FMD?) — 'page big sister'
- button to turn on the light/kettle/etc. (via Android device controls, Home Assistant, etc.)
Messages
Sending messages to one another is great fun! Local first: never mind global tech companies, let's message directly.
- phone-to-watch messages (Gadgetbridge has this as a 'debug' function)
- on-screen keyboard (9-key multi-tap?) — there is add note taking app with t9 keyboard #1466 — wow! I hadn't guessed predictive text might be possible. This is interesting as a base for any text typing/sending app.
- bluetooth keyboard (note: someone said the hardware can make 2 connections (e.g. to host phone and keyboard) but firmware for that hasn't been written)
- watch-to-phone message
- 2-way bluetooth texting between 2 PineTimes
Watch/Clock
Fun with the watch/clock function.
I watched a child play with the alarm setting screen, adjusting the hours and minutes to match the real clock on the wall. The child described it as a digital watch that doesn't tell the time automatically but has to be set manually, like a baby's toy clock. They thought it was fun. So let's make it more fun...
- a manually adjustable clock (like setting the alarm)
- display analogue & digital together
- speed control: fast, slow, stop, backwards
- MineTest sync: 20x speed, sync with MineTest game time, animated day/night graphics
For inspiration look at J. Barrett's Clock Demonstrator
These modes are all meant to be temporary: you can always switch back to the real time.
Colour Images
We have a fairly hi-res colour screen, yet I haven't seen any demo of showing a photo or colour graphic background or anything. (Even the “paint” program seems to only paint white on black. Am I missing something? EDIT: A long-press changes colour.)
Photo notifications from a messaging app.
Photo snap from phone camera, straight to watch screen, “save” it there, just the most recent one. Companion app could help crop to a small square and maybe enhance contrast and colour etc for a more “fun” display. On the watch, display just a static fixed resolution image, no zoom etc.
Mini gallery. There is obviously not enough memory for much of a photo gallery, but a few could fit in the 4MB storage. There is Wasp-OS Gallery app and Infinitime Gallery app #1384.
Phone gallery viewer. As we swipe left and right, a module in Gadgetbridge transcodes our phone gallery's images to PT optimised format and sends them down the BT link, on demand. Radio bandwidth might limit phone-connected gallery browsing, but I don't know, it might be enough.
Calculator
I remember spending hours just tapping away on my calculator-watch with its sixteen tiny mechanical buttons when I was young... and it wasn't even programmable, it just had calculator and timer and a tiny game and that's about it. Oh, but if it had been programmable...!
There are two calculator apps proposed for Infinitime: Calculator App #375, and Simple calculator #1483, and Wasp-OS includes a simple calculator app.
- PineTime discussion room on Matrix:
#pinetime:matrix.org
This article is part of my Open Source Gadgets series.
#fossGadgets #cloudFree #degoogled #awesomeFOSS #openHardware
Follow/Feedback/Contact: RSS feed · Fedi follow this blog: @julian@wrily.foad.me.uk · use the Cactus Comments box above · matrix me · Fedi follow me · email me · julian.foad.me.uk Donate: via Liberapay All posts © Julian Foad and licensed CC-BY-ND except quotes, translations, or where stated otherwise