You are on page 1of 16

Explore (/tag/typeid/)

(/)
(/)

Create (/about/submit.jsp)

Contests
let's make (/contest/)

Community (/community/)
You (/you/)

share what you make >


(/editInstructable/)

(/id/intel/)

(/tag/typeid/categoryworkshop/channelgardening/?sort=FEATURED)
(/tag/typeid/categoryoutside/channelbikes/?sort=FEATURE
(/tag/typeid/categorytechnology/chann

AboutThisInstructable
342,748views

Posted:
Feb16,2014

1,468favorites

License:

GodsTale
(/member/GodsTale/)
HardCopyWorld
(http://www.hardcopyworld.com/)

(http://cdn.instructables.com/FBB/NAS5/I4PHMQ54/FBBNAS5I4PHMQ54.LARGE.jpg)

(/member/GodsTale/)
Follow

174

ThisdocumentisalsotranslatedinPolish
(http://akademia.nettigo.pl/smartwatch/index.html)(bySebastian
(http://akademia.nettigo.pl/)),Korean
(http://www.hardcopyworld.com/gnuboard5/bbs/board.php?
bo_table=project_hardcopy&wr_id=4)language.

Bio: This,Too,ShallPassAway

MostITcompaniesparticipateintheracetograbpeopleswrist.Asmartwatch
becomesthemostsignificantiteminawearabledevicecategory.Youcaneasily
findthismoodinthislink(http://www.smartwatchnews.org/smartwatch/),there
aretonsofsmartwatches.

(/id/SocialBugbluetooth
dancingrobot)

Buthereisasimplewaytoevaluatesmartwatchsfutureonyourown.Makeit!
WithArduinomicroprocessorandAndroid,Imadeasimplesmartwatchand
nameditRetroWatch.Youcandothistoo!
RetroWatchisanopensourceprojecttoletyoumakeasmartwatchbasedon
ArduinoandAndroid.Thistextexplainsaboutmodules,blueprints,howtoinstall
andusetheArduinoandtheAndroidsourcecodesstepbystep.
Releasenote
Updated(2015.01.12):RetroWatchsupportsu8glib.Nowyoucanusevarious
kindofOLED(orelse)asyouwantanditconsumeslessmemory(RAM).Instead
itsliitleslowatscreenrefresh.YoucanfindupdatedsourcesatGitHub
(https://github.com/godstale/retrowatch).

MorebyGodsTale

(/id/Makewirelesscharging
mouse)

(/id/Makeyourownactivity
tracker)
Tags:
SmartWatch(/tag/typeid/category
technology/keywordsmart+watch/)
DIY(/tag/typeid/categorytechnology/keyworddiy/)
Arduino(/tag/typeid/categorytechnology/keyword
arduino/)
Android(/tag/typeid/categorytechnology/keyword
android/)

Step1:OverallStructure

Addinstructableto:
Group

Related

(http://cdn.instructables.com/F7X/WNKF/HRPNAAAS/F7XWNKFHRPNAAAS.LARGE.jpg)

RetroWatchisasimplesystemthatisusedahardwareplatformcalledArduino,
whichisintendedforartists,designers,andhobbyst,andanAndroidapp.The
overallstructureisinthepictureabove.
Imagineaverysmallcomputerthatyoucanwearonyourwrist.Arduinoboardis
amicroprocessorandastorage,andtheresonlyoneinputmethod:abutton.
Bluetoothistocommunicatewithotherdevices,andthebatterywouldbe
necessaryforpower.IllinstallanAndroidappforcollectingoreditingvarious
RSSandsysteminformationandfornotificationontheAndroiddevice.

Step2:PreparingforRetroWatch

(http://cdn.instructables.com/FU9/A6QD/HRPNAADC/FU9A6QDHRPNAADC.LARGE.jpg)

Youneedtopreparemodulesassmallaspossibletowearthewatchonyour
wrist.Theremaybetonsofvariations,butIchosepartsthatarecommonlyused
andinexpensive.
.
Hardwarepartsforsmartwatch
Arduinomicrocontroller
IchosethesmallestArduino,Promini.ArduinoProminiisalightversionof
UNOR3.ItdoesnthaveaUSBinterfacechipinordertoreducethepriceand
thesize.Therearetwoversiondependingontheoperatingvoltage(3.3v/5v).
AndIuseda3.3vversion,becausethebluetoothanddisplaythatareconnected
withtheboardsupport3.3vandtheboardgoeswellwiththe3.7vLiPobattery.It
runsat8MHzanda5vversionat16MHz,but8MHzisenough.Overall,allyou
needtoprepareareArduinoProMini3.3vandUSBtoUARTmodule.
Themainchipoftheboard,ATmega328,hasonly2KBytesRAM,but
ATmega128hasjust1KBytes,whichisverylimitedtorunmysystem.Most
boardshaveATmega328,butyouhavetomakesure.
Bluetooth
OneofmostcommonbluetoothmodulesthatyoucangetareHC06main
moduleandtheonewithinterfacebaseboard.Thelatteronehasaresetbutton,
thestatusLED,anditsupportsbothoperationvoltage(3,3v/5v),sothisoneis

Takecontrolofyour
housein10Minutes
(http://www.instructables.com/id/Take
controlofyourhousein
10Minutes/?
Arduino+Androidburglar
alarmHomeautomation
(http://www.instructables.com/id/Make
noiseArduinoTweetand
SMSusingAndroidApp/?
SmartHomeAutomation
withAndroid+Ethernet
Internet+Arduino
(http://www.instructables.com/id/Smart
HomeAutomationwith
"SmartShield"Portable
alarmsystemusing
Arduino
(http://www.instructables.com/id/Smart
ShieldPortablealarm
Makeyourownactivity
tracker
(http://www.instructables.com/id/Make
yourownactivity
tracker/?
SeeMore(/tag/typeid/?q=)

moreconvenientbutthesizeisratherbig,theLED,whichisnotquitenecessary
drainsthebatteryandalittlemoreexpensive.SoIusedaHC06withoutthe
interfaceboard.
Display
TomakeaSMARTWATCH,itwouldbenecessarytofindasmall,lowpower
display.Idgivenlotsofthoughts,thenIchose.96OLEDDisplay.Thereare
varioussizesofthedisplays(0.96,1.3,etc),itworksonlowpower,English
fontandtheimageoutavailable,anditsupportsI2C,SPI,whichmakeseasyto
connectwithArduino.
<strong>Becarefulatselectingadisplay!!</strong>Iusedan12864OLEDwhich
isusingI2CandSSD1306driverchip.Ifyouareusingdifferentone,youmaynee
dtousedifferentgraphiclibrariesandmodifyarduinosourcecode.

Updated(2015.01.12):RetroWatchsupportsu8glib.Nowyoucanusevarious
kindofOLED(orelse).Checksupporteddevicesatthislink
(https://code.google.com/p/u8glib/wiki/device).

Battery
IuseLiPo(LithumPolymer)batteryinthisproject.1cellLiPobatteryflowsout
currentin3.7v,whichworksperfectlywithArduinoPromini,andtherearemany
kindofbatteriesintermsofthesizeandthecapacity.Themostidealbattery
dependsonwhatsizeofwatchyouwanttomake.Irecommendthebatterywith
protectioncircuit(overcharging,overdischargingsafe),anditsbetterifithasa
removablesocket.ItmighthelpfulforyouifyougetafemalesocketandUSBor
DCadaptorrecharger.
Etc.
Youneedwires,solderingiron,aswitchand10Kohmresistance(forabutton),
andabatterjack.Itwouldbehelpfulforyoutopreparetheassemblymanual.

PreparingforAndroid
Androidv.4.3supportstheservicethatisusedtogetnotificationinformation
fromanapp.SoRetroWatchappisbasedonAndroidv.4.3toenablenotification
service.ForuserswhodontuseAndroidv.4.3yet,theappwithoutthisfunction
isreleasedalso.YoucandownloadthesourcesatGitHub
(https://github.com/godstale/retrowatch),ordownloadtheappfromGooglePlay
Store.(SearchwithRetroWatch(https://play.google.com/store/apps/details?
id=com.hardcopy.retrowatch)orRetroWatchLE
(https://play.google.com/store/apps/details?id=com.hardcopy.retrowatchle))

Step3:Assemblingthewatch

Makeyourownsmartwatch
byGodsTale(/member/GodsTale/)
(http://cdn.instructables.com/F02/D1XL/HRPNAALS/F02D1XLHRPNAALS.LARGE.jpg)
Download(/id/Makeyourownsmartwatch/?download=pdf)

(/id/Makeyourownsmartwatch/)
Collection

(http://cdn.instructables.com/FCZ/6UC1/HRPNAALT/FCZ6UC1HRPNAALT.LARGE.jpg)

FolkswhoareaccustomedtohandlingArduinoorphysicalcomputingwould
proceedthisprocedure,butIrecommendtheothersnottoassembleArduino
Prominiboardfirst,buttrytomakethewatchwiththeboardthatiseasyto
connectanduselikeUNOboard.TheassemblystructureforRetroWatchis
here.

9Steps

IMadeit!

Favorite

Share

#Bluetooth>Arduino:
VCC>3.3V
GND>GND
TX>D2
RX>D3
#OLED>Arduino:
GND>GND
VCC>VCC
(http://cdn.instructables.com/FRB/YCTW/HYMSZDC3/FRBYCTWHYMSZDC3.LARGE.jpg)
SDA>A4(theanalog4thpin)
SCL>A5(theanalog5thpin),
IfyourdisplayhasSPIinterface,refertothelink
(https://learn.adafruit.com/monochromeoledbreakouts/wiring128x32spioled
display).Incaseof7pinSPIOLED,connectlikebelow.
D1:MOSIArduinoD11(MOSI)
D2:MISOArduinoD12(MISO):thispinisoptional.
D0:CLKArduinoD13(SCK)
DC:DC(DataCommand)ArduinoD8(orelse)
CS:CS(Chipselect)ArduinoD10(SS)
RES:RESETArduinoD9(orelse)
#Button:
Youmayconnectwithabuttonwhichissmallenoughforthesmartwatchanda
10kohmresistance.Refertothepictureattached.
#Battery:Youcansimplyconnectbatterybyconnecting(+)>RAW,GND>
GND.Youneedtoput(+)linetoRAWpinincaseyouuseanysortofexternal
powersupply,suchasanexternalbattery,onArduinoProminiboard.
Otherwise,itcandamagetheboard.
#USBtoUARTmodule>Arduino:
3.3V>VCC
TXD>RXD
RXD>TXD
GND>GND

Step4:CompileArduinosourceforwatchandupload.

(http://cdn.instructables.com/FVF/U3FA/HRPNAATQ/FVFU3FAHRPNAATQ.LARGE.jpg)

YoucandownloadRetroWatchArduinosourceonthesourcetabontheGitHub.
GitHubRetroWatchprojectpage(https://github.com/godstale/retrowatch)
Andyouneedtodosomethingbeforeyoucompliethesourcecode.
.
#Installgraphicsdriver
Youneedagraphiclibrarytodrawimages,shapes,fontsontheOLED.Inorder
touseit,youmustinstallAdafruit_SSD1306
(https://github.com/adafruit/Adafruit_SSD1306),AdafruitGFXLibrary
(https://github.com/adafruit/AdafruitGFXLibrary).
(Accordingtoyourdevelopmentenvironment,Adafruitlibraryconflictswith
Robot_xxxlibrary.Inthiscase,backupanddeleteRobot_xxxlibrariesfrom
arduinolibraryfolder.)
WARNING:IfyouareusinganOLEDwithSH1106driver,useAdafruit_SH1106
driveratbelowlink.KoreanuserWonhomadethisbasedonAdafruit_SSD1306
driver.https://github.com/wonhomaker/Adafruit_SH1106
(https://github.com/wonhomaker/Adafruit_SH1106)

Inthiscaseyoumustmodifycodeslikebelow.
#include<Adafruit_SH1106.h>
SoftwareSerialBTSerial(9,8);//BluetoothTX,RXconnection

intbuttonPin=5;//Buttonpin

display.begin(SSD1306_SWITCHCAPVCC,0x3C);//OLEDI2Caddress.Useyourownsett
ings

Updated(2015.01.12):RetroWatchsupportsu8glib.Ifyouwishtousevarious
display,useu8glibinstead.U8glibismoreeasytouse,consumesless
memory(RAM)andsupportsvariousdisplay.Inthiscasedownloadandinstall
u8glibatofficialhomepage(https://code.google.com/p/u8glib/).

#Copyingthebitmapimageheader
Youmustcopytheheaderfilethatcontainsbitmapimagestoloadanduse
them.Youshouldcopybitmap.hinRetroWatchArduinofolderto/Arduinoinstall
folder/Arduino/hardware/libraries/RetroWatch.Iftheresnosuchfolder,simply
makeit.
#Modifyingthesource
OpenArduinoIDEandloadRetroWtchArduino.ino.Next,setpinnumbersthat
youusedwhenyouconnectthewatch.Itsnotnecessarytomodifyifyouuse
Arduinopinsthatareusedinthisinstruction.Butifyoudidnt,youneedto
modifythesourcecodesbelow.
SoftwareSerialBTSerial(2,3)//InputyourTX,RXpinnumbers
intbuttonPin=5//Inputyourbuttonpinnumber
display.begin(SSD1306_SWITCHCAPVCC,0x3D)//ReplaceOx3Dwithyour
I2Caddress
Updated(2015.01.12):Ifyouareusingu8glib,load
RetroWatchArduino_u8glib.inofile.Andcheckbelowcodes.
U8GLIB_SSD1306_128X64
u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0)//changethisline
accordingtoyourdisplay
SoftwareSerialBTSerial(2,3)//InputyourTX,RXpinnumbers
intbuttonPin=5//Inputyourbuttonpinnumber
Updated(2015.04.21):WARNING!!!IfyouareusingOLED'sresetpinand
Adafruitgraphiclibrary,connectresetpintoarduino'sD8.Orchangeresetpin
definitioninsketch.
#defineOLED_RESET8
Adafruit_SSD1306display(OLED_RESET)
AndmakesurethatthispindefinitionisnotduplicatedwithyourBTorbutton.
Updated(2015.01.22):RetroWatchsupportsSPIOLED.I'veupdatedat
GitHub.
#Compile/Upload
Ifyoufollowtheinstructionwell,youneedtocompilethesourcecode.Ifthis
procedurefails,youhavetochecktheerrormessageandwhatwentwrongso
far.
Ifuploadiscompleted,theRetroWatchArduinologoandtheAdafruitlogo(the
OLEDmanufacturer)havetobedisplayontheOLED.Afterthelogophase
passesandtimeshowsup00:00,theinitializationperfectlysucceeds.
Now,itstimetochecktheBluetooth.TurnontheBluetoothonyour
phone(Setting>Bluetooth).YourphonestartstosearchBluetoothdevices
nearby,andtheBluetoothmoduleshouldshow.OncetheBluetoothmodule
shows,youmayproceedthepairingphase,andthetwodevicesconnectafter
putting4digitpassword(inmycase,default1234).

Step5:Androidappinstall&sourcedownload

(http://cdn.instructables.com/F5C/N8BF/HRPNAB30/F5CN8BFHRPNAB30.LARGE.jpg)

(http://cdn.instructables.com/F5W/JHAD/HRPNAB31/F5WJHADHRPNAB31.LARGE.jpg)

Itstoobigtodemostratehowtocompileandmodifytheandroidsource.FYI,
check/RetroWatch_Android/RetroWatchfolderinthesourcedownloaded
(http://cdn.instructables.com/FQX/5MQA/HRPBJSW6/FQX5MQAHRPBJSW6.LARGE.jpg)
fromGitHub(https://github.com/godstale/retrowatch).Iregisteredthisappto
PlayStore,sogodownloadit(searchRetroWatch
(https://play.google.com/store/apps/details?id=com.hardcopy.retrowatch)or
'RetroWatchLE(https://play.google.com/store/apps/details?
id=com.hardcopy.retrowatchle)').
FollowtheinstructionasbelowandchecktheoperationofRetroWatch.
Ifyouinstalltheapp,turnonthebluetoothfirst(Setting>Bluetooth)andpairwith
themodule.Next,startRetroWatchapp.Choosethesecondmenu(Notification
access)onthetopandgrantRetroWatchtheauthorizationforNotification.
Choosethefirstmenu(Choosethedevice)intheactionbarandselectthe
Arduinoboardthatisalreadypaired.Ifyoucantfindit,checkthepowerandthe
bluetoothmodule.Orchoosedevicescanmenutoscanmanually.
Iftheconnectionissucceeded,youmayseeConnectedinconnectivitydisplay
areaatthebottom.Touchtheactionbarmenu()andchooseDatatransferto
Watch.ThismenutransferthedatatodisplaytimeandmessagesbyBluetooth.
IftheBluetoothmoduleworksfinewiththeArduinoboard,timeinformation
changestocurrenttime.TheBluetoothconnectionisOK,buttimedoesnt
display,checktheconnectionbetweenTX,RX.Now,itstimetohavefunwith
MYOWNSMARTWATCH!!!Picturesshowtheprogresssofar.

Step6:RetroWatchArduino

(http://cdn.instructables.com/FWI/U9ZM/HRPBLG5C/FWIU9ZMHRPBLG5C.LARGE.jpg)

RetroWatchchangesmodeinacircleasbelow.
Initialdisplay:
Thephasewhichthelogoshowsupwhenthewatchboots.
Clockdisplay:
Thebasicdisplaywhichtellsyoutime.Youcanchangethestyleoftheclockin
theAndroidapp.Analog,Digital,Mixedstylesaresupportedsofar.Ifyoupush
thebutton,thedisplaychangestotheEmergencymessagedisplay.Itchanges
totheidlemodeincasetheresnodataupdatefor10minutes.
Emergencymessagedisplay:
Thedisplaythatshowswhenuserspushthebuttoninthewatchdisplayora
newemergencymessageisupdated.Ifuserspushthebuttonagainor10
secondspasses,thenextmessageisshown.Thedisplaychangestoathe

normalmessagedisplayaftereveryemergencymessageshows.
Normalmessagedisplay:
Thedisplaythatshowsafteremergencymessageendsoruserspushthe
button.Thenextmessageshowsupwhenuserspushthebottonorafter5
seconds.Thedisplaychangestotheclockwhenthelastmessageshows.
Idledisplay:
Thedisplaythatisshowniftheresnodatapushduring10minutes.Itdisplays
Indicatorandtime(hh:mm)thedisplayupdateintervalchangestorunat
minimumpowerconsumption.Ifyoupushthebuttonorgetanewmessage,the
displaychangestotheclockdisplay.

RetroWatchmodulehasthesefeatures.
Threeemergencymessagescanbestored.Themessagethatthewatchis
alreadyreceivedisdeletedifthemessagesareover3.Itcantstorelotsofdata
duetomemoryshortage(2KBRAM).
Normalmessagestoresupto7.Likeemergencymessages,thefirstmessages
aredeletedwhenthereceivedmessagesreachtothemaximum.
Youcanchangetheclockstyleasyouwant.Oryoucanevenmakeyourown
clockstylebyalteringthesourcecode.
Thereare65iconssotheAndroidappcanusethem.Youcanalsoaddyour
ownicons.(needtocompileArduinocode)
Youcanchoosewhethertheindicatorwouldbeshownornotintheapp.
Theinternalbatteryis140mAh,sothebatterytimeisabout7hrsatanormal
status.IguessthebatterytimewouldbelongerifIfixthesourcecodefor
batterysave.

Step7:RetroWatchAndroidapp.

(http://cdn.instructables.com/FVC/P0TA/HRPBJRQ0/FVCP0TAHRPBJRQ0.LARGE.jpg)

TheperformanceofRetroWatchitselfislimited,butIpreparedsomefeaturesto
showvariousofdata.Thebiggestfeatureisfilteringmessagessenttothe
watch.AndIputanRSSfeedfeaturetousedatafromdifferentkindofareas.
Tryeachfeaturebyswitching4tabs.
Messagelisttab:
Messagesaretheinformationcollectedfromtheapp.Everymessageis
inactivatedexceptforemergencymessages.Inactivatedmessagesarenotsent.
Youcanchangethestatusbyfiltering.Bytouchingeachmessage,youcan
enableeachmessageormessagesfromsamepackage.
Filtersettingtab:

TheRetroWatchappcontrolseverysingleinformationbyfiltering.Youcanadd,
fix,anddeletefiltersinthistab.Youcanchangestringsofmessages(ex.change
languageKorean>EnglishsinceitsupportsEnglishonly),deletemessages
nottoshow,orjustactivatethemwithoutastringmodification.
RSStab:
YoucanregisterandmonitorRSSfeeds.Thewatchcanshowlotsof
informationbyRSSfeeds.Forinstance,ifyouaddaweatherRSSandmodify
stringstofilter,youcanreceivetheweatheralarmfromthewatch!!!Youcan
easilysearchRSSfeedsfromthewebsitewhichImadeandaddthemtothe
app.(Sorry,it'swritteninKoreannow)
Watchcontroltab:
Youareabletoalterstylesoftheappandwatch.IfyouputyourGmailaccount
here,unreadmessagesareregisteredinamessagelist.Youcanchangethe
clockstyleandtimedisplayindicatortoshow(Displayintervalisalreadyset
becauseofpowersaving,thechangeappliesatinterval).
__
.
TheRetroWatchappcollectsthreekindsofdata.
Notification:
AnotificationthatisregisteredintheAndriodindicatorbar.Appusesthe
Notificationservicetocollectnotifications,onlyoverAndroid4.3supportsthis
feature.PleasedownloadRetroWatchLEappforotherandroidversion.LEapp
doesnthavethenotificationcollectionfeature.
Systeminfo:
Thesysteminfoofthephonesuchasbatterystatus,RF(LTE,3G)connection
status,WiFistatus,rechargingprogressiscollectedinthewatch.Inaddition,if
youregisteraGmailaccount,itcountsunreademails.
RSSfeed:
IfyousetRSStitleandURL,itperiodicallyreadRSSdata.
.
Herearetheotherminorfeatures.
Messagesaresentintwokindsemergencymessage,normalmessage.But
userscannotmodifythem.Youcanseticonthatshowsonthewatchwhenit
filtersmessages.Youcanuse65icons.Allinformationisupdatedtothewatch
every30minutes.TheRetroWatchservicerunsinbackgroundevenifyoushut
theapp.
Needmoredetailsabouthowtouseapp?Seethislink:RetroWatchappquick
guide(http://www.hardcopyworld.com/ngine/aduino/index.php/archives/722).

Step8:Packaging

(http://cdn.instructables.com/FTD/FWAP/HRPNAB8Q/FTDFWAPHRPNAB8Q.LARGE.jpg)

RetroWatchAndroid,Arduinomoduleisdone,andiftheresnoproblemto
(http://cdn.instructables.com/FZR/XE7B/I4PHMS8W/FZRXE7BI4PHMS8W.LARGE.jpg)
operate,youneedtopackthewatch.Makeapackageasyouwant.
RetroWatchSpecifications:
Processor:ATmega3283.3v(8MHz)
32KBFlash(2KBissharedforBootloader)
2KBRAM
1KBEEPROM
Size:WidthxHeightxDepth=34mmx32mmx12mm(Notpackaged)
Battery:LiPo140mAh(idletime67hrs,12hrsforrecharging)
ConnectingwithAndroidapp
Supportsnotification,systeminfo,RSSfeed
(http://cdn.instructables.com/F2G/XKNL/I4PHMSEU/F2GXKNLI4PHMSEU.LARGE.jpg)
Messagefiltering
Opensource
Hardcasefilefor3Dprinter>Downloadhere
(http://www.thingiverse.com/thing:610603)!!

Step9:Workingdemoandepilogue

(http://cdn.instructables.com/F2P/R8V0/I4PHMSQD/F2PR8V0I4PHMSQD.LARGE.jpg)

Youcanfeelhowfascinatingandpowerfultheopensourceandtheopen
hardwarearethroughthisproject.Theideacomestrueeventhoughyouarenot
professionalbecausehardwareisgettinginexpensiveandnumbersofpeople
sharessourcecodesandknowhow.Letstry!!!
Youcanseetheworkingdemoat:YouTubelink
(http://youtu.be/sS2Lu1dvH2g).
Morespecifichowtodocumentat:RetroWatchproject
(http://www.hardcopyworld.com/ngine/aduino/index.php/archives/670)
Downloadsourcesat:GitHubRetroWatchpage
(https://github.com/godstale/retrowatch)
RetroWatchappquickguide
(http://www.hardcopyworld.com/ngine/aduino/index.php/archives/722)
Hardcasefilefor3Dprinter(http://www.hardcopyworld.com/ngine/aduino/?
wpdmact=process&did=MjkuaG90bGluaw==),awesomecaseDesignedby
Wonho(http://www.thingiverse.com/thing:610603)(SeetheStep9titlepicture)
RetroWatchAndroidisbasedonApachelicense,RetroWatchArduinofollows
GPLv3.0.
SpecialthankstoChangHanJeonandKyungRaePark.Jeontranslatedthis
textinEnglishandParkmadeacaseforRetroWatchwithhis3Dprinter.
AwesomeoneattitlepictureisdesignedbyWonho
(http://blog.naver.com/31borame/220221491824).Youcangetthe3Dmodeling

fileshere.http://www.thingiverse.com/thing:610603
(http://www.thingiverse.com/thing:610603)Andfindmoreathisblog
(http://blog.naver.com/31borame/220221491824).
Ifyouwishtotranslatethisdocumentintootherlanguage,feelfreetodoit!After
translation,justnotifytomewithyourresultandyourname.Illupdatethis
document.Andifyoumadeyouownwatch,pleasesharewithme.
(godstale@hotmail.com)

Wehaveabenicecommentpolicy.
Pleasebepositiveandconstructive.

IMadeit!

140of
503

AddImages

MakeComment

Next(http://www.instructables.com/id/Makeyourownsmartwatch/?
&sort=ACTIVE&limit=40&offset=40#DISCUSS)

sonson(/member/sonson/)

18hoursago

Reply

Bonjour,j'adorecequevousfaitej'aimeraienfaireunepourmoi,j'aitousce
qu'ilfautmaisj'aiunpetitsoucisaveclecodearduinoamedit'class
(/member/sonson/)
Adafruit_SH1106'hasnomembrenamed'fillCircle'pouvezvoussvpmedire
d'ovientleproblmemerci.
flag

dharmikpater(/member/dharmik+pater/)

6daysago

Reply

SirIamconfusedaboutthisparts?
Canusendmethedetailaboutthispartswheretobuy?
(/member/dharmik+pater/)
senddetailsatmyemail
tdharmik768@gmail.com
flag

tuur.vanboxtel(/member/tuur.vanboxtel/)

11daysago

Reply

couldyoumaybepostallthelinksofwhereyouboughtallthepartsincluding
(/member/tuur.vanboxtel/)
thebuttons?thanks
flag

Bodhisattwa.Rakshak(/member/Bodhisattwa.Rakshak/)

14daysago

Reply

SirIwanttoaddavibratormotortothiswatchsothatwhenanewcallor
(/member/Bodhisattwa.Rakshak/)
messageisreceivedthenvibrationmotorgivealert.HowcanIdosoandwhich

partofthecodeIshouldalter?
flag

GodsTale(/member/GodsTale/)(author) Bodhisattwa.Rakshak
12daysago

Addyourcodeatbelowposition:
(/member/GodsTale/)

voidprocessTransaction(){
...
elseif(TR_COMMAND==
CMD_TYPE_ADD_NORMAL_OBJ){
//Addyourcodehere(vibratethemotor)
}elseif(TR_COMMAND==
CMD_TYPE_ADD_EMERGENCY_OBJ){
//Addyourcodehere(vibratethemotor)
}

Reply

....
}
flag

AdityaNG(/member/Aditya+N+G/)

15daysago

Reply

Thankyoufortheamazingproject!!!Iwillbemakingitinaboutaweek!!
(/member/Aditya+N+G/)
flag

GodsTale(/member/GodsTale/)(author) AdityaNG 12daysago

Reply

I'mexpectingyourwork!!Donotforgettosendmeapictureofyour
(/member/GodsTale/)
watch
flag

tuur.vanboxtel(/member/tuur.vanboxtel/)

13daysago

Reply

caniuseandroid4.2.2?pleasetellmeicaniwannamakethissobad!
(/member/tuur.vanboxtel/)
flag

GodsTale(/member/GodsTale/)(author) tuur.vanboxtel
12daysago

YesbutuseRetroWatchLEappinstead.

Reply

(/member/GodsTale/)
flag

Kevinjacob(/member/Kevin+jacob/)

24daysago

Reply

sir,wheniverifythecodeitsaysU8GLIB_SSD1306_128*64doesnotnamea
(/member/Kevin+jacob/)
type
flag

GodsTale(/member/GodsTale/)(author) Kevinjacob 21daysago

Reply

DidyouinstalltheU8glib??Referbelowlink
(/member/GodsTale/)

https://code.google.com/p/u8glib/
flag

Kevinjacob(/member/Kevin+jacob/)

24daysago

Reply

siriamkevinjacob20002butusinganotheraccountsoplzdontgetconfused
(/member/Kevin+jacob/)
withthefirstcomment.
flag

Kevinjacob(/member/Kevin+jacob/)

24daysago

Reply

sirihavedonewhatusaidbutitdoesntseemtoworkplzhelpmeout.
(/member/Kevin+jacob/)
flag

phankspp12(/member/phankspp12/)

1monthago

Reply

firstofallthanksforsharingsuchanamazingprojectwithus.Itriedthis
(/member/phankspp12/)
projectwitharduinounoanditworksperfectlyfine.butwitharduinoprominiit

doesnotwork.onlystartupscreenshowsup,itdoesnotgetupdatewithtime.i
haveused
RetroWatchArduino_spi_no_button
(https://github.com/godstale/retrowatch/tree/master/RetroWatch_Arduino/RetroWatchArduino_u8glib_no_button)
codeforthis.plshelpmeout!!
flag

GodsTale(/member/GodsTale/)(author) phankspp121monthago

Reply

Connectionbetweenbtandphoneissuccessful?Ifso,Ithinkit'sthe
(/member/GodsTale/)
matterofBTwiring.CheckthewiringandBTinitalizationcode.

SoftwareSerialBTSerial(2,3)//HC06'sTX,RX
flag

PRODRMRBOB(/member/PRO+DR+MR+BOB/) GodsTale
29daysago

imadeitbutwhenitesteditwiththephoneit
(/member/PRO+DR+MR+BOB/)
wouldworktodisplaytimethenwhenyougota
callitwouldscrollthewthebatteryandstuffthen
juststayontimeandneverscrollthuitagainthen
allcallsafterthatdoesn'tshowupthenthephone
heatedupisthereawaytomakeitscrollthew
every5secorsoandshowcallsafterthefirst
one?orisitjustbroke?

Reply

flag

phankspp12(/member/phankspp12/) GodsTale

1monthago

Reply

ThanksforyoursupportGodsTale,
(/member/phankspp12/)

problemfornotupdatingtimewaswiththis
BTSerial.begin(9600)
Ihadreduceditto4800anditsworksperfectlyfinewithit!!
Thabksforsharingamazingprojectwithus!!
flag

Bodhisattwa.Rakshak(/member/Bodhisattwa.Rakshak/)

1monthago

Reply

howcanIgetwhatsappmessagealertonretrowatch?
(/member/Bodhisattwa.Rakshak/)

flag

GodsTale(/member/GodsTale/)(author) Bodhisattwa.Rakshak
1monthago

AtfirstyouneedAndroidv4.3orover.Touchthe'i'
(/member/GodsTale/)
buttononrighttopcornerandsetnotification
accesspermission.Nowmakeanwhatsapp
notificationbyanywayyoucando.

Reply

Afterwhatsappnotificationpopupyoucanseethe
notificationatRetroWatch'smessagetab.Touchit
andenableit!!
flag

schnun(/member/schnun/)

1monthago

Reply

IamhavingastrangeissueIguess.Imadethewatchwitha1.3SPIOled
(/member/schnun/)

anditworked.WhenIgetamessageIseeanexclamationmark(!)on
theDisplaysoIknowsomethingnewwasreceived.
ButnowImadeasmalleronewithan0.96I2C(Heltec)anditworks
finesofar,butIdonotseeanynos.showinganewmessagenor
anexclamationmark.IamusingthecorrectU8gliblibwiththebutton.
WhenIinstalltheLEApp(IamusingAndroid4.4.2)Iseeanexclamation
mark,butofcourseIwanttousethe"newer"apptoseeallmessage,but
withthisIdon'tgetamessagenotification.Hasthissomethingtodowith
theappormyandroidVersion?Anyideaswhattheproblemisthere?
Thanksverymuch,
Patrick
flag

GodsTale(/member/GodsTale/)(author) schnun

1monthago

Reply

RetroWatchappcatchesnotificationsfromandroidframeworkbut
(/member/GodsTale/)
RetroWatchLEdoesn't.RetoWatchLEonlygathersystemmessage

andsenditasemergencymessage(showingonarduinoas
exclamationmark).
IfyouareusingAndroidv4.3orover,useRetroWatchapp.Andsetthe
catchedmessageenable.Mostofmessagesaretreatedasnormal
message(showingaschatmark).Youcanseethenormalmessages
byclickingthebuttononarduino.
flag

schnun(/member/schnun/) GodsTale

1monthago

Reply

Thanksforthemessage.
Itdoesnotworkwithversion1.0.7
(/member/schnun/)
butIfoundyorolderVersion1.0.6
andwiththisitworksperfectwith
Android4.4.2!Igetallmessage
notifications.Maybealittlehelp
foralltheotherswiththesameproblem.
ThanksgodstaleandwhenIhave
mywatchready,Iplantomakeit
withAluminumhousing,Iwillprovidethe
CADfiles.
flag

GodsTale(/member/GodsTale/)(author) schnun

1monthago

Reply

Thankyouforthereport.Pleaseshowmeyourworkswhenyou're
(/member/GodsTale/)
done!!
flag

GodsTale(/member/GodsTale/)(author)

1monthago

Reply

WARNING!!!IfyouareusingresetpinandAdafruitgraphiclibrary,connect
(/member/GodsTale/)
resetpintoarduino'sD8.Orchangeresetpindefinitioninsketch.

#defineOLED_RESET8
Adafruit_SSD1306display(OLED_RESET)
AndmakesurethatthispindefinitionisnotduplicatedwithyourBTorbutton.
flag

KennethS5(/member/KennethS5/)

1monthago

Reply

IamusingtheArduino1.0.5IDEforMac.Ihaveallofthepinsconnectedthe
(/member/KennethS5/)
waythatthistutorialsaystheyshouldbe.IamusingSPI.Icurrentlydonot

havea10kOhmresistor,soIamusingtheno_buttonversionsofcode.Ihave
triedtheRetroWatchArduino_u8glib_spi_no_buttonandthe
RetroWatchArduino_spi_no_button.Ihavealloftheproperlibrariesinstalled,
andIamnotgettinganyerrorswhileuploading.MyproblemisthatwhenI
bootupmyArduino,theOLEDdoesn'tshowanything.Itstaysblack.
flag

GodsTale(/member/GodsTale/)(author) KennethS5 1monthago

Reply

Ifyoudon'tseeanythingondisplay,checkthewiringofOLEDand
(/member/GodsTale/)
checkthesketch,especiallyinitializationpart.Incaseofu8glibspi

version,displayinitializingcodesare:
U8GLIB_SSD1306_128X64u8g(13,11,10,8)//SWSPICom:SCK=
13,MOSI=11,CS=10,A0=8
Youcanuseabuttonthoughyoudon'thavearesistor.Connect
button'slegtoD5andconnectoppositelegtoGND.Andset
INPUT_PULLUPatD5initializationcode.
pinMode(buttonPin,INPUT_PULLUP)//Definesbuttonpin
flag

zarg.patel(/member/zarg.patel/)

1monthago

Reply

Firstly,thankyouforsharingsuchanamazingprojectwithus.Itriedthisout,
(/member/zarg.patel/)
worksalmostperfectwithUNO.However,dotellmehowIcanusetheentire

screentodisplayamessage,becausethelogotakesupsomuchspacethat
thenameofsenderdoesn'tdisplayinthescreen.
Now,withpromini,u8glibcodes,theOLEDdoesn'tevenbootup.Iwantto
runthisprojectonpromini,pleasehelpmeout.
flag

GodsTale(/member/GodsTale/)(author) zarg.patel

1monthago

Reply

Onemorething.Ifyouarenotusingabutton,besuretouse
(/member/GodsTale/)
RetroWatchArduino_u8glib_no_button

(https://github.com/godstale/retrowatch/tree/master/RetroWatch_Arduino/RetroWatchArduino_u8glib_no_button)
orRetroWatchArduino_u8glib_spi_no_button
(https://github.com/godstale/retrowatch/tree/master/RetroWatch_Arduino/RetroWatchArduino_u8glib_spi_no_button)

flag

GodsTale(/member/GodsTale/)(author) zarg.patel

1monthago

Reply

DidyouaddabuttontoarduinoD5?Youcanseethemessagescreen
(/member/GodsTale/)
bypressingbutton.Ifyouwanttocustomizedisplay,editbelow

functions
drawStartUp(),drawEmergency(),drawMessage(),drawClock(),
drawIdleClock()
Aboutrunningonpromini,checkbelowthings.
I2Cwiring
OLEDinstance:changeoledinitializationbelowcodeaccordingto
yourOLED
U8GLIB_SSD1306_128X64
u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0)//I2C/TWI
checkOLEDwithothersourcecode(ex.examplecodeinu8glib)
flag

HiuKingL(/member/Hiu+KingL/)

9monthsago

Reply

howtosolveit?
(/member/Hiu+KingL/)

myversionisarduino1.5.7
InfileincludedfromRetroWatchArduino.ino:35:0:
bitmap.h:1269:43:error:variable'bitmap_array'mustbeconstinordertobe
putintoreadonlysectionbymeansof'__attribute__((progmem))'
PROGMEMconstunsignedchar*bitmap_array[]={
^
RetroWatchArduino.ino:118:32:error:variable'weekString'mustbeconstin
ordertobeputintoreadonlysectionbymeansof'__attribute__((progmem))'
RetroWatchArduino.ino:119:32:error:variable'ampmString'mustbeconstin
ordertobeputintoreadonlysectionbymeansof'__attribute__((progmem))'
flag

GodsTale(/member/GodsTale/)(author) HiuKingL 9monthsago

Reply

Infrontofallthelinesintheerrorsjustadd'const'.Seethedetailsin
(/member/GodsTale/)
belowlink.

http://forum.arduino.cc/index.php?topic=254424.0
flag

akshitubhangale(/member/akshitubhangale/) GodsTale
2monthsago

plztellwhattodoGodsTaleimabeginner

Reply

(/member/akshitubhangale/)
flag

GodsTale(/member/GodsTale/)(author) akshitubhangale
2monthsago

Usearduino1.0.xversion.Anduse
(/member/GodsTale/)
RetroWatchArduino_u8glib.inosourceinstead.

Reply

flag

akshitubhangale(/member/akshitubhangale/) GodsTale
1monthago

Itriedusing1.0.xversionitisshowingthesame
error
(/member/akshitubhangale/)

Reply

flag

GodsTale(/member/GodsTale/)(author) akshitubhangale
1monthago

Ididn'tsolveityet.Isawthiserrorin1.5.xIDE
(/member/GodsTale/)
versionbutIdidn'tin1.0.x.
Pleasereferbelowlink.

https://solarmeter.codeplex.com/discussions/581741
(https://solarmeter.codeplex.com/discussions/581741)

Reply

Inthisarticle,userharold65'sguide:
Thecompilerismorestrictandrequiresabetter
definitionofvariables.
Youhave3options:
1. CompileusingArduino1.5
2. Updatethetimelibrary(canbefoundonthe
arduinosite)tothelatestversion
3. RemoveDateStrings.cppfromthelibrary.
Solarmeterdoesnotusethis(butother
projectsmight)
flag

akshitubhangale(/member/akshitubhangale/) GodsTale
1monthago

sir,canyouplztellmewheretoadd'const'?

Reply

(/member/akshitubhangale/)
flag

zarg.patel(/member/zarg.patel/) akshitubhangale

1monthago

Reply

beforeweekstring,amapmetc
(/member/zarg.patel/)
flag

sudarshanreddy(/member/sudarshan+reddy/)

1monthago

Reply

Hellosir,
(/member/sudarshan+reddy/)

icompletedallthework,buticntsenddatafromretroapptowatch,ithinkidid
smtingwrong,icheckedbluetoothitconnected,ichecktxd,rxdofbluetoothbuti
didntgetanynotifications,plssirgetmesolutionforths
flag

akshitubhangale(/member/akshitubhangale/) sudarshanreddy
1monthago

sirdidufacethiskindoferror?

Reply

(/member/akshitubhangale/)

Arduino:1.6.2(Windows8.1),Board:"ArduinoPro
orProMini,ATmega328(5V,16MHz)"
Infileincludedfrom
RetroWatchArduino_u8glib_spi.ino:32:0:
bitmap.h:1269:43:error:variable'bitmap_array'
mustbeconstinordertobeputintoreadonly
sectionbymeansof'__attribute__((progmem))'
PROGMEMconstunsignedchar*bitmap_array[]=
{
^
RetroWatchArduino_u8glib_spi.ino:123:32:error:
variable'weekString'mustbeconstinordertobe
putintoreadonlysectionbymeansof
'__attribute__((progmem))'
RetroWatchArduino_u8glib_spi.ino:124:32:error:
variable'ampmString'mustbeconstinordertobe
putintoreadonlysectionbymeansof
'__attribute__((progmem))'
RetroWatchArduino_u8glib_spi.ino:161:30:error:
variable'strIntro'mustbeconstinordertobeput
intoreadonlysectionbymeansof
'__attribute__((progmem))'
Errorcompiling.
Thisreportwouldhavemoreinformationwith
"Showverboseoutputduringcompilation"
enabledinFile>Preferences.
thankyou
flag

zarg.patel(/member/zarg.patel/) akshitubhangale

1monthago

Write'const'(withoutthecommas)beforethewordweekstring,
(/member/zarg.patel/)
ampmstringandstrintroinyourcode.

Reply

flag

140of
503

Next(http://www.instructables.com/id/Makeyourownsmartwatch/?
&sort=ACTIVE&limit=40&offset=40#DISCUSS)

Wehaveabenicecommentpolicy.
Pleasebepositiveandconstructive.

IMadeit!

AboutUs

AddImages

MakeComment

FindUs

WhoWeAre(/about/)

Facebook(http://www.facebook.com/instructables)

Advertise(/advertise/)

Youtube(http://www.youtube.com/user/instructablestv)

Contact(/about/contact.jsp)

Twitter(http://www.twitter.com/instructables)

Jobs(/community/PositionsavailableatInstructables/)
Help(/id/howtowriteagreatinstructable/)

Pinterest(http://www.pinterest.com/instructables)
Google+(https://plus.google.com/+instructables)
Tumblr(http://instructables.tumblr.com)

Resources

Mobile

ForTeachers(/teachers/)

DownloadournewappsforiOS,

ArtistsinResidence(http://www.autodesk.com/artistinresidence/home)
Join!
Join our newsletter: enteremail
GiftProAccount(/account/give?sourcea=footer)

AndroidandWindows8!

English

Forums(/community/)

Android
Answers(/tag/typequestion/?sort=RECENT)
(https://play.google.com/store/apps/details?
TermsofService(http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21959721) |
id=com.adsk.instructables)
Sitemap(/sitemap/)
PrivacyStatement(http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21292079) |
LegalNotices&Trademarks(http://usa.autodesk.com/legalnoticestrademarks/) | MobileSite(http://m.instructables.com)
iOS
(http://usa.autodesk.com/adsk/servlet/pc/index?id=20781545&siteID=123112)
2015Autodesk,Inc.

GoProToday(/account/gopro?sourcea=footer)

We'reHiring!(/community/PositionsavailableatInstructables/)

(https://itunes.apple.com/app/instructables/id586765571)
Windows
(http://apps.microsoft.com/windows/en
us/app/7afc8194c771441a9590
54250d6a8300)

You might also like