How to Make Your Own Raspberry Pi Watch

We were talking about the idea of a Raspberry Pi watch, then we found one and figured out how to program it. You can do it too.

Toby, our maker-in-residence, and Alasdair, our head of documentation, discussed the idea of a watch powered by a Raspberry Pi RP2040-based computer. They stumbled onto an RP2040-based 1.28-inch TFT display and watch board on Tindie when searching to see whether anybody else had previously thought of the idea.

They purchased a few to experiment with because it seemed like all the engineers at Pi Towers were too busy to cater to their watch-needing needs.

Tindie's version is priced at $35.50, but what looks like an identical board can be found for significantly less money on AliExpress if you have the shopping skills to endure that specific shopping experience.

Homemade hacks

Toby and Alasdair bought the watch in two parts: a board with a screen and an RP2040 main board. The watch came with a strap but no battery, so they used this inexpensive rechargeable lithium polymer battery, though because the JST battery connector on the main board was an unusual size, they both chose to pull it off and solder their batteries directly to the board's contacts rather than trying to source the odd connector.

There is no documentation for the watch, even though it does ship with pre-installed software that shows a simple watch face. Alasdair set out to try reverse engineering to learn more about the hardware. Simultaneously, Toby began designing a 3D-printable case for other Raspberry Pi watch enthusiasts to replicate. The STL files for the case are free to download from Printables.

Read More: How to use a Raspberry Pi Pico W to control a Robot over Wi-Fi

Raspberry Pi Watch Software

Alasdair poked deep inside the firmware and discovered that the unidentified display was a GC9A01, which meant the display could be controlled through SPI by CircuitPython and MicroPython. In addition, he noted that the board's IMU was a QMIC88658, and he noted which RP2040 I/O pins the three user-facing buttons were connected to.

Hello World

Things started to pick up speed when he discovered that the watch they'd found on Tindie looked strikingly similar to a Waveshare board that used the same 1.28-inch display and that with a little tweaking for which pins were connected to which, the Waveshare example code worked almost immediately on their watch. He eventually stumbled into the GitHub repo for the firmware that shipped with the watch. which seemed like a good place to stop.

Alasdair adjusted his own RP2040 watch so that the display is oriented with the watch facing his hand because “that way I can see the watch properly when I'm typing“, which is weird of him but not out of the ordinary.

Case for RP2040 1.28-inch TFT display

Tony Goodhew initially created the code Toby and Alasdair used on the final version of the watch for the Waveshare board; we just made a few minor adjustments to rotate the watch face.

If you've tried incorporating the buttons and motion sensors that are accessible on this watch board but weren't present on the Waveshare board, jump in with some suggestions since we love a good improvement. The pins they are attached to may be found elsewhere in the “Hello Worldsample code written by Alasdair.

Oh hi there It’s nice to meet you.

Sign up to receive awesome content in your inbox, every month.

We don’t spam! Read our privacy policy for more info.

Leave a Reply

Your email address will not be published. Required fields are marked *

20 Easy Raspberry Pi Projects Toys, Tools, Gadgets

20 projects using the Raspberry Pi, a tiny and affordable computer, for beginners looking to make cool things, Projects are explained with full-color visuals and simple step-by-step instructions.