{"id":52,"date":"2014-08-13T15:09:47","date_gmt":"2014-08-13T22:09:47","guid":{"rendered":"http:\/\/www.migration.andersknelson.com\/blog\/?p=52"},"modified":"2023-11-01T00:50:33","modified_gmt":"2023-11-01T04:50:33","slug":"matriled-watch","status":"publish","type":"post","link":"https:\/\/www.andersknelson.com\/blog\/?p=52","title":{"rendered":"MatriLED Watch"},"content":{"rendered":"\n<p>This is a full 4,096 color 8&#215;8 LED matrix based wristwatch with software-driven 4-bit PWM for each channel at 60 full PWM sweeps per second.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Background<\/h2>\n\n\n\n<p>I wanted to see how much performance I could squeeze out of the then-newly released PIC16F1 series of MCUs.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"240\" data-id=\"65\" src=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/MVI_0053.png\" alt=\"\" class=\"wp-image-65\" srcset=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/MVI_0053.png 320w, https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/MVI_0053-300x225.png 300w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"59\" src=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0057-1024x768.jpg\" alt=\"\" class=\"wp-image-59\" srcset=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0057-1024x768.jpg 1024w, https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0057-300x225.jpg 300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"58\" src=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0055-1024x768.jpg\" alt=\"\" class=\"wp-image-58\" srcset=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0055-1024x768.jpg 1024w, https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0055-300x225.jpg 300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"57\" src=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0056-1024x768.jpg\" alt=\"\" class=\"wp-image-57\" srcset=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0056-1024x768.jpg 1024w, https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0056-300x225.jpg 300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"56\" src=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0054-1024x768.jpg\" alt=\"\" class=\"wp-image-56\" srcset=\"https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0054-1024x768.jpg 1024w, https:\/\/www.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/IMG_0054-300x225.jpg 300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><a href=\"http:\/\/www.migration.andersknelson.com\/blog\/wp-content\/uploads\/2014\/04\/MVI_0053.mov\">Video of time display<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What it does<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Displays time in a totally tubular way.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What it&#8217;s made of<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/www.microchip.com\/wwwproducts\/Devices.aspx?product=PIC16F1947\">PIC16F1947&nbsp;<\/a>microcontroller<\/li>\n\n\n\n<li><a href=\"http:\/\/www.betlux.com\/led\/1.9-inch-height-8x8-LED-dot-matrix-RGB-color-BL-M19A881xxx,BL-M19B881xxx.htm\">8&#215;8 pixel RGB module<\/a>&nbsp;(link is not actual part I used but similar)<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/ufanders\/matriLedWatch\/tree\/master\/pcb\">Custom PCB<\/a>&nbsp;designed in&nbsp;<a href=\"http:\/\/www.cadsoftusa.com\/eagle-pcb-design-software\/product-overview\/?language=en\">EAGLE<\/a>&nbsp;and fabricated at&nbsp;<a href=\"http:\/\/quoting.sunstone.com\/quoteexpress.aspx\">PCBExpress<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/ufanders\/matriLedWatch\/tree\/master\/firmware\">Firmware<\/a><a href=\"https:\/\/github.com\/ufanders\/sevenSegmentWatch\/tree\/master\/firmware\">&nbsp;<\/a>written in C using&nbsp;<a href=\"https:\/\/www.microchip.com\/pagehandler\/en-us\/family\/mplabx\/\">MPLABX<\/a>,&nbsp;compiled by&nbsp;<a href=\"https:\/\/www.microchip.com\/pagehandler\/en_us\/devtools\/mplabxc\/\">XC8<\/a>&nbsp;and loaded using an&nbsp;<a href=\"http:\/\/www.microchip.com\/Developmenttools\/ProductDetails.aspx?PartNO=DV164035\">ICD3<\/a><\/li>\n\n\n\n<li>LiPo battery charger<\/li>\n\n\n\n<li>Boost convertor<\/li>\n\n\n\n<li>A bunch of support components<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Theory of operation<\/h2>\n\n\n\n<p>Press a button and the time shows up for three full seconds before putting the MCU to sleep. With the PWM blazing away at 60 full refreshes per second, there remains 50% CPU time available to do work. Pretty amazing for a ~$0.75 part.&nbsp;<span style=\"line-height: 1.5;\">How time is represented:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Current second: fading yellow pixel, going from upper-left to lower right.<\/li>\n\n\n\n<li>Current minutes (units): two-pixel wide blue column on far right. 0-8 are shown as pixels emanating from top as zero and bottom as 8. 9 is shown as a red pixel at the bottom.<\/li>\n\n\n\n<li>Current minutes (tens):&nbsp; two-pixel wide blue column on middle right.<\/li>\n\n\n\n<li>Current hours (units):&nbsp; two-pixel wide blue column on middle left.<\/li>\n\n\n\n<li>Current hours (tens):&nbsp; two-pixel wide blue column on far left.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Yuuuuup<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a full 4,096 color 8&#215;8 LED matrix based [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":65,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[6,7,5],"class_list":["post-52","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects","tag-led","tag-rgb","tag-watch"],"_links":{"self":[{"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/52","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=52"}],"version-history":[{"count":14,"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/52\/revisions"}],"predecessor-version":[{"id":1126,"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/52\/revisions\/1126"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=\/wp\/v2\/media\/65"}],"wp:attachment":[{"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=52"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=52"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.andersknelson.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}