# CircuitPython OLED Watch Clock

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/084/017/medium800/3d_printing_watch-hero-wear.jpg?1573509022)

https://www.youtube.com/watch?v=jHT4-2Z0mIQ

## It's CircuitPython Time!

In this project we’ll show you how to make a watch using an Adafruit Feather M4 Express, an RTC module and an OLED display.

This uses CircuitPython, which is a version of Python designed to run on microcontrollers.

![](https://cdn-learn.adafruit.com/assets/assets/000/083/986/medium800/3d_printing_hero-watch-stand.jpg?1573437078)

## 3D Printed Watch Band

The enclosure and wristband are 3D printed in ninjaflex, so it’s both strong and comfortable to wear.

![](https://cdn-learn.adafruit.com/assets/assets/000/037/239/medium800/3d_printing_hero-blue-back.jpg?1478969641)

The whole circuit fits into the 3D printed case and has a nice snug fit.

The two straps are fitted into the slots on the side and can be customized to fit different sized wrists.

![](https://cdn-learn.adafruit.com/assets/assets/000/084/015/medium800/3d_printing_watch-hero.jpg?1573508932)

## Prerequisite Guides

We suggest walking through the following guides to get a better understanding of the components and CircuitPython. We also have great tutorials on learning how to solder.

- [Adafruit Guide to Excellent Soldering](../../../../adafruit-guide-excellent-soldering/surface-mount?view=all)
- [Adafruit Feather M4 Express](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51)
- [Welcome to CircuitPython](https://learn.adafruit.com/welcome-to-circuitpython)

![](https://cdn-learn.adafruit.com/assets/assets/000/084/014/medium800/3d_printing_parts.jpg?1573508767)

### Adafruit Feather M4 Express - Featuring ATSAMD51

[Adafruit Feather M4 Express - Featuring ATSAMD51](https://www.adafruit.com/product/3857)
It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox, half bird, OK?) This feather is powered by our new favorite chip, the **ATSAMD51J19** -&nbsp; with...

In Stock
[Buy Now](https://www.adafruit.com/product/3857)
[Related Guides to the Product](https://learn.adafruit.com/products/3857/guides)
![Angled shot of a Adafruit Feather M4 Express. ](https://cdn-shop.adafruit.com/640x480/3857-10.jpg)

### DS3231 Precision RTC FeatherWing - RTC Add-on For Feather Boards

[DS3231 Precision RTC FeatherWing - RTC Add-on For Feather Boards](https://www.adafruit.com/product/3028)
A Feather board without ambition is a Feather board without FeatherWings! This is the **DS3231 Precision RTC FeatherWing** : it adds an extremely accurate I2C-integrated Real Time Clock (RTC) with a Temperature Compensated Crystal Oscillator (TCXO)&nbsp; to any Feather main board....

In Stock
[Buy Now](https://www.adafruit.com/product/3028)
[Related Guides to the Product](https://learn.adafruit.com/products/3028/guides)
![Angled shot of a DS3231 Precision RTC FeatherWing - RTC Add-on For Feather Boards stacked on a rectangular breakout board, connected to a white breadboard. ](https://cdn-shop.adafruit.com/640x480/3028-05.jpg)

### Adafruit FeatherWing OLED - 128x32 OLED Add-on For Feather

[Adafruit FeatherWing OLED - 128x32 OLED Add-on For Feather](https://www.adafruit.com/product/2900)
A Feather board without ambition is a Feather board without FeatherWings! This is the **FeatherWing OLED** : it adds a 128x32 monochrome OLED plus 3 user buttons to _any_ Feather main board. Using our [Feather Stacking...](https://www.adafruit.com/products/2830)

In Stock
[Buy Now](https://www.adafruit.com/product/2900)
[Related Guides to the Product](https://learn.adafruit.com/products/2900/guides)
![Angled shot of a Adafruit FeatherWing OLED - 128x32 OLED Add-on For Feather connected to a white breadboard and a lithium battery. ](https://cdn-shop.adafruit.com/640x480/2900-10.jpg)

### FeatherWing Tripler Mini Kit - Prototyping Add-on For Feathers

[FeatherWing Tripler Mini Kit - Prototyping Add-on For Feathers](https://www.adafruit.com/product/3417)
This is the **FeatherWing Tripler** - a prototyping add-on and more for all Feather boards. This is similar to our [FeatherWing Proto](https://www.adafruit.com/products/2884) except there are three! The magic of the Tripler comes when you want to connect your Feather to...

In Stock
[Buy Now](https://www.adafruit.com/product/3417)
[Related Guides to the Product](https://learn.adafruit.com/products/3417/guides)
![Triple prototyping feather wing PCB with socket headers installed](https://cdn-shop.adafruit.com/640x480/3417-05.jpg)

### Part: Coin Cell
quantity: 1
CR1220 coin cell batteries
[Coin Cell](https://www.adafruit.com/product/380)

### Part: 400mAh Battery
quantity: 1
3.7v idle for Feathers
[400mAh Battery](https://www.adafruit.com/product/3898)

### Part: Feather Headers
quantity: 1
Short Male Headers 
[Feather Headers](https://www.adafruit.com/product/2940)

## Parts, Tools and Supplies

You'll need the following tools, parts and supplies to complete this build.

- [Feather M4 Express](https://www.adafruit.com/product/3857)
- [RTC FeatherWing](https://www.adafruit.com/products/3028)
- [OLED FeatherWing](https://www.adafruit.com/products/2900)
- [Tripler FeatherWing](https://www.adafruit.com/product/3417)
- [CR1220 Coin Cell](https://www.adafruit.com/products/380)
- [400mAh 3.7v Battery](https://www.adafruit.com/product/3898)
- [Short Male Headers for Feathers](https://www.adafruit.com/products/2940)
- [Female Header set for Feathers](https://www.adafruit.com/products/2886)
- [3D Printer](https://www.adafruit.com/categories/245)
- [Flexible&nbsp;Filament](https://www.adafruit.com/categories/783)
- [Soldering Iron & Solder](https://www.adafruit.com/category/84)
- [Diagonal Flush Snips](https://www.adafruit.com/product/152)

# CircuitPython OLED Watch Clock

## CircuitPython Code

![](https://cdn-learn.adafruit.com/assets/assets/000/129/036/medium800/3d_printing_website-banner.jpg?1711579600)

CircuitPython makes it easy to get your watch up and running. You'll set the time and date, and you can change the text string displayed under the time and date. This page will walk you through getting your Feather M4 Express set up with CircuitPython, and getting the right libraries installed. Then, it will walk you through the code section by section to explain what's going on.

Let's get started!

## Installing CircuitPython

You'll want to make sure you're running the latest version of CircuitPython.

[Download the latest version of CircuitPython for the Feather M4 Express via circuitpython.org](https://circuitpython.org/board/feather_m4_express/)
For instructions on installing CircuitPython, check out [the CircuitPython page in the](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51/circuitpython "Feather M4 Board") [Feather M4 Express guide](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51/circuitpython "Feather M4 Board"). Once you've got it installed, you're all set to continue.

## CircuitPython Libraries

To use with CircuitPython, you need to first install a few libraries, into the **lib** folder on your **CIRCUITPY** drive. Then you need to update **code.py** with the example script.

Thankfully, we can do this in one go. In the example below, click the **Download Project Bundle** button below to download the necessary libraries and the **code.py** file in a zip file. Extract the contents of the zip file, open the directory **CircuitPython\_OLED\_Watch/** and then click on the directory that matches the version of CircuitPython you're using and copy the contents of that directory to your **CIRCUITPY** drive.

Your **CIRCUITPY** drive should now look similar to the following image:

![Project](https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/folder-images/CircuitPython_OLED_Watch.png?raw=true )

## The Code
https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/CircuitPython_OLED_Watch/code.py

Let's take a look at the code!

### Setup

First, import all the necessary libraries into the code. Note that you're not importing all the libraries you copied to your **CIRCUITPY** drive - the libraries you do import rely on the ones that you don't.

```auto
import board
import displayio
import adafruit_displayio_ssd1306
import terminalio
import adafruit_ds3231
from adafruit_display_text import label
```

Immediately following the `import`s is the line where the font is set. This program uses a font built into `terminalio`. This is great because it eliminates the need for separate font files.

```auto
font = terminalio.FONT
```

Next, you'll set up the hardware.

First, you must include the `displayio.release_displays()` because the displays do not automatically reset like everything else does. Without this line, each time the code runs, it creates another instance of the display.

Then you create the OLED display and the real time clock objects.

```auto
displayio.release_displays()

i2c = board.I2C()
display_bus = displayio.I2CDisplay(i2c, device_address=0x3c)
oled = adafruit_displayio_ssd1306.SSD1306(display_bus, width=128, height=32)

rtc = adafruit_ds3231.DS3231(i2c)
```

### Setting the Time

The next section of the code allows you to set the date and time. You must set the date and time manually initially. You'll use `time.struct_time` to set the real time clock time.

`time.struct_time` expects you to set, in order:

- **year, month, day, hour, minute, second, weekday, yearday, isDST**

To set the time, you'll change the data provided to `time.struct_time` to match a time slightly in the future. Uncomment the four lines of code under `# UNCOMMENT THE FOLLOWING FOUR LINES THE FIRST TIME YOU RUN THE CODE TO SET THE TIME!`&nbsp; Then, when it is that time, save the file.

For example, if you wanted to set the date and time to August 16, 2019, 11:59:45pm, you would change the code to the following:

```auto
# UNCOMMENT THE FOLLOWING FOUR LINES THE FIRST TIME YOU RUN THE CODE TO SET THE TIME!
import time
set_time = time.struct_time((2019, 8, 16, 23, 59, 45, 4, -1, -1))
print("Setting time to:", set_time)
rtc.datetime = set_time

# Comment out the above four lines again after setting the time!
```

Once you've set the date and time, comment out the four lines again or it will change the time back to the manual time you set every time the code runs.

### Main Loop

Next up, we start the main loop. First, set a variable to be the real time clock date-time.

```auto
while True:
    current = rtc.datetime
```

The next section has two parts. The first handles taking the 24-hour time provided by `rtc.datetime` and turning it into 12-hour time. The second part uses the 12-hour converted time to determine whether to display AM or PM.

```auto
hour = current.tm_hour % 12
    if hour == 0:
        hour = 12

    am_pm = "AM"
    if current.tm_hour / 12 &gt;= 1:
        am_pm = "PM"
```

The next section is everything needed to get text displaying on the OLED. Let's take a look!

First, you assign variables to the text strings displayed on the OLED.

```auto
time_display = "{:d}:{:02d}:{:02d} {}".format(hour, current.tm_min, current.tm_sec, am_pm)
    date_display = "{:d}/{:d}/{:d}".format(current.tm_mon, current.tm_mday, current.tm_year)
    text_display = "CircuitPython Time"
```

You can customise this section. You can change `text_display` string to any string that fits on the display. You can also change the order of the `current` time values, e.g. if you wanted the date order to be day/month/year, you would change the `date_display` line to:

`date_display = "{:d}/{:d}/{:d}".format(current.tm_mday, current.tm_mon, current.tm_year)`

The next section creates instances of `label` which is used to display the text. `label` requires providing a font and a string of text. Here you are using the default font specified earlier in the code, and the text strings found immediately above this section.

```auto
clock = label.Label(font, text=time_display)
date = label.Label(font, text=date_display)
text = label.Label(font, text=text_display)
```

Now that you've created the `label` instances, you can begin to manipulate things about them like location of each string on the display.

`bounding_box` allows you to determine the `x, y` location of the label, and the `width` and `height` of the string. The `width` and `height` are the amount of space taken up by the font being used on the display. This example does not use `height`, so it is ignored.

Next you set the location of the text. The `x` value is the location left to right on the display, the `y` value is the location top to bottom. The `y` value is simply a value to position the lines of text on the display from top to bottom. The `x` value, however, requires some math to ensure that no matter how long the string is, it is always centered.

For the `x` value, you take the width of the display (in pixels) and dividing it by 2 to determine the center of the display. You then divide the width of the bounding box (the width of the string of text) by 2 in the same manner to determine the center of the bounding box. You then subtract that value from the width of the display to center the text on the display. Using `//` ensures that you end up with whole numbers, as you cannot place something on half of a pixel.

```auto
(_, _, width, _) = clock.bounding_box
clock.x = oled.width // 2 - width // 2
clock.y = 5

(_, _, width, _) = date.bounding_box
date.x = oled.width // 2 - width // 2
date.y = 15

(_, _, width, _) = text.bounding_box
text.x = oled.width // 2 - width // 2
text.y = 25
```

Finally, you create a group to hold all of the lines of text to display them. You create the main group, `watch_group` , and then append the three labels into the group.

Lastly, to display the `watch_group` , you must set `oled.root_group` to the group you're expecting to display, e.g. `oled.root_group = watch_group` .

```auto
watch_group = displayio.Group()
watch_group.append(clock)
watch_group.append(date)
watch_group.append(text)
oled.root_group = watch_group
```

That's it! Your watch is set up and running, and now you're ready to get it assembled!

# CircuitPython OLED Watch Clock

## 3D Printing

## Slice Stand

Use PLA or other rigid material to print the stand. The stand is oriented to print on its side. This helps to prevent the use of support material. The first layer requires considerably strong adhesion. A large brim could be used to provide more adhesion to the bed of the 3D printer.

![3d_printing_cura-stand-slice.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/994/medium640/3d_printing_cura-stand-slice.jpg?1573497897)

## Customize Watch Band

The design of the watch band can be adjusted using Autodesk Fusion 360. Change the parameters to adjust the width, length and number of holes on the band.

## Patterns

We can change the patterns for each band&nbsp;by editing the features in the timeline.

![3d_printing_strap_size.jpg](https://cdn-learn.adafruit.com/assets/assets/000/037/423/medium640/3d_printing_strap_size.jpg?1479687480)

![3d_printing_pattern.jpg](https://cdn-learn.adafruit.com/assets/assets/000/037/424/medium640/3d_printing_pattern.jpg?1479687606)

## Download and 3D Print

The 3D printed parts can be downloaded with the link below.&nbsp;

[Edit Watch Band CAD](http://a360.co/2geb622)
[Edit Clock Stand CAD](https://a360.co/33H5JQY)
[Download from Thingiverse](http://www.thingiverse.com/thing:1907112)
Danger: 

![](https://cdn-learn.adafruit.com/assets/assets/000/037/237/medium800/3d_printing_3d-parts.jpg?1478969553)

## Materials & Slice Settings

This design&nbsp;requires an extruder capable of printing with&nbsp;flexible materials such as&nbsp;the [Flashforge Creator](https://www.adafruit.com/products/2742).&nbsp;If you're using standard Ninjaflex material (85A shore hardness), we recommend printing slow, around 20 to 40mm/s with the extruder temperature set to&nbsp;240c.

You can also use [Cheetah Ninjaflex](https://www.adafruit.com/category/128?q=%20Cheetah%203D%20Printer%20Filament&), which has a&nbsp;higher shore hardness (95A). The only difference will be in how flexible and how grippy the texture is.

![](https://cdn-learn.adafruit.com/assets/assets/000/037/247/medium800/3d_printing_3d-parts-blue.jpg?1478973485)

## Dual Color Printing

You can achieve the two tone colors using a single extruder by using 2 different gcode files. We'll swap filaments in between the print jobs. You'll need to leave&nbsp;the print on the bed after the first job is completed and then print the&nbsp;second gcode file.

For printing the two wrist bands, the first process will print from **0mm to 0.8mm** – you can set this up in **Simplify3D** by enabling the start/stop options in the **Layer Modifications** section, in the **Advanced** tab. The second process will&nbsp;start at layer 0.8mm and can print the rest of the part.

![3d_printing_Screen_Shot_2016-11-20_at_11.01.39_PM.png](https://cdn-learn.adafruit.com/assets/assets/000/037/426/medium640/3d_printing_Screen_Shot_2016-11-20_at_11.01.39_PM.png?1479701138)

## Retraction clean up

Flexible materials may need retraction disabled to print successfully, so we'll need to clean any left over material around the slots and grooves on the **GP-body.stl** part.

# CircuitPython OLED Watch Clock

## Clock Stand

## Clock Stand

You can create a desktop clock using the same CircuitPython code and FeatherWings. A 3D printed stand can house an Adafruit Tripler FeatherWing. The Feather M4, RTC module and OLED FeatherWing snaps on via female headers.&nbsp;

![3d_printing_hero-stand-clock.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/987/medium640/3d_printing_hero-stand-clock.jpg?1573437196)

## Install Feather M4 Headers

Use the male headers that came with the Feather M4. Use flush diagonal cutters to cut the plastic strip so there's a 12-pin and 16-pin.

![3d_printing_stand-feather-headers.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/975/medium640/3d_printing_stand-feather-headers.jpg?1573433947)

## Solder Headers

Insert the two header pins through the bottom of the PCB. A breadboard can assist you by holding them in place while soldering. Firmly press the header pins into the breadboard, making sure the are inserted straight. Apply solder to the top of the pins. Solder all of the pins to the headers.

![3d_printing_feather-header-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/976/medium640/3d_printing_feather-header-solder.jpg?1573433978)

## Install RTC FeatherWing Headers

Use the two sets of headers that came with the RTC FeatherWing. Use flush diagonal cutters to trim the headers so you have a 12 and 16-pin strip of headers.

![3d_printing_RTC-headers.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/977/medium640/3d_printing_RTC-headers.jpg?1573434007)

## Solder Headers

Using the same breadboard technique as the Feather M4, install the headers to the bottom of the PCB and insert them into the breadboard. Apply solder to all of the pins. Make sure the strips of headers are flush with the PCB.

![3d_printing_RTC-header-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/978/medium640/3d_printing_RTC-header-solder.jpg?1573434025)

## Install OLED FeatherWing Headers

Get the two strips of header pins ready for the OLED FeatherWing.&nbsp;

![3d_printing_OLED-headers.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/979/medium640/3d_printing_OLED-headers.jpg?1573434042)

## Solder Headers

Repeat the same process using the breadboard to hold the strips of headers in place while soldering.&nbsp;

![3d_printing_OLED-header-solder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/980/medium640/3d_printing_OLED-header-solder.jpg?1573434059)

## Tripler FeatherWing

The Tripler FeatherWing is designed to house up to three Feathers / FeatherWings. You need to use three sets of female header pins, a 12-pin and a 16-pin strip. These are installed to the designated spots on the PCB. Follow the markings and labels on the PCB to insert the headers correctly. Reference the photo for correct placement.

![3d_printing_tripler-protowing.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/981/medium640/3d_printing_tripler-protowing.jpg?1573434765)

## Stand Hardware

Use the following hardware to secure the Tripler FeatherWing PCB to the stand.

- 4x M2.5 x 6mm male-to-female standoffs
- 4x M2.5 hex nuts
- 4x M2.5 machine screws

You can optionally use tall/shorter standoffs. The black nylon standoff kit includes quite a few different sizes to choose from.

![3d_printing_stand-hardware.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/982/medium640/3d_printing_stand-hardware.jpg?1573435089)

### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

In Stock
[Buy Now](https://www.adafruit.com/product/3299)
[Related Guides to the Product](https://learn.adafruit.com/products/3299/guides)
![Black Nylon Screw and Stand-off Set with M2.5 Threads, kit box](https://cdn-shop.adafruit.com/640x480/3299-00.jpg)

## Install Hardware

The male threads on the standoffs are inserted through the four holes on the standoffs. They're M3 sizes so they should easily fit through. Use the hex nuts to secure the standoffs. Finger tighten the hex nuts, do not over tighten.&nbsp;

![3d_printing_stand-hardware-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/983/medium640/3d_printing_stand-hardware-install.jpg?1573435352)

## Install Tripler FeatherWing

Place the Tripler FeatherWing on top of the standoffs and line up the mounting holes. Insert and fasten the M2.5 machine screws through the top of the PCB.

![3d_printing_stand-triper-install.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/984/medium640/3d_printing_stand-triper-install.jpg?1573435387)

## Install FeatherWings

With the Tripler FeatherWing PCB secured to the stand, install the Feather M4 and FeatherWings to the female sockets. Place them in which ever order best suits your project and setup. You can easily swap them out by carefully pulling them out.

![3d_printing_installed-featherwings.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/988/medium640/3d_printing_installed-featherwings.jpg?1573437552)

## Use It

Plug-in a known good micro USB cable with a good data connection to the Feather M4. Access to the reset button and the FeatherWings allow you to test out different Feathers and FeatherWings. Have fun!

![3d_printing_install-featherwings.jpg](https://cdn-learn.adafruit.com/assets/assets/000/083/989/medium640/3d_printing_install-featherwings.jpg?1573437575)

# CircuitPython OLED Watch Clock

## Watch Build

![](https://cdn-learn.adafruit.com/assets/assets/000/037/233/medium800/3d_printing_feather-headers.jpg?1478968229)

## Headers

Add 12 and 16 female pin headers with the female side facing upwards on the Feather M4 Express board. This will let us plug the RTC above.

The large headers will allow more room for the JST connector and lipo battery to fit between the RTC and Feather board.

## Solder Headers

Use a small amount of tac to hold the headers in place. Make sure the&nbsp;headers&nbsp;are&nbsp;flat against the board and then solder each pin.   
  
We can use a&nbsp;Panavise to hold the&nbsp;boards&nbsp;while&nbsp;soldering.

![3d_printing_feather-headers-tac.jpg](https://cdn-learn.adafruit.com/assets/assets/000/037/260/medium640/3d_printing_feather-headers-tac.jpg?1478978261)

![3d_printing_feather-headers-soldered.jpg](https://cdn-learn.adafruit.com/assets/assets/000/037/261/medium640/3d_printing_feather-headers-soldered.jpg?1478978290)

## RTC

Use the header pins that came with RTC. Insert the headers with the longer pins facing downwards like shown in the picture.  
  
You can use flush diagonal cutters to cut one of the headers to fit inside on the 12 pin side of the board.

## OLED

Solder the short feather headers underneath the board with the female ends facing downwards like shown in the picture.&nbsp;

![3d_printing_watch-stack-order.jpg](https://cdn-learn.adafruit.com/assets/assets/000/084/019/medium640/3d_printing_watch-stack-order.jpg?1573509149)

![](https://cdn-learn.adafruit.com/assets/assets/000/037/240/medium800thumb/3d_printing_feather-stack-loop.jpg?1478970746)

## Stacking

Once all of the headers are soldered on, we can stacking them on top of each other.&nbsp;  
  
Add a&nbsp;coin cell battery to the RTC board by sliding it in with the + side up and at an angle.

![](https://cdn-learn.adafruit.com/assets/assets/000/037/256/medium800thumb/3d_printing_battery-insert-loop.jpg?1478977998)

## Fitting Lipo Battery&nbsp;

There is just enough room to insert the lipo battery between the Feather M4 and the RTC board. Carefully coil the wires so they fit between the boards.

![](https://cdn-learn.adafruit.com/assets/assets/000/037/243/medium800thumb/3d_printing_case-asseble-loop.jpg?1478971817)

## Watch case

Align the stack of boards with the cutouts on the 3d printed case. Slip the board stack inside the case and attach the watch bands.  
  
The end stoppers on&nbsp;the bands fit inside the slots on each side of the case. &nbsp;&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/037/257/medium800/3d_printing_hero-back.jpg?1478978059)

## Wear!

Putting the watch on with one hand can be tricky if you don't clean off the retraction left behind after 3d printing the case. Use a flush diagonal cutter to&nbsp;clean the adjustment holes and buckle tongue.

If the watch doesn't fit, you'll only need to adjust the watch bands by editing the length parameters available in the source files.


## Featured Products

### Adafruit Feather M4 Express - Featuring ATSAMD51

[Adafruit Feather M4 Express - Featuring ATSAMD51](https://www.adafruit.com/product/3857)
It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox, half bird, OK?) This feather is powered by our new favorite chip, the **ATSAMD51J19** -&nbsp; with...

In Stock
[Buy Now](https://www.adafruit.com/product/3857)
[Related Guides to the Product](https://learn.adafruit.com/products/3857/guides)
### DS3231 Precision RTC FeatherWing - RTC Add-on For Feather Boards

[DS3231 Precision RTC FeatherWing - RTC Add-on For Feather Boards](https://www.adafruit.com/product/3028)
A Feather board without ambition is a Feather board without FeatherWings! This is the **DS3231 Precision RTC FeatherWing** : it adds an extremely accurate I2C-integrated Real Time Clock (RTC) with a Temperature Compensated Crystal Oscillator (TCXO)&nbsp; to any Feather main board....

In Stock
[Buy Now](https://www.adafruit.com/product/3028)
[Related Guides to the Product](https://learn.adafruit.com/products/3028/guides)
### Adafruit FeatherWing OLED - 128x32 OLED Add-on For Feather

[Adafruit FeatherWing OLED - 128x32 OLED Add-on For Feather](https://www.adafruit.com/product/2900)
A Feather board without ambition is a Feather board without FeatherWings! This is the **FeatherWing OLED** : it adds a 128x32 monochrome OLED plus 3 user buttons to _any_ Feather main board. Using our [Feather Stacking...](https://www.adafruit.com/products/2830)

In Stock
[Buy Now](https://www.adafruit.com/product/2900)
[Related Guides to the Product](https://learn.adafruit.com/products/2900/guides)
### FeatherWing Tripler Mini Kit - Prototyping Add-on For Feathers

[FeatherWing Tripler Mini Kit - Prototyping Add-on For Feathers](https://www.adafruit.com/product/3417)
This is the **FeatherWing Tripler** - a prototyping add-on and more for all Feather boards. This is similar to our [FeatherWing Proto](https://www.adafruit.com/products/2884) except there are three! The magic of the Tripler comes when you want to connect your Feather to...

In Stock
[Buy Now](https://www.adafruit.com/product/3417)
[Related Guides to the Product](https://learn.adafruit.com/products/3417/guides)
### CR1220 12mm Diameter - 3V Lithium Coin Cell Battery

[CR1220 12mm Diameter - 3V Lithium Coin Cell Battery](https://www.adafruit.com/product/380)
These are the highest quality & capacity batteries, the same as shipped with the iCufflinks,&nbsp;iNecklace, Datalogging and GPS Shields, GPS HAT, etc. One battery per order (you'll want one battery per cufflink or pendant.)  
  
Brand may vary but all battery brands are verified...

In Stock
[Buy Now](https://www.adafruit.com/product/380)
[Related Guides to the Product](https://learn.adafruit.com/products/380/guides)
### Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh

[Lithium Ion Polymer Battery Ideal For Feathers - 3.7V 400mAh](https://www.adafruit.com/product/3898)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of **400mAh** for a total of about 1.9 Wh. If you need a larger (or smaller!)...

Out of Stock
[Buy Now](https://www.adafruit.com/product/3898)
[Related Guides to the Product](https://learn.adafruit.com/products/3898/guides)
### Header Kit for Feather - 12-pin and 16-pin Female Header Set

[Header Kit for Feather - 12-pin and 16-pin Female Header Set](https://www.adafruit.com/product/2886)
These two&nbsp; **Female&nbsp;Headers** &nbsp;alone are, well, lonely. But pair them with any of our&nbsp;[Feather](https://www.adafruit.com/categories/777)&nbsp;boards and you're in business!

What do they do? They get soldered on either side of the Feather...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2886)
[Related Guides to the Product](https://learn.adafruit.com/products/2886/guides)
### Short Headers Kit for Feather - 12-pin + 16-pin Female Headers

[Short Headers Kit for Feather - 12-pin + 16-pin Female Headers](https://www.adafruit.com/product/2940)
These two&nbsp; **Short** &nbsp; **Female&nbsp;Headers** &nbsp;alone are, well, lonely. But pair them with any of our&nbsp;[Feather](https://www.adafruit.com/categories/777)&nbsp;boards and you're in business!

These headers are particularly cute and...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2940)
[Related Guides to the Product](https://learn.adafruit.com/products/2940/guides)

## Related Guides

- [Adafruit OLED FeatherWing](https://learn.adafruit.com/adafruit-oled-featherwing.md)
- [Adafruit Feather M4 Express](https://learn.adafruit.com/adafruit-feather-m4-express-atsamd51.md)
- [CircuitPython displayio Setup for TFT FeatherWings](https://learn.adafruit.com/using-circuitpython-displayio-with-a-tft-featherwing.md)
- [Bluefruit Ouija Board](https://learn.adafruit.com/bluefruit-ouija-board.md)
- [Making oscilloscope images with DACs](https://learn.adafruit.com/dac-oscilloscope-images.md)
- [CYBERDECK Expansion Plate](https://learn.adafruit.com/cyberdeck-plate.md)
- [Animatronic Cosplay Wings](https://learn.adafruit.com/animatronic-cosplay-wings.md)
- [Computer Space Mini Arcade](https://learn.adafruit.com/computer-space-mini-arcade.md)
- [How to Build a Testing Jig](https://learn.adafruit.com/how-to-build-a-testing-fixture.md)
- [Mu Keyboard Shortcut Cheat Sheets](https://learn.adafruit.com/mu-keyboard-shortcut-cheat-sheets.md)
- [ItsyBitsy ESP32 wFL case](https://learn.adafruit.com/itsybitsy-esp32-wfl-case.md)
- [Qualia S3 Compass](https://learn.adafruit.com/qualia-s3-compass.md)
- [Pico W HTTP Server with CircuitPython](https://learn.adafruit.com/pico-w-http-server-with-circuitpython.md)
- [Nunchuck Controlled Laser Cat Toy](https://learn.adafruit.com/nunchuck-controlled-laser-cat-toy.md)
- [STEMMA Lego base plates](https://learn.adafruit.com/stemma-lego-base-plates.md)
- [Simple Vertical Wordclock](https://learn.adafruit.com/vertical-wordclock.md)
- [New Years Eve Ball Drop](https://learn.adafruit.com/new-years-eve-ball-drop.md)
