InfiniTimeOrg / InfiniTimeOrg/InfiniTime

Dynamic apps and custom watchfaces

Open
#1,262 22 comments 20 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

external flash feature request
Dominant language
C
Stars
3.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

Verification
  • I searched for similar feature request and found none was relevant.
Pitch us your idea!

I want to install new watchfaces and apps without flashing the whole firmware

Description

InfiniTime is currently a monolithic firmware : everything is built into a single binary file : OS, drivers, applications & watchfaces, fonts, pictures,...

This feature request is about adding the possibility to create and install new watchfaces and app without having to rebuild and flash the whole firmware.

InfiniTime is not quite ready yet to support these features, but we are slowly but surely moving forward to that:

  • The PineTime is equipped with a huge 4MB SPI flash memory
  • We've already implemented a filesystem (based on LittleFS on that SPI flash memory
  • We've also implemented a BLE FS API to allow companion apps to access to this FS via BLE
  • We are working on [moving assets fonts and picture to that external memory

There's of course still a lot of researches, experiments and work to do before we can enable dynamic app and custom watchfaces.

Over the time, a few feature requests on this topic were opened, and I create this one to group them all.
Those existing feature requests are :

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the filesystem in PR #438, the BLE FS API in PR #756, and the asset-migration work in issue #321, then read the related requests #113, #421, #755, and #1055. Done would require a defined and tested way to install and run apps and watchfaces without reflashing the full firmware.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.