- run
setupScripts/installPackages.sh(disclaimer: uses sudo for pacman; also only supports arch) - run
glimeSupport/installGlime.sh(note: if you've already downloaded glime, see detailed instructions below for how to use existing download.) - run
setupScripts/setupOSrepositories.sh(disclaimer: uses sudo to install npm package) - run
setuptScripts/build_infinitime.sh
while this repository has been modified to expect the presence of glime, glime is not actually included in this fork.
to "install" it, you should run glimeSupport/installGlime.sh
this script takes 2 optional positional arguments
- infinitime OS directory (defaults to repo root)
- glime repo location. (if not specified, clones glime to
infinitime/glimeSupport/glime)
2.1 this is what you should specify if you want to use your existing glime download
in addition to this, this fork also provides some convenience scripts for installation on the presumption that potential users have no prior experience this codebase.
setup_scripts/setupOSrepositories.sh takes no arguments, requires root, and does:
- installs lv_font_conv npm package locally (this is what root is for; feel free to manually install and run without root)
- downloads gcc arm compiler for linux x86-64
- downloads nordic semiconductor nRF52 SDK 15.3.0 into a infi_libs folder in the repo root.
setup_scripts/build_infinitime.sh takes 2 optional positional arguments
- either "quick" or anything else; specifies whether to do a full rebuild or just compile.
- either "emu" or anything else; specifies whether to build for infiniemu and run it.
- note that the most recently tested version of infiniemu is build number 113
- Getting started with InfiniTime
- Updating the software
- About the firmware and bootloader
- Available apps
- Available watch faces
- PineTimeStyle Watch face
- Gadgetbridge (Android)
- Amazfish (SailfishOS, Ubuntu Touch, Flatpak)
- Siglo (Linux)
- InfiniLink (iOS)
- ITD (Linux)
- WatchMate (Linux)
- InfiniTimeExplorer (Web)
InfiniTimeExplorer is only compatible with web browsers that support Web BLE. Current fully supported browsers include Chrome and Microsoft Edge.
We removed mentions to NRFConnect as this app is closed source and recent versions do not work anymore with InfiniTime (the last version known to work is 4.24.3). If you used NRFConnect in the past, we recommend you switch to Gadgetbridge.
- InfiniTime Vision
- Rough structure of the code
- How to implement an application
- Generate the fonts and symbols
- Tips on designing an app UI
- Bootloader, OTA and DFU
- External resources
- InfiniTime simulator
- Build the project
- Build the project with Docker
- Build the project with VSCode
- Flash the firmware using OpenOCD and STLinkV2
- Flash the firmware using SWD interface
- Flash the firmware using JLink
- Flash the firmware using GDB
- Stub using NRF52-DK
- Maintainer's guide
- Versioning
- Project branches
- Files included in the release notes
- Files needed by the factory
This project is released under the GNU General Public License version 3 or, at your option, any later version.
It integrates the following projects:
- RTOS: FreeRTOS under the MIT license
- UI: LittleVGL/LVGL under the MIT license
- BLE stack: NimBLE under the Apache 2.0 license
- Font: Jetbrains Mono under the Apache 2.0 license
I’m not working alone on this project. First, many people create pull requests for this project. Then, there is the whole #pinetime community: a lot of people all around the world who are hacking, searching, experimenting and programming the Pinetime. We exchange our ideas, experiments and code in the chat rooms and forums.
Here are some people I would like to highlight:
- Atc1441: He works on an Arduino based firmware for the Pinetime and many other smartwatches based on similar hardware. He was of great help when I was implementing support for the BMA421 motion sensor and I²C driver.
- Koen: He’s working on a firmware based on RiotOS. He integrated similar libs as me: NimBLE, LittleVGL,… His help was invaluable too!
- Lup Yuen Lee: He is everywhere: he works on a Rust firmware, builds a MCUBoot based bootloader for the Pinetime, designs a Flutter based companion app for smartphones and writes a lot of articles about the Pinetime!
