After the successful construction of the board to replace the original PineTime, the work of implementing a firmware begins, initially my approach was to create something from scratch, but it did not work, the time and effort required exceeds what I can spare for the project, the second option was to convert https://infinitime.io/, but that option ended up being discarded when I remembered that I had been testing Espruino, but I hadn’t advanced much due to the lack of features of the original PineTime, but now I didn’t have that constraint.
More about Espruino
Furthermore, one of the projects that uses Espruino is based on the same processor, the nRF52840, I’m talking about https://www.espruino.com/Bangle.js2, which would make adaptation to the new board much easier.
Source code for my version of Espruino for PinetTime 40 https://github.com/joaquimorg/Espruino
After the first tests with the version already customized and adapted for the new board, I came to the conclusion that the implemented graphics system does not take advantage of the display and the refresh rate that the nRF52840 offers, since in Bangle.js2 the display is only one 176×176, while in Pinetime we have 240×240.
So there’s nothing better than trying to bring LVGL to work as a graphical interface with all (for now, just some) of its features and possibilities.
At this moment it is already possible to create simple screens using the LVGL functions.
A more complex example.
Development continues, more news coming soon…