Rapid Prototyping Services, Professional manufacturer of CNC Prototyping and 3D Prototyping in China. 

Make Your Own Smart Watch

by:Tuowei     2019-09-09
Most IT companies compete in the wrist-grabbing competition.
Smart watches become the most important product in the category of wearable devices.
You can easily find this mood in this link, there are a lot of smart watches.
But here\'s an easy way to evaluate the future of your own smartwatch. Make it!
Arduino micro-
I made a simple smartwatch and named it \"Vintage Watch \".
You can do the same!
Retro Watch is an open source project that lets you make smart watches based on Arduino and Android.
This article explains modules, blueprints, how to install and use Arduino and Android source code step by step.
Update to release notes (2015. 01. 12)
: U8glib is supported by watch.
All kinds of OLED can be used now (or else)
What you want, it consumes less memory (RAM).
On the contrary, the speed is slow when the screen brush.
You can find the source of the update on GitHub. Updated (2015. 08. 27)
: Fast guide video done by Deba168! !
This guide shows the easiest way to make a watchwatch! !
Is a simple system that uses a hardware platform called Arduino and an Android app for artists, designers and hobbyst.
Overall structure in the picture above.
Imagine a very small computer you can wear on your wrist.
The Arduino board is miniature.
There is only one input method for processors and storage devices: one button.
Bluetooth is communicated with other devices and the battery is required for the power supply unit.
I will install an Android app to collect or edit various RSS and system information and notify on Android devices.
You need to prepare the smallest possible module to wear on your wrist.
There may be a lot of changes, but I chose the parts that are commonly used and cheap. .
Hardware components of intelligent watcharnay micro
The smallest Arduino Pro mini is selected by controleri.
Arduino Pro mini is the light version of UNO r3.
It does not have a USB interface chip to reduce the price and size.
There are two versions according to the operating voltage (3. 3v/5v). And I used a 3.
3 v version because Bluetooth and display connected to the motherboard support 3.
The 3 v and 3 boards fit well. 7 v LiPo battery.
It runs at 8 MHz and 5 v version at 16 MHz, but 8 MHz is enough.
In general, all you need to do is prepare the Arduino Pro Mini 3.
3 v and USB to USB module.
The main chip of the motherboard, ATmega328, has only 2 KBytes of RAM, while the ATmega328 has only 1 KBytes, and running my system is very limited.
Most motherboards have the ATmega328, but you have to be sure.
One of the most common Bluetooth modules you can get is HC-
06 main module and module with interface substrate.
The latter has a reset button, status LED, which supports two operating voltages (3,3v/5v)
, So this one is more convenient, but the size is quite large, LED, which is not necessary and will run out of battery and is a bit expensive. So I used a HC-
06 no interface board.
To make a smart watch, you must find a small, low one. power display.
I thought a lot, and then I chose-.
OLED display 96\'\'
Display has various sizes (0. 96’’, 1. 3’’, etc)
It works at low
Power supply, English font and image output are available and support for I2C, SPI, making it easy to connect to Arduino. Updated (2015. 01. 12)
: U8glib is supported by watch.
All kinds of OLED can be used now (or else).
Check the supported devices at this link.
BatteryI uses LiPo (Lithum-Polymer)
Battery for this project. 1-
Battery LiPo battery flows out current in 3.
7 v, perfectly matched with Arduino Pro mini, with multiple batteries in size and capacity.
The ideal battery depends on how big a watch you want to make.
I recommend batteries with protective circuits (
Overcharge, overcharge
Unloading safe)
, Would be better if it had a removable socket.
This may help you if you have a female socket and a USB or DC adapter charger. Etc.
You need wire, soldering iron, switch and 10 k ohm resistor (for a button)
And a batsman, Jack.
Preparing the assembly manual will help you.
Ready for android v. 4.
3 support services for obtaining notification information from the app.
So the watchwatch app is based on Android v. 4.
Enable Notification Service.
For users who do not use Android v4.
However, apps that do not have this feature are also released.
You can download the source code on GitHub or you can download the app from the Google Play Store. (
Search using \"watch\" or \"Watch LE)
People who are used to handling Arduino or physical calculations will continue the process, but I would advise others not to assemble Arduino Pro Mini boards first, however, try making watches with boards that are easy to connect and use, like the UNO board.
The assembly structure of the watch is here. # Bluetooth-
> Arduino: # OLED-
> Arduino: Please refer to the link if your monitor has an SPI interface.
In the case of 7 pin spi oled, the connection is shown below.
# Button: you can connect with a button that is small enough with a 10 k buttonohm resistance.
Refer to the attached picture.
# Battery: you can connect (+)-> RAW, GND -> GND.
You need (+)
If you use any type of external power supply, such as an external battery, on the Arduino Pro mini board, connect to the original pin.
Otherwise the circuit board will be damaged.
USB to USB module-
> Arduino: you can download the watchwatch Arduino source on the sources tab on GitHub.
GitHub-watchwatch project page, you need to do something before compiling the source code. .
# Install graphics drivers you need a graphics library to draw images, shapes, and fonts on OLED.
In order to use it, you must install Adafruit _ ssd136, Adafruit-GFX-Library. (
According to your development environment, the Adafruit library conflicts with the Robot_xxx Library.
In this case, back up and delete the Robot_xxx library from the arduino library folder. )
Warning: If you are using OLED with SH1106 driver, use the adafruit_sh1106 driver in the link below.
Korean user Wonho made this based on adafruit_ssd136 driver.
In this case, you have to modify the code like below. Updated (2015. 01. 12)
: U8glib is supported by watch.
Please use u8glib if you want to use various monitors.
U8glib is more convenient to use and consumes less memory (RAM)
Various displays are supported.
In this case, download and install u8glib on the official homepage.
# Copy bitmap image header must copy the header file containing the bitmap image to be loaded and used.
The bitmap should be copied.
H to/Arduino installation folder/Arduino/hardware/Library/Arduino watch in the watchwatch folder.
If there is no such folder, do it directly.
# Modify the open source Arduino IDE and load the opencwtcharlton. ino.
Next, set the pin number used when connecting the watch.
If you use the Arduino pins used in this instruction, no modification is required.
But if you don\'t, you need to modify the source code below.
Software series (2,3);
/Enter your TX, RX pin numbersint buttonPin = 5;
Enter your button pin display. begin(
Ssd1363 _ switchcapvcc, 0 x3d);
/Replace Ox3D with your I2C address (2015. 01. 12)
: If you are using u8glib, load watwatwatwatcharduo_u8glib. ino file.
Check the code below.
U8glib _ ssd136_88x64 u8g (
/Change according to your displaySoftwareSerialBTSerial (2,3);
/Enter your TX, RX pin numbersint buttonPin = 5;
/The pin number of the input button has been updated (2015. 04. 21): WARNING! ! !
If using the OLED\'s RESET pin and the Adafruit graphics library, connect the RESET pin to the arduino\'s d8.
Or change the RESET pin definition in the sketch.
# Define the display of oled _ reset 8 adafruit _ ssd1306 (OLED_RESET);
And make sure that this pin definition is not repeated by BT or button. Updated (2015. 01. 22)
: Spi oled is supported by Thunderbolt watch.
I have updated it on GitHub.
# Compile/upload if you follow the instructions well, you need to compile the source code.
If this process fails, you must check the error message and the issue that has occurred so far.
If the upload is complete, the watchwatch Arduino logo and the Adafruit logo (
OLED manufacturers)
Must be displayed on OLED.
After the flag phase is over, the time is displayed as \"00: 00\" and the initialization is completely successful.
Now is the time to check Bluetooth.
Turn on Bluetooth on your phone (
Settings> Bluetooth).
Your phone starts searching for nearby Bluetooth devices and the Bluetooth module should be displayed.
After the Bluetooth module is displayed, you can continue the pairing phase, which will be 4-Digital password (
In my case the default is 1234).
It\'s too big to demonstrate how to compile and modify android source code.
FYI, check the/watchwatch _ android/watchwatch folder in the source code downloaded from GitHub.
I registered this app to play the Store so go and download it (
Search for \'watch\' or \'watch\').
Follow the instructions below to check the operation of the watch.
If you install the app, turn on Bluetooth first (
Settings> Bluetooth)
Pair with modules.
Next, start the watchwatch app.
Select the second menu (
Notification access)
At the top, grant the watchwatch notification authorization.
Select the first menu (
Select device)
In the action bar, select the Arduino board that has been paired.
Please check the power supply and Bluetooth module if not found.
Or select the device scan menu to scan manually.
If the connection is successful, you may see \"connected\" in the connection display area at the bottom \".
Touch action bar menu (…)
Select data transfer to observation \".
This menu transfers data over Bluetooth to display time and messages.
If the Bluetooth module works well with the Arduino board, the time information will be changed to the current time.
The Bluetooth connection is normal, but the time is not displayed, please check the connection between TX, RX.
Now, it\'s time to have fun with my own smartwatch! ! !
The picture shows progress so far.
Watch changes the mode in a circle as shown below.
Initial display: the stage in which the logo is displayed when the watch starts.
Clock Display: tells you the basic display of time.
You can change the style of the clock in the Android app.
Analog, digital, hybrid styles are supported so far.
If you press the button, the display will change to the emergency message display.
If there is no data update within 10 minutes, it switches to idle mode.
Emergency Message Display: The display displayed when the user presses the button in the watch display or a new emergency message is updated.
If the user presses the button again or more than 10 seconds, the next message is displayed.
After each emergency message is displayed, the display becomes a normal message display.
Normal message display: the display displayed after the emergency message ends or the user presses the button.
The next message is displayed when the user presses the button or 5 seconds later.
When the last message is displayed, the display changes to the clock.
Idle Display: Display if there is no data push within 10 minutes.
Display Indicator and time (hh:mm)
The display update interval is changed to run at minimum power consumption.
If you press the button or receive a new message, the display changes to the clock display.
The watchwatch module has these features.
Three emergency messages can be stored.
If there are more than 3 messages, the Mail already received by the watch will be deleted.
It cannot store large amounts of data due to insufficient memory (2KB RAM).
Up to 7 normal message stores.
As with an emergency message, the first message is deleted when the received message reaches the maximum.
You can change the clock style as needed.
Or you can even make your own clock style by changing the source code.
The Android app can use 65 icons.
You can also add your own icons. (
Need to compile Arduino code)
You can choose whether to display the indicator in the app.
The internal battery is 140 mAh, so the battery time is about 7 hours in normal condition.
I think if I fix the source code that saves the battery, the battery time will be longer.
The performance of the watchwatch itself is limited, but I have prepared some features to show a variety of data.
The biggest feature is to filter messages sent to the watch.
I also added an RSS feed feature to use data from different fields.
Try each feature by switching 4 tabs.
Message list Tab: The message is the information collected from the app.
Each message is deactivated except for emergency messages.
Unactivated messages were not sent.
You can change the status by filtering.
By touching each message, you can enable each message or message from the same package.
Filter settings tab: the watchwatch app controls each information by filtering.
You can add, fix, and delete filters in this tab.
Message string can be changed (ex.
Korean-changing language
> English as it only supports English)
, Delete messages that are not displayed, or activate them without modifying strings.
RSS tags: you can register and monitor RSS feeds.
Watches can display a large amount of information through RSS feeds.
For example, if you add weather RSS and modify the string you want to filter, you can receive weather alerts from your watch! ! !
You can easily search the RSS feed from the website I made and add it to the app. (
Sorry, written in Korean now)
Monitoring control tab: you can change the style of your application and monitoring.
If you put your Gmail account here, unread mail is registered in the mailing list.
You can change the clock style and time display indicator to display (
Display interval has been set due to power saving, change to interval apply). __.
The watchwatch app collects three kinds of data.
Notice: notice registered in the Andriod indicator column.
App collects notifications only on Android 4 using the notification service.
This feature is supported by 3.
Please download the other android version of the Watch LE app.
LE app does not have a notification collection feature.
System Information: System information of the mobile phone, such as battery status, RF (LTE, 3G)
The connection status, WiFi status, charging progress are collected in the watch.
Also, if you sign up for a Gmail account, it will count unread emailsmails.
RSS feed: If the RSS header and URL are set, it reads the RSS data on a regular basis. .
Here are other small features.
The message is sent in two ways: emergency message and normal message.
But the user cannot modify.
You can set the icon that is displayed on the watch when the watch filters the message.
65 icons can be used.
All information updates the watch every 30 minutes.
Even if you close the app, the watchwatch service will run in the background.
Need more details on how to use the app?
See this link: Quick Guide for vintage watch applications.
Watchwatch Android, Arduino module is done, you need to pack the watch if there is no problem with the operation.
Do what you want.
Watchwatch specification: with this project, you can feel how fascinating and powerful open source and open hardware is.
Although you are not professional, the idea is implemented because the hardware is getting cheaper and a lot of people share source code and knowledgehow. Let’s try! ! !
You can see the work demo on the YouTube link.
More specific methods of operation
To record on the following website: Download source for watchwatch project: GitHub watchwatch pagetro Watch app quick guide-
Case file for 3D printer, awesome case for Wonho design (
See step 9 title picture)
Watchwatch Android is based on the Apache license and watchwatch Arduino follows GPL v3. 0.
Thank you very much-
Han Junhe Qinggong-Rae Park.
Jeon translated the article in English and Park did a case for the PlayStation watch with his 3D printer.
The awesome one in the title picture is designed by Wonho.
You can get the 3D modeling file here.
Find more on his blog.
If you would like to translate this document into other languages, feel free to translate it!
After the translation, just let me know your result and your name.
I will update this document.
Please share with me if you have your own watch. (
From Godstale @ hotmail. com)
Custom message
Chat Online
Chat Online
Chat Online inputting...