{"id":118,"date":"2011-09-25T22:47:41","date_gmt":"2011-09-25T22:47:41","guid":{"rendered":"http:\/\/41j.com\/blog\/?p=118"},"modified":"2011-09-29T00:28:05","modified_gmt":"2011-09-29T00:28:05","slug":"msp430-watch","status":"publish","type":"post","link":"https:\/\/41j.com\/blog\/2011\/09\/msp430-watch\/","title":{"rendered":"MSP430 Watch"},"content":{"rendered":"<p>I don&#8217;t know what is it about watches, but I find them very cool. But I&#8217;ve never seen a watch with the exact feature set I want. Obviously it should display the time in binary, it should allow me to do arbitrary computation on by wrist, display important prescient information about my life, and&#8230; I don&#8217;t know&#8230; allow me to communcate with aliens or something.<\/p>\n<p>Anyway I was inspired by the msp430 LCD interfacing code posted on hackaday ( <a href=\"http:\/\/hackaday.com\/2011\/01\/30\/hands-on-with-ez430-f2013\/\">here<\/a> ). And decided to try and put together a watch. It&#8217;s based aroudn the eZ430 development board, uses a CR2032 as it&#8217;s power source and has a couple of button switches and a 32.768kHz to allow it to keep accurate time. The display is from a Nokia phone. It&#8217;s used in the &#8220;6010 3595 3560 3510i 3530&#8221; at least that&#8217;s what ebay seller told me.<\/p>\n<p>The code is written in C, and is included in a tarball at the end of the post. The completed unit fits inside a iPod Nano watch case:<\/p>\n<p><a href=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_incase.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_incase-642x1024.jpg\" alt=\"\" title=\"watch_incase\" width=\"630\" height=\"1004\" class=\"aligncenter size-large wp-image-119\" srcset=\"https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_incase-642x1024.jpg 642w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_incase-188x300.jpg 188w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_incase.jpg 1421w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/a><\/p>\n<p>This is what it looks like running:<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"http:\/\/www.youtube.com\/embed\/_nApaIl7bwc\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Out of the case:<\/p>\n<p><a href=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_out.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_out-969x1024.jpg\" alt=\"\" title=\"watch_out\" width=\"630\" height=\"665\" class=\"aligncenter size-large wp-image-120\" srcset=\"https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_out-969x1024.jpg 969w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_out-284x300.jpg 284w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_out.jpg 1120w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/a><\/p>\n<p>PCB (absolute mess):<\/p>\n<p><a href=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb-1024x937.jpg\" alt=\"\" title=\"watch_pcb\" width=\"630\" height=\"576\" class=\"aligncenter size-large wp-image-121\" srcset=\"https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb-1024x937.jpg 1024w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb-300x274.jpg 300w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb-327x300.jpg 327w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb.jpg 1109w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/a><\/p>\n<p>A different PCB (slightly less messy):<\/p>\n<p><a href=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb2-1024x1009.jpg\" alt=\"\" title=\"watch_pcb2\" width=\"630\" height=\"620\" class=\"aligncenter size-large wp-image-122\" srcset=\"https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb2-1024x1009.jpg 1024w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb2-300x295.jpg 300w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb2-304x300.jpg 304w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watch_pcb2.jpg 1671w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/a><\/p>\n<p>It&#8217;s pretty big, but here&#8217;s how it compares to the Suunto core. It&#8217;s actually a little thinner (but a lot more delicate, and a litte&#8230; squarer).<\/p>\n<p><a href=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watchandsuunto.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watchandsuunto-1024x915.jpg\" alt=\"\" title=\"watchandsuunto\" width=\"630\" height=\"562\" class=\"aligncenter size-large wp-image-123\" srcset=\"https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watchandsuunto-1024x915.jpg 1024w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watchandsuunto-300x268.jpg 300w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watchandsuunto-335x300.jpg 335w, https:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/watchandsuunto.jpg 1554w\" sizes=\"auto, (max-width: 630px) 100vw, 630px\" \/><\/a><\/p>\n<p>Eventually it would be nice to get it to display alphanumeric data, text messages, alien transmissions etc. Unfortunately it&#8217;s a pretty tight squeeze on the msp430-2013. I can just about get a character set to fit, but have to miss out various other bits of code&#8230; like the code that clears the screen. I wonder if I can move the code to a larger 430&#8230; Currently the msp430 runs for a few days on a CR2032 using this LCD, not bad, but it would be nice to get it to run longer. I guess I should be able to put the msp430 to sleep, or clock it down, but I wonder if it isn&#8217;t the LCD that&#8217;s using most of the power.<\/p>\n<p>Alphanumeric test:<br \/>\n<iframe loading=\"lazy\" width=\"420\" height=\"315\" src=\"http:\/\/www.youtube.com\/embed\/54ntpvEf7FI\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Scrolling &#8220;Hello world&#8221; text, I&#8217;d like it to display something like this eventually:<br \/>\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"http:\/\/www.youtube.com\/embed\/tja7KSIYfuM\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>And a fun numbers test:<br \/>\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"http:\/\/www.youtube.com\/embed\/4PGjtrJDGfo\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>The code is here:<br \/>\n<a href='http:\/\/41j.com\/blog\/wp-content\/uploads\/2011\/09\/msp430_watch.tar.gz'>msp430_watch.tar<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I don&#8217;t know what is it about watches, but I find them very cool. But I&#8217;ve never seen a watch with the exact feature set I want. Obviously it should display the time in binary, it should allow me to do arbitrary computation on by wrist, display important prescient information about my life, and&#8230; I [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-118","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1RRoU-1U","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts\/118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/comments?post=118"}],"version-history":[{"count":7,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts\/118\/revisions"}],"predecessor-version":[{"id":167,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/posts\/118\/revisions\/167"}],"wp:attachment":[{"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/media?parent=118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/categories?post=118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/41j.com\/blog\/wp-json\/wp\/v2\/tags?post=118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}