Code and licences
What is published
The design, code and tests of Caseback are in one public repository. You can read all of it.
Three layers are open source and can be used for any purpose, selling products included. Hardware, firmware and the app are source-available: you can read, run and change them, but not use them to sell a product that competes with Caseback.
Source-available
Functional Source License (FSL 1.1). Read, run, change and share it, but not in a competing product. Each version becomes Apache 2.0 two years after it is published.
- HardwareBoard, enclosure and microsuction padFSL 1.1
- FirmwareZephyr on the nRF52840FSL 1.1
- AppiOS, SwiftUIFSL 1.1
Open source
Use it for any purpose, selling products included, keeping the licence notices.
- ProtocolThe Bluetooth messages, byte by byte, in Python, Swift and CApache 2.0
- AlgorithmsPulse, HRV, sleep and stepsApache 2.0
- Tools, tests and websiteScripts that draw the illustrations and the app captures, the tests and this siteApache 2.0
What the licence allows
The source-available layers use the Functional Source License. You can use them for anything except a competing use, which means making them available in a commercial product or service that does the same job as Caseback.
We publish the code and the drawings so that anyone can check what the disc does and how it is built. The licence keeps a copy from reaching the market before the original does. Each version becomes Apache 2.0 two years after it is published, so the restriction ends.
You can
- Read, run and change the code and the drawings.
- Build a disc or a bracelet for yourself.
- Use them to teach or for non-commercial research.
- Charge for installing or repairing a Caseback for someone who also uses the files under this licence.
- Share your changes, with the licence attached.
You cannot
- Sell a product or service that does the same job as Caseback using these files.
- Call a product Caseback if it is not ours. You may say it is based on, compatible with or a fork of Caseback.
- Remove the licence or the copyright notices from a copy you share.
Run the tests yourself
These commands run the tests on your own computer. The Python ones need Python 3.12 or newer; the Swift one needs a Mac.
- Protocol testsThe Python implementation, against the reference bytes
cd caseback-protocol/python && pip install -e ".[dev]" && pytest - Pulse and HRV testsFiltering, beat detection and HRV
cd algorithms/ppg && pip install -e ".[dev]" && pytest - Steps, sleep and readiness testsModels and rules for steps, sleep, skin temperature and readiness
cd algorithms/wellness && pip install -e ../ppg -e ".[dev]" && pytest - Swift protocol testsThe Swift implementation, against the same reference bytes. Needs a Mac
cd apps/ios/CasebackProtocol && swift test