# GoodWatch: a replacement circuit board for Casio calculator watches

> GoodWatch is a hardware and firmware project that replaces the circuit board inside a Casio CA-53W or CA-506 calculator watch with a CC430 based board that adds a sub-GHz radio, and the firmware is a set of C applets including a clock, a stopwatch, an RPN calculator and Morse and OOK transmitters. It suits a maker who wants to refit a watch, and the hardware is a soldering job rather than a build.

**travisgoodspeed/goodwatch** — Replacement board for Casio Calculator Watches using the CC430F6147

- Repository: https://github.com/travisgoodspeed/goodwatch
- Stars: 568 · Forks: 60
- Language: C
- License: not declared
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/travisgoodspeed-goodwatch

## One chip does the watch and the radio

The replacement board is based around the CC430F6147, which combines an MSP430 microcontroller with an LCD controller and a sub-GHz radio in one package. That integration is the reason the project exists in this form, because a Casio calculator watch has very little space for a display, a processor and now a radio, and the watch case is a fixed volume you cannot redesign. There is a practical bonus to the choice. Thanks to pin compatibility, the linker scripts for the board produce a firmware image that works just as well on the older CC430F6137 chip, so one build covers two parts. The current hardware revision is called GoodWatch30, and its filters run from 300 MHz up to either 500 MHz or 915 MHz depending on the variant. The GoodWatch20 family had narrower filters at 433 MHz and is still supported. The parts list is not in the readme but in a BOM.txt file in the hardware directories, and the wiki carries an assembly guide. The repository also separates the supporting files into datasheets, measurements and photos directories, which tells you the project is documented like a real product rather than a sketch.

## The applets are the software, and they are written in C

The firmware is freely available in the repository and compiles with the MSP430 GCC compiler packages from Texas Instruments, and it compiles in Debian with all of the MSP430 packages installed. It consists of four applets, all written in C. There is a Clock, a Stopwatch, an RPN Calculator and a Hex Memory Viewer with a Disassembler. The wiki links to each of them individually, which suggests the applets are separate pieces of firmware rather than a single monolith, which is what you would want on a watch where the user picks what the device does. The RPN calculator and the hex viewer with disassembler are the two that go beyond what the original watch offered, and they are the reason the project attracts people who like programming as much as they like watches. The repository separates firmware from hardware from the supporting files, with a firmware directory, a hardware directory, a datasheets directory, a measurements directory, a photos directory and a bin directory, and a Jenkinsfile at the top level suggests the firmware is built in continuous integration as well as on a desk.

## The radio applets are the reason people build this

On watches with a radio, the firmware adds Morse and GFSK transmitters, as well as an OOK transmitter that will command cheap remote-controlled relays, and there is a frequency counter. The OOK example is the one with the most obvious application, since driving a relay from a wristwatch is a classic building exercise, and the frequency counter is what you would use to characterise the cheap transmitters that come with those relays. The radio is accessible from a host computer over the UART, which the readme gives three reasons for: building base stations and repeaters, and rapidly prototyping radio applications in Python. The last one is the interesting one for a programmer, because a UART-attached radio means you can drive the watch from a script instead of pressing buttons on a small display. P25 and DMR support might come soon, so the digital voice modes are not there yet. There is also a photograph of a POCSAG goodwatch in the repository, which shows what the finished board looks like in a case.

## A custom bootloader client, because the stock one is awkward

One piece of the project is a client the author wrote for the CC430's BootStrap Loader, or BSL. The readme says you might find it handy for other projects involving that chip, or for other MSP430F5 and MSP430F6 chips without USB, and there is a practical detail attached. You need to be a member of the dialout group to flash the firmware. That is a Linux serial port permission, and it is the kind of detail that stops a first build dead for an hour if nobody mentions it. Writing a BSL client at all is the giveaway about the toolchain, because the stock loader is a serial protocol and most people end up writing something to drive it. The applet structure follows from the same thinking, since a watch with four separate firmware images needs a way to choose and flash them, and the bootload client is the piece that makes that practical rather than fiddly.

## How the project is offered, and what the readme says about warranty

The framing in the readme is unusually direct for a hobby project, and it is worth quoting in substance. It is a side project of the author, built to make a replacement circuit board for the Casio 3208 module used in the CA-53W and CA-506 calculator watches, and as a side project it has no warranty whatsoever and you should not use it for anything. The licence terms are the author having some fun with the situation, since all licence to use the project is revoked if you pass off a pilsner instead of a pint of good, hoppy pale ale. Beyond the source code there is documentation in the wiki and a general interest website at goodwatch.org, and the wiki's DeveloperGuide page might be particularly handy. The author signs off from Knoxville, Tennessee, which is also where the audience for the project largely is.

## The community around it is a list of sibling projects

The readme ends with a long related projects section, and it is a good map of the maker scene the project belongs to. Pluto is a replacement PCB for the Casio F-91W also based on an MSP430, and its energy monitor utility is used for measuring the power budget. Elektronika-1 is Benjamin Sølberg's replacement board for the Soviet Elektronika-1 watch on an MSP430FR2433. Sensor Watch is Joey Castillo's ATSAML22 replacement for the F-91W, adding a backlight and a 9-pin flex PCB for a custom sensor. Outatime Pro from Evelien Dekkers matches the same Casio 3208 casings as the GoodWatch, adds backlight and a 9-pin FPC connector and uses a PAM8904 for a louder buzzer without the large inductor. CharlieWatch from Trammell Hudson is a fork of the GoodWatch using a charlieplexed LED array instead of a Casio watchcase, and iceSIO matches the same casings on a PIC16 platform with accelerometer, compass and environmental sensors. FaradayRF is a CC430 radio board for amateur use with a 500mW amplifier and a GPS receiver, whose radio chain the author admits is more carefully designed than theirs, and F91 Kepler is an OLED and Bluetooth replacement on a CC2640 with good documentation.

## Conclusion

GoodWatch fits a hardware hobbyist who wants a working radio in a Casio calculator watch and is prepared to desolder the original board, source a parts list and flash firmware over a serial bootloader. It does not fit someone expecting a finished watch, since the readme says plainly that as a side project it has no warranty whatsoever and you should not use it for anything, and it does not fit a user who wants a smartphone-connected device rather than a self-contained one. Before you start, confirm your watch uses the 3208 module rather than the 3228, because the two have different button counts and the board is not compatible with the Databank watches, and read the DeveloperGuide in the wiki, which the author points to as the most useful document for the project.

## FAQ

### What is the GoodWatch project?

It is a replacement circuit board for the Casio 3208 module used in the CA-53W and CA-506 calculator watches, built around the CC430F6147 which combines an MSP430 microcontroller with an LCD controller and a sub-GHz radio. It is not compatible with the 3228 module used in the Databank watches, which have four external buttons instead of two.

### Which applets does the GoodWatch firmware include?

A Clock, a Stopwatch, an RPN Calculator and a Hex Memory Viewer with a Disassembler, all written in C. On watches with a radio there are also Morse and GFSK transmitters, an OOK transmitter for driving cheap remote-controlled relays and a frequency counter.

### What hardware do I need to build a GoodWatch?

A CC430F6147 based board, with the parts list given in a BOM.txt file in the hardware directories and an assembly guide in the wiki. The current revision is GoodWatch30 with filters from 300 MHz to either 500 MHz or 915 MHz, and the GoodWatch20 family with 433 MHz filters is still supported.

### How do I flash the GoodWatch firmware?

The project includes a client the author wrote for the CC430 BootStrap Loader, which is handy for other projects involving that chip or for MSP430F5 and F6 chips without USB. Flashing requires you to be a member of the dialout group so you can access the serial port.

## Sources

- [Issues](https://github.com/travisgoodspeed/goodwatch/issues)
- [README](https://github.com/travisgoodspeed/goodwatch/blob/master/README.md)
- [travisgoodspeed/goodwatch on GitHub](https://github.com/travisgoodspeed/goodwatch)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/travisgoodspeed-goodwatch
