Customizing My Pinetime
Another quick post about the Pinetime, this time about how I’ve modified the firmware to customize one of the default watch faces.
Since I’ve been wearing my Pinetime I’ve settled on the standard digital watch face. It’s one of the cleaner and more straightforward options, plus I really like its font. There’s just a couple minor things about it that I wish were different.
So far the only way to add or modify a watch face is through flashing new firmware. It’s a little more of a hassle than it ideally should be, but if all you’re wanting to do is make tweaks to an existing face and you’re not put off by a little code then it’s not that scary.
I set out by forking the InfiniTime repository. The only file I had to modify was /src/displayapp/screens/WatchFaceDigital.cpp
. The code, at least for this watch face, is fairly easy to understand so I didn’t have to go looking for documentation to make the quick changes I was wanting. Altogether I touched maybe 3-4 lines.
I wanted to test my changes before sending them to my watch, and thankfully there’s a simulator called InfiniSim. I inserted the path to my fork into InfiniSim’s build instructions and then I could quickly preview and iterate on my changes.
Once I was satisfied with everything, I followed InfiniTime’s build instructions to get a firmware zip that I could load onto my watch as if it were a typical software update.
Here’s the final product.
It’s 95% the standard digital face, but…
- I changed the formatting and alignment of the date since I thought it looked a little off when using a 12 hour time format.
- I changed the step counter color to gray since it was standing out too much as the only splash of color on the watch face.
After looking through the code I’m realizing that creating a custom watch face from scratch really wouldn’t be a big challenge. That might be a fun project if I ever get bored of this watch face.