Picture by paperlover.vi
First of all, congratulations! I hope you’ll have a lot of fun coding, hacking and building projects around the PineTime.
The Pinetime is built around the NRF52832 SoC supporting Bluetooth low energy (BLE). It is a ARM Cortex-M4 CPU running at 64Mhz and equipped with 512KB of flash memory, and 64KB of RAM memory.
PineTime also embeds a LCD display, a touchpanel, a button, a vibrator, a heart rate sensor and a motion sensor.
The first batch of PineTime devkits (end 2019) was preloaded with a demo firmware that implemented most of the functionalities of the watch. It was quite nice, but it was proprietatry, closed source.
Since then, the community worked hard and many projects have been created, all of them based on different technologies, languages, RTOS and tools.
A few weeks ago, Pine64 asked the community to provide an open source firmware that would be preloaded in the next batch of PineTime devkits, and InfiniTime is the chosen one.
The devkit you received is preloaded with InfiniTime 0.7.1.
When I received my PineTime devkit, around October 2019, I was having fun creating my project from scratch, writing low-level drivers…
But the project became really interesting when I met the PineTime community in the chat rooms. This community was created quickly and is composed of developers, hobbyists, enthousiasts and nice people. In these chat rooms, we exchange code, ideas, we show our last achievements, we discuss about the futur of the project,… That’s the community that gave me the motivation to continue my work on my project that was called Pinetime-JF at that time.
When other people began to contribute to the project, I decided to rename it InfiniTime and to release the code under the terms of the GPLv3 license. This is not my project anymore, this is an open source community project!
Now, InfiniTime implements basic functionalities like time synchronization, notifications, music control, and even OTA. OTA allows the user to upgrade the firmare over BLE, and even to install another compatible firmwares!
You can of course use it as a watch, but you’ll probably notice that you want more functionalities, or that you want to test another firmware.
As of now, InfiniTime 0.7.1 is the latest released version, but 0.8.x is to be released soon. We have to fix one annoying bug before that happen. Have a look at the release page on the Github repo to see if a newer version is available.
Once a new version is available, you can use NRFConnect on your phone to upgrade the firmware on your watch.
Note : I still consider the OTA functionality experimental, and something wrong could happen during the upgrade that could brick your watch. I recommand you have a SWD debugger on hands to reflash your device in case the upgrade fails.
It is also possible to install other firmwares that are based on the same bootloader and memory map like Klok and Hypnos. Before doing that, please check the state of the project and ensure that OTA is working and that the project allows to OTA to another firmware after the installation is done!
The most interesting way to use your PineTime devkit is to actually develop your own firmware. You can decide to contribute to existing projects or to start your own.
Connecting the SWD debugger is the tricky part as the connection pads are very small and partially hidden under the battery. There are multiple technics to do so : use single core wires, solder tiny wires, solder a connector, or use the pogo pins that will be available on the Pine64 shop.
I personaly use the JLink debugger that is embedded on my NRF52-DK board, but ST-Linkv2 and Black Magic Probe are known to work very well with the PineTime.
Here is an example using pogo pins and ST-Link V2 :
You can find how other users connect their PineTime on this forum post.
Other interesting links:
There are a lot of ways to contribute to InfiniTime or other projects:
As I said before, the PineTime project has a great community, with very active people, and I enjoy joining them whenever I can! If you want to actively develop on your PineTime, just ask a question or suggest an idea, just join us :
The PineTime wiki contains a lot of information about the PineTime, the hardware and the projects.
Hack, create, experiment, have fun with your PineTime!