A lean Python 3 implementation that runs on microcontrollers and other resource-constrained devices, with hardware access modules.
joeycastillo/Sensor-Watch
Open-source board that replaces the circuit board in a classic Casio F-91W watch, letting you run your own programs on your wrist.
- Stars
- 2,107
- Forks
- 314
- Open issues
- 92
- Last commit
- 20 days ago
What is it?
Sensor Watch is a replacement circuit board for the Casio F-91W digital wristwatch. It is built around a Microchip SAM L22 ARM Cortex-M0+ microcontroller with a built-in segment LCD controller, and it fits into the existing watch case. The watch is programmed over USB using a built-in UF2 bootloader, and the project provides a watch library and a starter project for writing your own applications.
The board deliberately ships without sensors. Instead, it exposes a nine-pin flex connector offering 3V power, an I²C interface with pull-up resistors, and five general-purpose IO pins that can be configured for analog input, interrupts, digital output, SPI, UART, or PWM. This lets you add a small custom flex PCB with the sensors you need. The repository also includes the default Movement firmware, which can be built and tested in an emulator through Emscripten, along with schematics and Gerber files for the main board revisions.
Key features
- 01Built on a Microchip SAM L22 ARM Cortex-M0+ microcontroller with a segment LCD controller.
- 02Programmable over USB using a built-in UF2 bootloader, entered by double-tapping the reset button.
- 03Includes a 32 kHz real-time clock with alarm, three interrupt-capable buttons, and a PWM-capable red/green LED backlight.
- 04Nine-pin connector provides I²C, SPI, UART, analog and digital IO for adding external sensor boards.
- 05Provides an emulator build via Emscripten for testing firmware in a browser.
Use cases
- Building a custom wristwatch that displays sensor readings such as temperature or motion.
- Experimenting with embedded C programming on a small, low-power ARM board.
- Creating your own watch faces or timekeeping apps using the Movement framework.
- Designing a small flex sensor board that fits inside a classic watch case.
Quick start
- 1
Install the GNU Arm Embedded Toolchain (on Debian or Ubuntu)
apt install gcc-arm-none-eabi - 2
Copy the starter-project folder in apps and write your code in app.c
- 3
Build the project from the make folder
make - 4
Double-tap the Reset button, wait for the WATCHBOOT drive, then install
make install
Things to know
- The watch library is described by the authors as very work-in-progress.
- Hardware requires a Sensor Watch board that replaces the circuit board in a Casio F-91W watch.
- The license is listed as NOASSERTION, so components are licensed differently and need checking.
In collections
Topics
FAQ
- What is Sensor-Watch?
- Open-source board that replaces the circuit board in a classic Casio F-91W watch, letting you run your own programs on your wrist. Sensor Watch is a replacement circuit board for the Casio F-91W digital wristwatch. It is built around a Microchip SAM L22 ARM Cortex-M0+ microcontroller with a built-in segment LCD controller, and it fits into the existing watch case. The watch is programmed over USB using a built-in UF2 bootloader, and the project provides a watch library and a starter project for writing your own applications.
- Is Sensor-Watch free to use? What license does it have?
- Sensor-Watch is open source under the Other license. Check the license terms before using it in commercial products.
- Is Sensor-Watch still maintained?
- Actively maintained. The last commit to Sensor-Watch was on Oct 18, 2026.
- What can I use Sensor-Watch for?
- Building a custom wristwatch that displays sensor readings such as temperature or motion. Experimenting with embedded C programming on a small, low-power ARM board. Creating your own watch faces or timekeeping apps using the Movement framework. Designing a small flex sensor board that fits inside a classic watch case.
- How do I install Sensor-Watch?
- Install the GNU Arm Embedded Toolchain (on Debian or Ubuntu): apt install gcc-arm-none-eabi Copy the starter-project folder in apps and write your code in app.c Build the project from the make folder: make Double-tap the Reset button, wait for the WATCHBOOT drive, then install: make install
- Where can I get Sensor-Watch?
- The source code and installation instructions are on GitHub: https://github.com/joeycastillo/Sensor-Watch
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Hardware KVM switch built on two Raspberry Pi Pico boards that shares one keyboard and mouse across two computers, with mouse-edge switching.
Official development framework from Espressif for building firmware on ESP32 and other Espressif SoCs, on Windows, Linux and macOS.
Cross-platform command-line tool and build system for embedded development, covering library management, multiple boards and frameworks, debugging and unit testing.
Open-source cross-platform USB Host and Device stack for embedded systems, designed for memory and thread safety across 50+ MCU families.
A POSIX-compliant real-time operating system (RTOS) for embedded devices, scaling from 8-bit to 64-bit microcontrollers.