Arduino Watch with Nokia 3110 screen

Arduino Watch with Nokia 3110 screen (1)

My goal for this project is to make a watch with selectable dials, stopwatch and millidays.

This idea started with an Aprils fools prank about metric-time. (
First I wanted to make a metric clock but soon this idea evolved from a metric watch into an open course watch.Arduino Watch with Nokia 3110 screen (1)

I knew that it would be hard (or impossible) to make the watch small enough to really wear, but I wanted to try it anyway.
This would be mostly a programming project, but that is nice for long, cold and dark winter nights.

So my watch needs to be:

  • small enough to wear
  • easy to reprogram
  • capable of showing metric time
  • have selectable dails
  • have an easy understandable menu structure
  • controllable with just 2 buttons (digital watches with 4 buttons confuse me)
  • cheap (I’m still Dutch you know)

Step 1: You will need

For the Watch 

  • Arduino Nano
  • Nokia 3110 screen (Adafruit or something)
  • 2 pushbuttons
  • 2 10K resistors
  • some wires
  • (optional a thermometer-ic)
  • 2 button-cell batteries
  • 2 small magnets
  • a small breadboard for prototyping if you want

Tools and stuff

  • soldering iron
  • solder
  • desoldering pump (or wick)
  • pliers
  • usb-cable
  • computer with Arduino software


  • silicon kit (black)
  • buckle (from old watch)
  • plank
  • aluminum 15 mm x 15 mm L-profile
  • aluminum strips and scraps
  • screws
  • polyester filler
  • polyester topcoat
  • wax
  • superglue

tools and stuff

  • screwdriver
  • hacksaw
  • old credit card
  • spatula
  • dremel
  • grinding stones for the dremel
  • sanding paper
  • some clean cloth
  • rubber gloves
  • ruler
  • sharpy

Step 2: Breadboarding the watch

To check if everything works like I want it to work, I first wire the components up on a breadboard.
I am going to use the library from Adafruit (thank you Lady Ada) to get the screen up and running, so I wire it up like it’s written in the test-sketch (program):

// pin 7 – Serial clock out (SCLK)
// pin 6 – Serial data out (DIN)
// pin 5 – Data/Command select (D/C)
// pin 4 – LCD chip select (CS)
// pin 3 – LCD reset (RST)
Arduino Watch

There is also a wire going from pin 9 to the backlight and a wire to ground. Because the display is actually 3.3V instead of the 5V coming from the Arduino, I wired the VCC to the 3.3V power of the Arduino. The power on the data pins is still 5V though, what can kill your screen, but mine is still working. (no guarantees though)

ATTENTION!!! >>> not all Nokia screen break out boards are wired the same way. Read what is written on the board and wire accordingly.

I also wired up two push buttons to pin 10 and 11, with a 10K pull down resistor to ground. (see the picture if you need more info)

In the picture it looks like the 3.3V wire is going nowhere, but that is just because I couldn’t find the right part in Fritzing (the program that made this picture for me)

Step 3: Programming the Sketch

For the screen I used the Adafruit library so it might be wise to start of with the Adafruit test sketch to check if everything is working. This sketch can also teach you a lot about how to program the screen so you can tweak the watch according to your own wishes.

Here you can find the Adafruit sketch together with the Nokia 5110 library and the GFX library. You will also find instructions about how to install the libraries on this page.

When everything is working you can run my watch-sketch.

[There are still some minor glitches in the code but mostly it works great. For the rest please tweak it how you like it.]

Read more: Arduino Watch with Nokia 3110 screen

Leave a Comment

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