You are on page 1of 33

instructables

The Ultimate Binary Watch

by APTechnologies

I recently got introduced to the concept of binary watches and started doing some research to see if I could build one for
myself. However, I was unable to nd an existing design that was both functional and stylish at the same time. So, I
decided to create my own design completely from scratch!

Supplies:

All of the les for this project:


The libraries for the Arduino code can be downloaded from GitHub here:
M41T62 RTC Library
FastLED Library
LowPower Library

The Ultimate Binary Watch: Page 1


The Ultimate Binary Watch: Page 2
The Ultimate Binary Watch: Page 3
View in 3D Download
https://www.instructables.com/FBA/TILU/K9G9T0VE/FBATILUK9G9T0VE.f3d

View in 3D Download
https://www.instructables.com/FTL/IRDA/K9G9T0W3/FTLIRDAK9G9T0W3.f3d

Download
https://www.instructables.com/F0U/FSLH/K9UEVW2E/F0UFSLHK9UEVW2E.xls

Download
https://www.instructables.com/FUK/AYTV/K9YKWQC3/FUKAYTVK9YKWQC3.ino

Step 1: The Idea!

I recently stumbled upon the following video:


DIY Binary Wrist Watch
The video above shows a basic homemade binary watch. I had no idea that such a thing existed but after doing some
further research into the topic of binary watches I quickly realized there were a ton of di erent designs out there! I
wanted to build one for myself but was unable to nd a design that I liked. The binary watches that I found were lacking a
lot of features and did not look particularly good. So, I decided to design my own completely from scratch!
The rst step was establishing the criteria for my design. This is what I came up with:
The Ultimate Binary Watch: Page 4
Binary RGB interface
Time display (with very accurate timekeeping)
Date display
Stopwatch functionality
Alarm functionality
Battery life of at least 2 weeks
USB charging
Software easily customizable by the user
A clean and simple design

These criteria became the foundation for the entire project. The next step was to gure out how I wanted the watch to
function!

Step 2: Some Binary-Watch Theory

The plan was simple. The binary watch would operate just like a regular watch except that the interface would be binary,
speci cally, BCD (Binary Coded Decimal). BCD is a type of binary encoding where each decimal digit is represented by a
xed number of bits. I need 4 bits to be able to represent a digit from 0-9. And for a standard hh:mm time format, I need 4
of those digits. This means that I need a total of 16 bits which will be represented by 16 LEDs.
Reading the time in BCD is pretty easy once you get used to it. The row at the bottom of the watch represents the least
signi cant bit (1) and the row at the top is the most signi cant bit (8). Each column represents a digit in the hh:mm time
format. If an LED is ON, you count that value. If an LED is OFF, you ignore it.
To read the rst digit simply sum all the activated LEDs corresponding values in the rst (left most) column. Do the same
for the other digits from left to right. You have now read the time in BCD!
This principle will be the same for the rest of the functions on the watch. The use of RGB LEDs will help distinguishing
between di erent functions and modes using di erent colors. The colors are chosen by the user and can easily be
adjusted to whatever color palette they prefer. This allows the user to easily navigate through the functions without
getting confused.
The next step was creating a block diagram!

The Ultimate Binary Watch: Page 5


Step 3: Getting to Work

As any typical electronics project, a block diagram is an essential part in the early design stage. Using the criteria, I
managed to put together the block diagram above. Each block in the diagram represents a function in the circuit and the
arrows show the relationship of the functions. The block diagram in its entirety gives a good overview of how the circuit
is going to work.
The next step was to start making decisions on individual components for each block in the block diagram!

The Ultimate Binary Watch: Page 6


Step 4: Choosing Components

There turned out to be quite a lot of components in this circuit. Below, I have picked out some of the most essential ones
together with an explanation on why I chose them.
The LEDs

For the binary interface, the choice was fairly straight forward. I knew that I wanted to use LEDs for the display and
gured out that I needed 16 of them (in a 4×4 grid) to display as much information as possible. During my research for
the perfect LED, the APA102 kept coming up. It is a very small (2mm x 2mm) addressable LED with a wide range of colors
and is fairly inexpensive. Even though I had never worked with them before, they seemed to be the perfect t for this
project, so I decided to use them.
The Microcontroller

The choice of a microcontroller was also pretty simple. I have had a lot of experience using the Atmega328P-AU in
standalone applications and was very familiar with its features. This is the same microcontroller that is used in the
Arduino Nano boards. I am aware that there probably is a cheaper microcontroller that I could have used but knowing
that the Atmega328 would have full support for all Arduino libraries was a big factor in choosing it for this project.
The RTC (Real-Time Clock)

The primary requirement for the RTC was accuracy. I knew that the watch would not have any internet connectivity and
thus would not be able to recalibrate itself via an internet connection, the user would need to recalibrate it manually.
Therefore, I wanted to make the timekeeping as accurate as possible. The M41T62 RTC has one of the highest accuracies
that I could nd (±2ppm which is equivalent to ±5 seconds per month). Combining the high accuracy with the I2C
compatibility and the ulta low current consumption made this RTC a good choice for this project.
DC-DC Boost Converter

Choosing the DC-DC Boost Converter IC was done simply by looking at the circuit and guring out what voltages and
currents were required. Running the circuit on a low voltage would decrease the current consumption but I could not go
below 4.5V (the minimal microcontroller voltage at 16MHz clock) and I could not go above 4.5V (the maximum voltage of
the RTC). This meant that I had to run the circuit at precisely 4.5V in order to operate the components within their
recommended speci cations. I calculated that the maximal current of the circuit would not exceed 250mA. So, I began
looking for a boost converter that could meet the requirements and quickly stumbled upon the TPS61220. The TPS61220
required minimal external components, was fairly inexpensive and was able to satisfy the current and voltage
requirements.
The Battery

The primary requirement for the battery was the size. The battery needed to be small enough so that it could t inside
the watch enclosure without making it look bulky. I gured that the battery could not exceed 20mm × 35mm × 10mm.
With these size constraints and the current requirement of 250mA my choice of batteries was limited to LiPo batteries. I
found a "Turnigy nano-tech 300mAh 1S" battery on Hobbyking which I decided to use.
The Charging IC

There was no particular requirement for the charge controller except that it needed to be compatible with a 1S LiPo
battery. I found the MCP73831T which is a fully integrated charge controller designed for single-cell charging
applications. One of its features is the ability to adjust the charging current through an external resistor which I found
rather useful in this application.
LiPo Protection

I wanted to include voltage and current monitoring to protect the battery from any dangerous overcharge and over-
discharge conditions. There were a limited amount of ICs that provided such features and one of the cheaper options
was the BQ29700 IC. It required a minimal amount of external components and included all the necessary protection for
a single-cell LiPo battery.
The Ultimate Binary Watch: Page 7
Now that the components were chosen it was time to create the schematic!

Step 5: The Schematic

I was able to put together the schematic above using recommendations from each of the component’s datasheets. The
schematic is divided into di erent blocks to make it more readable. I also added some notes with important information
in case anyone else would want to recreate this design.
The next step was laying out the schematic on a PCB!

Step 6: PCB Layout

The PCB layout turned out to be the most challenging part of this project. I chose to use a 2-layer PCB to keep the PCB
manufacturing costs to a minimum. I opted to use a standard watch size of 36mm because that seemed to t the LEDs
pretty well. I added some 1mm screw holes to secure the PCB in the watch enclosure. The goal was to maintain a clean
and good-looking design by placing all of the components (except the LEDs of course) on the bottom layer. I also wanted
to use the absolute minimal number of vias to avoid having visible vias on the top layer. This meant that I had to route all
of the traces on a single layer while making sure to keep the "noisy" parts of the circuit away from the sensitive signal
traces. I also made sure to keep all of the traces as short as possible, placing the bypass capacitors close to the load, using
thicker traces for high power components and otherwise follow all of the common good practices of PCB design. The
routing took quite a bit of time, but I think it turned out very well.
The Ultimate Binary Watch: Page 8
The next step was creating a 3D model for the watch enclosure!

The Ultimate Binary Watch: Page 9


The Ultimate Binary Watch: Page 10
The Ultimate Binary Watch: Page 11
Step 7: 3D Design

The watch enclosure was designed after a very conventional watch style. I used a standard 18mm spacing for the watch
strap to make the watch compatible with a large variety of other straps. The cut-out for the PCB was designed 0,4mm
larger than the PCB itself to accommodate for any manufacturing inaccuracies. I included some screw posts for mounting
the PCB and a small edge for the PCB to lay on. I made sure to recess the PCB a fem millimeters from the top to avoid the
sharp edges of the LEDs getting stuck on clothing. The height of the enclosure was solely determined by the thickness of
the battery. The rest of the enclosure was designed to simply look good with rounded edges and polished corners. I did
have to keep the design 3D-print friendly so that I could 3D-print it at home without any support material.
Now that the hardware was nished it was time to begin working on the software!

The Ultimate Binary Watch: Page 12


The Ultimate Binary Watch: Page 13
The Ultimate Binary Watch: Page 14
Step 8: The Code

I began the code by including all of the necessary libraries. This includes the library for communicating with the RTC and
for driving the LEDs. After that, I created separate functions for each of the modes. When the user switches modes by
pressing a button, the program calls on the function corresponding to that mode. If the user does not press a button
within a speci ed amount of time, the watch goes to sleep.
Sleep mode is indicated by all of the LEDs fading until they are completely o . Using the sleep mode greatly increases the
battery life and keeps the LEDs turned o when they are not in use. The user can wake up the watch by pressing the
upper button. When woken up, the watch will check the battery level to ensure that it does not require charging. If
charging is required, the LEDs will ash red a few times before displaying the time. If the battery is below a critical level, it
will not turn on at all.
The rest of the time programming went into making the other modes as intuitive as possible. I gured that having the
same button responsible for the same functionality across all modes would be the most intuitive. After some testing, this
is the button con guration that I came up with:
Top Button Press: Wake up / Cycle between "Display Time", "Display Date", "Stopwatch" and "Alarm"
modes.
Top Button Hold: Enter "Set Time", "Set Date", "Start Stopwatch" or "Set Alarm" mode.
Bottom Button Press: Increase Brightness.
Bottom Button Hold: Enter "Choose Color" Mode.

The bottom button is always responsible for the brightness and color adjustments, independent of what mode you are
in. When the user enters "Choose Color" mode, the LEDs start cycling through all of the possible RGB colors. The user can
The Ultimate Binary Watch: Page 15
pause the animation and choose the color that they prefer for that speci c mode (Display Time in red, Display Date in
blue, etc.). The colors are meant to be easily customizable by the user to help them distinguish between the di erent
modes.
Now that the code was nished it was time to upload it to the microcontroller!

Step 9: Programming

It was almost time for the soldering and assembly but before that I needed to program the microcontroller. I followed
this tutorial
Burn the bootloader to a ATmega328P-AU SMD
on how to burn a bootloader and program the microcontroller using a regular Arduino Uno as the programmer.
The rst step was to turn the Arduino Uno into an ISP by uploading the "ArduinoISP" example code. I used a breadboard
together with a programming socket and wired up the schematic from the tutorial. After that, I was able to burn the
bootloader to the microcontroller by just pressing "Burn Bootloader" in the Arduino IDE.
Once the microcontroller had a bootloader, I simply removed the existing microcontroller from the Arduino Uno and
used the Arduino Uno board as a USB to Serial Adapter to upload the code to the microcontroller in the programming
socket. After the upload was nished, I could begin the soldering process.
The next step was gathering all the components and soldering them together!
The Ultimate Binary Watch: Page 16
Step 10: Soldering

The soldering process was divided into two parts. First the bottom layer needed to be soldered, and then the top layer.
I secured the watch PCB between a couple of prototype boards using tape. This ensured that the PCB did not move
during soldering, which is very important. I then placed the soldering stencil over the PCB and used a generous amount
of solder paste to cover all of the solder pads. I proceeded to use a thin pair of tweezers to place all of the components on
their corresponding pads. I then used a heat gun to re ow solder all of the components in place.
When the bottom layer was soldered, I gave it a quick visual inspection to make sure that the soldering was successful. I
then ipped over the board and repeated the soldering process on the other side, this time with all of the LEDs. It was
very important to not overheat the board when soldering the top layer since all of the components on the bottom are at
risk of falling o . Thankfully, all of the components stayed in place and after soldering the buttons in place using a regular
soldering iron, the PCB was nished!
It was now time for the nal assembly!

The Ultimate Binary Watch: Page 17


The Ultimate Binary Watch: Page 18
The Ultimate Binary Watch: Page 19
The Ultimate Binary Watch: Page 20
The Ultimate Binary Watch: Page 21
The Ultimate Binary Watch: Page 22
The Ultimate Binary Watch: Page 23
The Ultimate Binary Watch: Page 24
The Ultimate Binary Watch: Page 25
The Ultimate Binary Watch: Page 26
Step 11: Assembly

The assembly was very simple. I connected the battery to the PCB and placed the battery and the PCB inside the 3D
printed enclosure. I proceeded to screw in the four screws in the mounting holes in each corner of the PCB. After that, I
attached the watch straps using the 18mm spring bars and the watch was complete!

The Ultimate Binary Watch: Page 27


Step 12: Conclusion and Improvements

The watch works as expected and I am very happy with how it turned out. I have not had any problems with it so far and
the battery remains almost fully charged after a whole week of use.
I might add other features to the watch in the future. Since the USB port is connected to the microcontroller, the
rmware can be updated at any time with new features. For now though, I will continue to use this version of the watch
and see how it holds up after extended use.
If you have any thoughts, comments or questions about this project, please leave them below.

The Ultimate Binary Watch: Page 28


The Ultimate Binary Watch: Page 29
Hi ! Great project and instructables.

Any update on battery life ?


Continuo apaixonado por esse projeto. É uma pena que nem de longe haja possibilidade de
executar o mesmo de forma viável no Brasil...
This is probably the 5th time I’ve read through this entire project and I’m still just as impressed as
the first. Is there any update on the possibility of purchasing a kit for this? Or at least a “kit” of the
files such as code, pcb file to buy my own, and watch body STL? Looking forward to it!
Olá, gostaria de saber se conseguiria postar os links para compra dos componentes no
AliExpress?

Aqui no Brasil é bem dificil encontrar os componentes, e se tivermos os links seria otimo.
Hello! Really cool instructable!

Is it possible to get one as a kit?


Thanks!
Thanks!
I am working on making them available to purchase.
Thanks! I have just sent you a message

The Ultimate Binary Watch: Page 30


If you’re using BCD, then you don’t need more than 13 LEDs to display the time. The leftmost
hour digit will never be greater than 2, and the leftmost minute digit will never be greater than 5.
That makes 3 LEDs that will never get used for displaying the time.
That is correct when displaying the time or date. But when using the stopwatch function all of the
LEDs are used because it is counting minutes in the leftmost column. The display allows for any
custom functions that would require all digits plus the symmetry of having 4x4 LED grid looks
really nice in my opinion :)
Ahh ok. I didn’t realize this watch also had a stopwatch function. Sorry about that! In that case, all
16 LEDs are required. Quick question: why not use an RTC that requires an external clock
source? I’ve been modifying your design a bit for my own personal use and found that RTCs with
built in crystals can’t get better accuracy than about +-2ppm. For a watch without internet
connectivity, I would think accuracy is very crucial since they can’t recalibrate themselves
automatically. You can get RTCs that are controlled by external oscillators that have higher
frequency accuracy, even over temperature ranges.
I did not realize that you could get better accuracy because there was no way to search for it in
the parametric search. But you’re right that accuracy is important. Will look into it for a potential
Version 2!
Awesome! I'm ready to buy one. Do you plan to make kit?
Bravo
Thank you.
I am currently working on a version 2 with some improvements. When that design is finished, it
will be available to purchase.
Great! Do you think that the choose boxing's color can be possible?

I plan on having a few colors to choose from, maybe a white and a black.

Who made the PCB for you? Was it expensive?

I designed the PCB myself and ordered them from the manufacturer PCBWay. It was only a few
dollars for a handful of them.
Thanks for your reply.
How long did they take to get the PCBs to you? I assume you were happy with the quality?
It usually takes about a week with the fast shipping option. I have never had any problems with
the quality from them.
Something wrong in this picture F9ZSFOTK9G9STEH.jpg.
What time is it? 26h 04min or 20h 64min???
It is in "Date Mode" in that photo. So it shows 26-04 (26 of April). It should have been displayed in
a different color to distinguish it from the time mode. Bad color choice on my part.
oh good. Thanks a lot!!!

Exceptional. I want it.

Thanks!
I am working on a version 2 with some final improvements. It will be available to purchase when
the design is finished. It might take a little while though.
This is great! I'm especially impressed with the PCB layout and soldering. The only part I would
worry about is the durability of the face. Have you considered maybe making a "crystal" by
pouring some EnviroTex over the top to seal it? Of course, you would need to have a removeable
back at that point. Version 2?

The Ultimate Binary Watch: Page 31


I personally prefer the look of having the face open but I can see how it would be problematic
with long term use.
I am working on a version 2 which will have conformal coating on the face to keep moisture and
debris away. Hopefully that will help add some protection.
Does that display in the last picture read 26:04????

The first picture in Step 12 shows 21:04. The other picture in step 12 shows the date 26-04 (26:th
of April). They should have been displayed in different colors to make it more clear.
21:04 if i've read it right

Awesome. Great instructable. Thanks for sharing

Thanks! :)

Seriously cool dude. I see the last two comments and my eyes roll. Don't answer them. I'm
laughing my arse off!
It's a very creative DIY watch. Are you open source? Can you share the source code and circuit?

The source code can be downloaded from the Instructable as well as the schematic and other
files.
Hello, can I upload the library files of RTC? M41t62 and lowpower

I am unable to upload .zip files or folders with the library since Instructables does not allow that. I
have added a note with where to download the libraries.
Hello, I would like to ask about the hardware connection mode when we update the firmware
later.

For updating the firmware you will need an external USB-Serial converter, an external Arduino will
also work. You can then use the Micro USB port on the PCB to connect the 5V, TX, RX, GND and
RESET lines to the programmer/Arduino.
Such and awesome electronics project idea, thanks for sharing!

Thank you for this outstanding documentation — I can learn so much from it!

You are welcome!

I also would be very interested in buying either a kit or a prebuilt unit. Please keep me informed
when you do either.
I will!

Great project, I am joining the others with the intention to buy a kit or the whole product if you
decide to produce it in small series (not hand made I guess). Please take the right decision and
make many people happy with your awesome design.
Thank you. I will keep your request in mind

Can I buy one of those? Brilliant design. I Like it a lot! Especially because there is no internet and
other intrusive stuff involved but still 'digital'!
Thank you!

They are currently not for sale, but I am considering it.


just let me know and I will buy one

The Ultimate Binary Watch: Page 32


Great work! It's simplicity is awesome
Critical point: the soldering stencil... how did you make it?

Thank you!
The stencil was manufactured together with the PCB at the factory.

The Ultimate Binary Watch: Page 33

You might also like