{"id":13718,"date":"2016-05-10T10:00:08","date_gmt":"2016-05-10T17:00:08","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=13718"},"modified":"2016-05-10T10:04:04","modified_gmt":"2016-05-10T17:04:04","slug":"the-100-minute-robot-build","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/the-100-minute-robot-build\/","title":{"rendered":"The 100 Minute Robot Build"},"content":{"rendered":"<p>Embarrassing confession time. For someone whose job is 90% robot building, I have a surprising dearth\u00a0of robots right now. So when Jesse, our video editor, was asking around for any available robots for a quick video shoot, sadly, I had none to provide.<\/p>\n<p>But that didn&#8217;t mean I couldn&#8217;t deliver!<\/p>\n<p>I asked Jesse to give me two hours to build him a robot from scratch. With all the parts we have around the Digilent Makerspace, I figured I could cobble together\u00a0<em>something<\/em> in well under two hours&#8230; The game was afoot!<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-13719\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_115932506-600x337.jpg\" alt=\"Robot Supplies\" width=\"600\" height=\"337\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_115932506-600x337.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_115932506-768x431.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_115932506-1024x575.jpg 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_115932506-800x449.jpg 800w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>I quickly gathered together my supplies. A <a href=\"http:\/\/repables.com\/search\/digilent\/\">3D printed robot chassis<\/a>, <a href=\"https:\/\/digilent.com\/shop\/chipkit-uc32-basic-microcontroller-board-with-uno-r3-headers\/\">uC32 <\/a>and <a href=\"https:\/\/digilent.com\/shop\/chipkit-motor-shield-add-on-board\/\">Basic IO Shield<\/a>, a couple of gear-motors and wheels, a 9 volt battery and connector for power, and some double-sided tape! Also tea. Tea is very important.<\/p>\n<div id='gallery-1' class='gallery galleryid-13718 gallery-columns-2 gallery-size-thumbnail'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/digilent.com\/blog\/the-100-minute-robot-build\/img_20160428_120038794\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120038794-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120038794-150x150.jpg 150w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120038794-600x600.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120038794-300x300.jpg 300w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120038794-1200x1200-cropped.jpg 1200w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/digilent.com\/blog\/the-100-minute-robot-build\/img_20160428_120919074\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120919074-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120919074-150x150.jpg 150w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120919074-600x600.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120919074-300x300.jpg 300w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_120919074-1200x1200-cropped.jpg 1200w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n<p>I used the double-sided tape to stick everything to the chassis. A quick test revealed that the uC32 couldn&#8217;t be powered from the 9V that was to power the motors, so I found a 6V battery pack and stuck that on too.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-13724\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_121927947-600x337.jpg\" alt=\"Simple Robot Wiring\" width=\"600\" height=\"337\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_121927947-600x337.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_121927947-768x431.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_121927947-1024x575.jpg 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_121927947-800x449.jpg 800w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>The wiring took me a little while to figure out. I&#8217;d never used the Basic IO shield before, so I wasn&#8217;t familiar with the open-drain FETs onboard. I expected jumpers J7 and J8 (the bottom two screw-terminal jumpers on the left) to have a positive and negative terminal each. Turns out that each terminal is connected to it&#8217;s own FET instead. That&#8217;s a little strange, but \u00a0it means the board has\u00a0<em>four<\/em> FETs instead of\u00a0<em>two!<\/em> That&#8217;s pretty neat!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-13723\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Simple-Code-500x600.png\" alt=\"Simple Code\" width=\"500\" height=\"600\" \/><\/p>\n<p>Now I just needed to write some simple code and upload it to the board!\u00a0This robot needed to be extremely simple. All it was supposed to do was drive forward&#8230; and not stop. Simple enough. A quick look at the IO Shield&#8217;s reference manual told me that the FETs\u00a0I was using were controlled by pins 5 and 3, so soon I had my code set up to write those pins high.<\/p>\n<p>Now\u00a0I just had to test everything out!<\/p>\n<div id='gallery-2' class='gallery galleryid-13718 gallery-columns-2 gallery-size-thumbnail'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/digilent.com\/blog\/the-100-minute-robot-build\/img_20160428_122110725\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122110725-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122110725-150x150.jpg 150w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122110725-600x600.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122110725-300x300.jpg 300w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122110725-1200x1200-cropped.jpg 1200w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/digilent.com\/blog\/the-100-minute-robot-build\/img_20160428_122156559_hdr\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122156559_HDR-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122156559_HDR-150x150.jpg 150w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122156559_HDR-600x600.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122156559_HDR-300x300.jpg 300w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_122156559_HDR-1200x1200-cropped.jpg 1200w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n<p>I quickly downed the last of my tea, and re-purposed my tea mug as a makeshift test stand for my robot. Then I uploaded the code and plugged my robot in to power!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-13728\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_141739635-600x337.jpg\" alt=\"Goodness Gracious Great Voltage Regulators On Fire!\" width=\"600\" height=\"337\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_141739635-600x337.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_141739635-768x431.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_141739635-1024x575.jpg 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_141739635-800x449.jpg 800w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Disaster! I had accidentally plugged my 6V battery pack in backwards! All I see is a puff of smoke and I frantically unplug everything. Whalp&#8230;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-13729\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124025692_HDR-600x337.jpg\" alt=\"I Broke My Toy Can I Borrow Yours?\" width=\"600\" height=\"337\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124025692_HDR-600x337.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124025692_HDR-768x431.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124025692_HDR-1024x575.jpg 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124025692_HDR-800x449.jpg 800w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Sheepish and embarrassed, I had to ask James to borrow another uC32. Reluctantly, he agreed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-13733\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124339251crop-583x600.jpg\" alt=\"Holy Preposterous Plethora of Power Plugs Batman!\" width=\"583\" height=\"600\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124339251crop-583x600.jpg 583w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124339251crop-768x790.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124339251crop-996x1024.jpg 996w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124339251crop-800x823.jpg 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_124339251crop.jpg 1447w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/p>\n<p>James also showed me where I could find a whole bunch of both male and female power plugs, each with screw terminals already attached. If I used these, I could make sure I&#8217;d never plug my power in backwards, thereby protecting his board from my previous fumble.<\/p>\n<p>Re-equipped, I attempted to test my code once again, this time with success! Only, one of my wheels was rotating the wrong way.<\/p>\n<div id='gallery-3' class='gallery galleryid-13718 gallery-columns-2 gallery-size-thumbnail'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/digilent.com\/blog\/the-100-minute-robot-build\/img_20160428_125334080\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125334080-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125334080-150x150.jpg 150w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125334080-600x600.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125334080-300x300.jpg 300w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125334080-1200x1200-cropped.jpg 1200w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/digilent.com\/blog\/the-100-minute-robot-build\/img_20160428_125351970\/'><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125351970-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125351970-150x150.jpg 150w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125351970-600x600.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125351970-300x300.jpg 300w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125351970-1200x1200-cropped.jpg 1200w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n<p>I corrected my motor wiring, tested once more, and my robot was good to go!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-13739\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/Little-Racer-1.gif\" alt=\"Little Racer 1\" width=\"480\" height=\"270\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-13736\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125521203-337x600.jpg\" alt=\"A Happy Customer\" width=\"337\" height=\"600\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125521203-337x600.jpg 337w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125521203-768x1367.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125521203-575x1024.jpg 575w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125521203-674x1200.jpg 674w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_125521203.jpg 1456w\" sizes=\"auto, (max-width: 337px) 100vw, 337px\" \/><\/p>\n<p>Triumphantly, I delivered my simple robot to Jesse. As you can see, he was overwhelmingly pleased!<\/p>\n<p>Okay so maybe my robot wasn&#8217;t exactly stellar, but because I used the <a href=\"https:\/\/digilent.com\/shop\/chipkit-uc32-basic-microcontroller-board-with-uno-r3-headers\/\">uC32 <\/a>and Basic IO shield, it was technically capable of quite a lot! That&#8217;s what I like about these boards, specifically the <a href=\"https:\/\/digilent.com\/shop\/chipkit-uc32-basic-microcontroller-board-with-uno-r3-headers\/\">uC32 <\/a>and <a href=\"https:\/\/digilent.com\/shop\/chipkit-dp32-dip-package-prototyping-microcontroller-board\/\">DP32<\/a>. With just a little bit of forethought, you can pretty much throw together whatever you want very quickly.\u00a0Instant robot, just add water!<\/p>\n<p>(Don&#8217;t actually add water, that would be awful.)<\/p>\n<p>&nbsp;<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-13718 jlk' data-task='like' data-post_id='13718' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-13718 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-13718 jlk' data-task='unlike' data-post_id='13718' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-13718 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-13718 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Jay finds himself in a tricky, time-dependent situation&#8230; lets see if his rapid-robot building was successful!<\/p>\n","protected":false},"author":21,"featured_media":13738,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1561],"tags":[],"ppma_author":[4472],"class_list":["post-13718","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-applications"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/04\/IMG_20160428_130058251.jpg","authors":[{"term_id":4472,"user_id":21,"is_guest":0,"slug":"jayweeks","display_name":"Jay Weeks","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f93235e3a3503ecf6117ac4c465b2384?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Weeks","last_name_2":"","first_name":"Jay","first_name_2":"","job_title":"","description":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/13718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=13718"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/13718\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/13738"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=13718"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=13718"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=13718"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=13718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}