<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628</link><pubDate>Fri, 10 Nov 2023 23:42:49 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Current Revision posted to Documents by cstanton on 11/10/2023 11:42:49 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="xbold"&gt;&lt;a href="#downloads" data-e14adj="t"&gt;Jump to Downloads &amp;amp; Bonus Content&lt;/a&gt; | &lt;a href="#discussions" data-e14adj="t"&gt;Jump to Discussions&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/MicrosoftTeams_2D00_image-_2800_8_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/MicrosoftTeams_2D00_image-_2800_7_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arm&amp;#39;s &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; &lt;a href="#downloads" data-e14adj="t"&gt;download&lt;/a&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-03-81/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-03-81/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&lt;a id="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;Links and Downloads&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Download:&amp;nbsp;&lt;a title="CAD Files and Code" href="/challenges-projects/element14-presents/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/members-area/personalblogs/b/nico-tewinkel-s-blog/posts/tinkerkit-braccio-robot-arm"&gt;Tinkerkit Braccio Robot Arm&lt;/a&gt;&amp;nbsp;by &amp;nbsp;&lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/rubegoldbergdevice/b/blog/posts/rube-goldberg-machine-to-turn-on-a-light"&gt;Rube Goldberg Machine to Turn On a Light&lt;/a&gt;&amp;nbsp;by&amp;nbsp;&lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-50782" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('50782'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6c1a5" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6c1a5'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8ac78" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8ac78'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-70b15" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('70b15'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e7321" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e7321'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f774e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f774e'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-28863" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('28863'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c92f7" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c92f7'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7ff6a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('7ff6a'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-0be19" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0be19'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;a name="discussions" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, dfrobot, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/11</link><pubDate>Fri, 10 Nov 2023 14:42:08 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>pchan</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 11 posted to Documents by pchan on 11/10/2023 2:42:08 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="xbold"&gt;&lt;a href="#downloads" data-e14adj="t"&gt;Jump to Downloads &amp;amp; Bonus Content&lt;/a&gt; | &lt;a href="#discussions" data-e14adj="t"&gt;Jump to Discussions&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/MicrosoftTeams_2D00_image-_2800_8_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/MicrosoftTeams_2D00_image-_2800_7_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arm&amp;#39;s &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; &lt;a href="#downloads" data-e14adj="t"&gt;download&lt;/a&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&lt;a id="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;Links and Downloads&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Download:&amp;nbsp;&lt;a href="/challenges-projects/element14-presents/project-videos/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/members-area/personalblogs/b/nico-tewinkel-s-blog/posts/tinkerkit-braccio-robot-arm"&gt;Tinkerkit Braccio Robot Arm&lt;/a&gt;&amp;nbsp;by &amp;nbsp;&lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/rubegoldbergdevice/b/blog/posts/rube-goldberg-machine-to-turn-on-a-light"&gt;Rube Goldberg Machine to Turn On a Light&lt;/a&gt;&amp;nbsp;by&amp;nbsp;&lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-a96c9" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a96c9'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-37b28" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('37b28'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-5deea" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('5deea'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-46f83" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('46f83'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d62ec" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d62ec'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e0467" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e0467'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ac905" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ac905'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a1e61" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a1e61'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-51a49" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('51a49'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-465c5" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('465c5'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;a name="discussions" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, dfrobot, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/12</link><pubDate>Fri, 10 Nov 2023 14:42:08 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>pchan</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 12 posted to Documents by pchan on 11/10/2023 2:42:08 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="xbold"&gt;&lt;a href="#downloads" data-e14adj="t"&gt;Jump to Downloads &amp;amp; Bonus Content&lt;/a&gt; | &lt;a href="#discussions" data-e14adj="t"&gt;Jump to Discussions&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/MicrosoftTeams_2D00_image-_2800_8_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/MicrosoftTeams_2D00_image-_2800_7_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arm&amp;#39;s &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; &lt;a href="#downloads" data-e14adj="t"&gt;download&lt;/a&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-03-81/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-03-81/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-03-81/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&lt;a id="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;Links and Downloads&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Download:&amp;nbsp;&lt;a href="/challenges-projects/element14-presents/project-videos/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/members-area/personalblogs/b/nico-tewinkel-s-blog/posts/tinkerkit-braccio-robot-arm"&gt;Tinkerkit Braccio Robot Arm&lt;/a&gt;&amp;nbsp;by &amp;nbsp;&lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/rubegoldbergdevice/b/blog/posts/rube-goldberg-machine-to-turn-on-a-light"&gt;Rube Goldberg Machine to Turn On a Light&lt;/a&gt;&amp;nbsp;by&amp;nbsp;&lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-f2975" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f2975'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e8c45" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e8c45'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8c127" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8c127'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9d598" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('9d598'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-0ff8e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0ff8e'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ce0e7" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ce0e7'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e4f81" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e4f81'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4a161" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('4a161'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c29f4" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c29f4'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8c323" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8c323'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;a name="discussions" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, dfrobot, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/10</link><pubDate>Thu, 09 Nov 2023 17:05:31 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>tariq.ahmad</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 10 posted to Documents by tariq.ahmad on 11/9/2023 5:05:31 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="xbold"&gt;&lt;a href="#downloads" data-e14adj="t"&gt;Jump to Downloads &amp;amp; Bonus Content&lt;/a&gt; | &lt;a href="#discussions" data-e14adj="t"&gt;Jump to Discussions&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/MicrosoftTeams_2D00_image-_2800_8_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/MicrosoftTeams_2D00_image-_2800_7_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arm&amp;#39;s &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; &lt;a href="#downloads" data-e14adj="t"&gt;download&lt;/a&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&lt;a id="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;Links and Downloads&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Download:&amp;nbsp;&lt;a href="/challenges-projects/element14-presents/project-videos/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp; by&amp;nbsp;&lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/members-area/personalblogs/b/nico-tewinkel-s-blog/posts/tinkerkit-braccio-robot-arm"&gt;Tinkerkit Braccio Robot Arm&lt;/a&gt;&amp;nbsp;by &amp;nbsp;&lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/rubegoldbergdevice/b/blog/posts/rube-goldberg-machine-to-turn-on-a-light"&gt;Rube Goldberg Machine to Turn On a Light&lt;/a&gt;&amp;nbsp;by&amp;nbsp;&lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-2dc44" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('2dc44'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-de9c7" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('de9c7'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d6d17" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d6d17'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-44064" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('44064'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ab933" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ab933'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1ab39" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1ab39'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-eeba9" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('eeba9'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c35ab" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c35ab'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6bba4" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6bba4'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f3db3" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f3db3'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;a name="discussions" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, dfrobot, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/9</link><pubDate>Thu, 09 Nov 2023 17:00:54 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>tariq.ahmad</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 9 posted to Documents by tariq.ahmad on 11/9/2023 5:00:54 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="xbold"&gt;&lt;a href="#downloads" data-e14adj="t"&gt;Jump to Downloads &amp;amp; Bonus Content&lt;/a&gt; | &lt;a href="#discussions" data-e14adj="t"&gt;Jump to Discussions&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/MicrosoftTeams_2D00_image-_2800_8_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/MicrosoftTeams_2D00_image-_2800_7_2900_.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arm&amp;#39;s &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; &lt;a href="#downloads" data-e14adj="t"&gt;download&lt;/a&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&lt;a id="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;Links and Downloads&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Download:&amp;nbsp;&lt;a href="/challenges-projects/element14-presents/secret-element14-presents/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp; by &lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp; by &lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp; by &lt;a href="/members/milosrasic98"&gt;milosrasic98&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/members-area/personalblogs/b/nico-tewinkel-s-blog/posts/tinkerkit-braccio-robot-arm"&gt;Tinkerkit Braccio Robot Arm&lt;/a&gt;&amp;nbsp;by &amp;nbsp;&lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/rubegoldbergdevice/b/blog/posts/rube-goldberg-machine-to-turn-on-a-light"&gt;Rube Goldberg Machine to Turn On a Light&lt;/a&gt;&amp;nbsp;by &lt;a href="/members/ntewinkel"&gt;ntewinkel&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-f820d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f820d'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-2b28f" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('2b28f'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f1473" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f1473'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-97f36" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('97f36'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a429d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a429d'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3088a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('3088a'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-03dbe" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('03dbe'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-52f3e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('52f3e'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6b994" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6b994'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-be18a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('be18a'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;a name="discussions" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, dfrobot, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/8</link><pubDate>Thu, 09 Nov 2023 16:13:07 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 8 posted to Documents by cstanton on 11/9/2023 4:13:07 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="xbold"&gt;&lt;a href="#downloads" data-e14adj="t"&gt;Jump to Downloads &amp;amp; Bonus Content&lt;/a&gt; | &lt;a href="#discussions" data-e14adj="t"&gt;Jump to Discussions&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:367px;max-width:650px;"  height="367" src="/resized-image/__size/1300x734/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469567658v2.png" width="650" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:369px;max-width:654px;"  height="369" src="/resized-image/__size/1308x738/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469716754v3.png" width="654" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arm&amp;#39;s &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; &lt;a href="#downloads" data-e14adj="t"&gt;download&lt;/a&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&lt;a id="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;Links and Downloads&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/challenges-projects/element14-presents/secret-element14-presents/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-160ae" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('160ae'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e7f56" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e7f56'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a48eb" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a48eb'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-27dfe" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('27dfe'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-14183" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('14183'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-78b21" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('78b21'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9f50e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('9f50e'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-851dd" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('851dd'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c0b18" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('c0b18'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-0edd2" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0edd2'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;a name="discussions" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, dfrobot, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/7</link><pubDate>Wed, 08 Nov 2023 21:25:20 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>tariq.ahmad</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 7 posted to Documents by tariq.ahmad on 11/8/2023 9:25:20 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="xbold"&gt;&lt;a href="#downloads" data-e14adj="t"&gt;Jump to Downloads &amp;amp; Bonus Content&lt;/a&gt; | &lt;a href="#discussions" data-e14adj="t"&gt;Jump to Discussions&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;1. Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:367px;max-width:650px;"  height="367" src="/resized-image/__size/1300x734/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469567658v2.png" width="650" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:369px;max-width:654px;"  height="369" src="/resized-image/__size/1308x738/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469716754v3.png" width="654" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arm&amp;#39;s &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; &lt;a href="#downloads" data-e14adj="t"&gt;download&lt;/a&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;2. Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;3. Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&lt;a id="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;Links and Downloads&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/challenges-projects/element14-presents/secret-element14-presents/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-13442" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('13442'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a6bcb" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a6bcb'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d4769" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d4769'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-2f0e4" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('2f0e4'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-fd6a7" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('fd6a7'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1bb4b" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1bb4b'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-320b6" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('320b6'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-88daa" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('88daa'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f82da" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f82da'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-b5b51" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('b5b51'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;a name="discussions" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, dfrobot, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/6</link><pubDate>Wed, 08 Nov 2023 21:07:47 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>kellyhensen</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 6 posted to Documents by kellyhensen on 11/8/2023 9:07:47 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;1. Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:367px;max-width:650px;"  height="367" src="/resized-image/__size/1300x734/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469567658v2.png" width="650" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:369px;max-width:654px;"  height="369" src="/resized-image/__size/1308x738/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469716754v3.png" width="654" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arm&amp;#39;s &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; &lt;a href="#downloads" data-e14adj="t"&gt;download&lt;/a&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;2. Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;3. Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&lt;a id="downloads" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;Links and Downloads&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/challenges-projects/element14-presents/secret-element14-presents/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-b4fc2" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('b4fc2'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-77d78" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('77d78'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ce3ae" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ce3ae'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f0be5" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f0be5'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1de9c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1de9c'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-564c9" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('564c9'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-2dbd3" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('2dbd3'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1a53f" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1a53f'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a1c06" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('a1c06'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-304d8" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('304d8'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, dfrobot, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/5</link><pubDate>Wed, 08 Nov 2023 20:58:29 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>kellyhensen</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 5 posted to Documents by kellyhensen on 11/8/2023 8:58:29 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;1. Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:367px;max-width:650px;"  height="367" src="/resized-image/__size/1300x734/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469567658v2.png" width="650" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:369px;max-width:654px;"  height="369" src="/resized-image/__size/1308x738/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469716754v3.png" width="654" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arms &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; download&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;. If you want to take a detailed look at how to assemble different parts of the robot arm, check the bonus content below.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&lt;a href="https://www.youtube.com/shorts/v8rHBLzjJ7A"&gt;www.youtube.com/.../v8rHBLzjJ7A&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;2. Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;3. Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;GitHub repository for the Cheap Robot Arm: &lt;/span&gt;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&amp;nbsp;Bonus Content:&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/challenges-projects/element14-presents/secret-element14-presents/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-e7b9a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e7b9a'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-5a126" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('5a126'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-11ec6" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('11ec6'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-0d6d7" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0d6d7'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-41668" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('41668'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e3824" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e3824'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e2570" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('e2570'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-0e20a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0e20a'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-40b49" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('40b49'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4d0cb" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('4d0cb'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, dfrobot, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Making a Cheap DIY Robot Arm -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/4</link><pubDate>Wed, 08 Nov 2023 20:06:41 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>jordanrjohnson</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 4 posted to Documents by jordanrjohnson on 11/8/2023 8:06:41 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;1. Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:367px;max-width:650px;"  height="367" src="/resized-image/__size/1300x734/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469567658v2.png" width="650" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:369px;max-width:654px;"  height="369" src="/resized-image/__size/1308x738/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469716754v3.png" width="654" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arms &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; download&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;. If you want to take a detailed look at how to assemble different parts of the robot arm, check the bonus content below.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&lt;a href="https://www.youtube.com/shorts/v8rHBLzjJ7A"&gt;www.youtube.com/.../v8rHBLzjJ7A&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;2. Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;3. Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;GitHub repository for the Cheap Robot Arm: &lt;/span&gt;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&amp;nbsp;Bonus Content:&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/challenges-projects/element14-presents/secret-element14-presents/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-1f048" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1f048'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d73e0" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d73e0'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ca09c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ca09c'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-9655e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('9655e'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-b9d52" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('b9d52'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-47c75" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('47c75'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-17f72" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('17f72'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-10994" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('10994'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-5cbdd" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('5cbdd'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1f898" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1f898'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Making a Cheap DIY Robot Arm -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/3</link><pubDate>Wed, 08 Nov 2023 20:02:56 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>tariq.ahmad</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 3 posted to Documents by tariq.ahmad on 11/8/2023 8:02:56 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;1. Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:367px;max-width:650px;"  height="367" src="/resized-image/__size/1300x734/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469567658v2.png" width="650" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:369px;max-width:654px;"  height="369" src="/resized-image/__size/1308x738/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469716754v3.png" width="654" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arms &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; download&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;. If you want to take a detailed look at how to assemble different parts of the robot arm, check the bonus content video(s) below.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&lt;a href="https://www.youtube.com/shorts/v8rHBLzjJ7A"&gt;www.youtube.com/.../v8rHBLzjJ7A&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;2. Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;3. Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;GitHub repository for the Cheap Robot Arm: &lt;/span&gt;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&amp;nbsp;Bonus Content:&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/challenges-projects/element14-presents/secret-element14-presents/m/files/148528" data-e14adj="t"&gt;CAD Files and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-4fbde" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('4fbde'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1540b" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1540b'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8f4dc" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('8f4dc'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-0dd88" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('0dd88'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1dc6d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1dc6d'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-94e7e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('94e7e'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ffb86" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ffb86'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-b4cf1" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('b4cf1'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1e4e6" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('1e4e6'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-f74fc" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('f74fc'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Making a Cheap DIY Robot Arm -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/2</link><pubDate>Wed, 08 Nov 2023 19:57:15 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>tariq.ahmad</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 2 posted to Documents by tariq.ahmad on 11/8/2023 7:57:15 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;1. Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:367px;max-width:650px;"  height="367" src="/resized-image/__size/1300x734/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469567658v2.png" width="650" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:369px;max-width:654px;"  height="369" src="/resized-image/__size/1308x738/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469716754v3.png" width="654" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arms &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; download&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;. If you want to take a detailed look at how to assemble different parts of the robot arm, check the bonus content video(s) below.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&lt;a href="https://www.youtube.com/shorts/v8rHBLzjJ7A"&gt;www.youtube.com/.../v8rHBLzjJ7A&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;2. Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;"  height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;"  height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Schematic.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/Pinout.PNG" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="TextRun SCXW213486751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW213486751 BCX0"&gt;The final step was to solder everything to a piece of perf board and put it into a box.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471058027v3.png"  /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699471076909v4.png"  /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo5ucj10"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;span class="EOP SCXW213486751 BCX0"&gt;&lt;span class="TextRun SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun Underlined SCXW24080559 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW24080559 BCX0" data-ccp-parastyle="heading 1"&gt;3. Software&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;Software is still a work in progress and will take more time, but for now, some simple commands have been implemented:&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Disabling all motors by taking the PWM to 0% duty cycle and switching the relay OFF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Turning ON the relay&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="3" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on a single joint&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="1" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Setting an angle on all joints at once&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li data-font="Calibri" data-listid="2" data-aria-posinset="2" data-aria-level="1"&gt;&lt;span data-contrast="auto"&gt;Calibrating the potentiometer readings on the min/max range of the servo motors&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;The most important functions left to be implemented are position record and playback, which record the ADC values for all potentiometers, store them, convert the values to angles based on the parameters from the calibration procedure, and then playback those angles at a given speed.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;GitHub repository for the Cheap Robot Arm: &lt;/span&gt;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo60rhk7"&gt;&lt;span&gt;&amp;nbsp;Bonus Content:&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Github:&amp;nbsp;&amp;nbsp;&lt;a href="https://github.com/MilosRasic98/CheapRobotArm" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;span data-contrast="none"&gt;https://github.com/MilosRasic98/CheapRobotArm&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast="auto"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;CAD Files and Code&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---idea-plan---blog-1"&gt;DiPinto Da BRACCIO - Idea &amp;amp; Plan - Blog 1&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/design-challenges/picasso/b/blog/posts/dipinto-da-braccio---meet-the-stars---part-1---blog-2"&gt;DiPinto Da BRACCIO - Meet the Stars - Part 1 - Blog 2&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="https://community.element14.com/challenges-projects/project14/sensors/b/blog/posts/sensor-kit-for-braccio"&gt;Sensor Kit For BRACCIO&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo767ve9"&gt;Bill of Material:&lt;/h2&gt;
&lt;table class="e14-product-bom-main"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-fc9ea" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950&amp;nsku=38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_BUY_KIT" class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('fc9ea'));" data-farnell="3996082,2946071,1684816~5,SER0050~5,4162007,1280761,3924524,3124941,3769950" data-newark="38AK5986,79AC5542,80P7432~5,33AK3646~5,81AK4435,24M6407,29AK2397,52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc=",,undefined~5,undefined~5,,,,," data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Kit&lt;/a&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RASPBERRY-PI Raspberry Pi Pico W Board, RP2040, 32 bit, ARM Cortex-M0+&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-75e09" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996082&amp;nsku=38AK5986&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('75e09'));" data-farnell="3996082" data-newark="38AK5986" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT DFR0473 Relay Module&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3190c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2946071&amp;nsku=79AC5542&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('3190c'));" data-farnell="2946071" data-newark="79AC5542" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TT ELECTRONICS / BI TECHNOLOGIES P160KNP-0EC15B25K - Potentiometer&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6265c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1684816~5&amp;nsku=80P7432~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('6265c'));" data-farnell="1684816~5" data-newark="80P7432~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0050 - Small Servo Motor&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d4dea" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=SER0050~5&amp;nsku=33AK3646~5&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('d4dea'));" data-farnell="SER0050~5" data-newark="33AK3646~5" data-comoverride="" data-cmpoverride="" data-cpc="undefined~5" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG08611&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-b348a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=4162007&amp;nsku=81AK4435&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('b348a'));" data-farnell="4162007" data-newark="81AK4435" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PRO SIGNAL PSG01595&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-5d010" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1280761&amp;nsku=24M6407&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('5d010'));" data-farnell="1280761" data-newark="24M6407" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MULTICOMP PRO MP008930 - PLA filament&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ca34c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3924524&amp;nsku=29AK2397&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('ca34c'));" data-farnell="3924524" data-newark="29AK2397" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CD4053BE - Texas Instruments Analog Multiplexer&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-64315" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="javascript:void(0)" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('64315'));" data-farnell="3124941" data-newark="" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DFROBOT SER0044 - Servo with analog feedback&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-abd5f" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950&amp;nsku=52AJ5993&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-button" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('abd5f'));" data-farnell="3769950" data-newark="52AJ5993" data-comoverride="" data-cmpoverride="" data-cpc="undefined" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr class="xs-hide"&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1heo5um1g3"&gt;&amp;nbsp;Additional Parts:&lt;/h2&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;M3 screws and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Perfboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Passive components like resistors, capacitors, wires&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150mm Junction Box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;&lt;/div&gt;
&lt;div style="background:#ffffff;border:1px solid #dadada;margin:0;padding:14px 16px 16px 18px;vertical-align:top;"&gt;
&lt;div style="display:inline-block;float:left;padding:0px 25px 8px 0px;"&gt;&lt;a href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;&lt;img loading="lazy" alt="element14 presents" src="/e14/assets/legacy/2018/e14PresentsJune818.png" width="180px" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="display:inline-block;vertical-align:top;width:70%;"&gt;&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/" data-e14adj="t"&gt;element14 presents&lt;/a&gt;&lt;/span&gt;&amp;nbsp; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a href="/challenges-projects/element14-presents/vcp-program/w/documents/28156/vcp-biography-milos-rasic" data-e14adj="t"&gt;About Milos Rasic&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt;&amp;nbsp; &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" data-e14adj="t"&gt;Project Videos&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: servo motor, potentiometer, multiplexing, multiplexer, Affordable Robot Arm, e14p_Milos, robotics, raspberry pi pico, 3D Printing, Pulse Width Modulation (PWM), Robotics Enthusiast, Robot Arm Assembly, raspberry pi, 3D Printing in Robotics, DIY Robotics Videos, Potentiometer Feedback, Custom Bearings in Robotics, Position Feedback Robot Arm, robot arm, servo motors, robotics project, DIY Robot Arm, diy electronics, Cheap Robot Arm, Robotics Enthusiast Community, friday_release, Multiplexers for Analog Inputs&lt;/div&gt;
</description></item><item><title>Making a Cheap DIY Robot Arm -- Episode-628</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628/revision/1</link><pubDate>Wed, 08 Nov 2023 19:14:23 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:cb5644ae-2a73-4ac6-b91f-ef7478bea22c</guid><dc:creator>tariq.ahmad</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/28361/affordable-diy-robot-arm-a-deep-dive-into-3d-printing-and-servo-motors----episode-628#comments</comments><description>Revision 1 posted to Documents by tariq.ahmad on 11/8/2023 7:14:23 PM&lt;br /&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;To learn about robotics, Milos was looking for an affordable 5 Degrees Of Freedom (5DOF) robotic arm. Although affordable arms do exist, they are usually too small and only offer a few degrees of freedom. Robotic arms that satisfy all requirements, including build quality and range of motion, usually cost in the range of a few hundred dollars.&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span data-contrast="auto"&gt;In this video, Milos sets out to create a high-quality 5DOF robotic arm that everyone can afford.&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo473bk0"&gt;&lt;span&gt;Watch the Video:&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=KQ0SGzuE_xo&amp;amp;feature=youtu.be"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt="image" style="max-height:360px;max-width:640px;"  src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/vlcsnap_2D00_2023_2D00_11_2D00_06_2D00_13h36m11s450.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo489ei1"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;1. Design &amp;amp; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="TextRun SCXW134819121 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Milos decided t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;o&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; 3D print&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; the necessary parts.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printers are widely available now,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;3D printing parts, such as a large bearing, can be more cost-effective than &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;finding one from a retailer.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;Large&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; bearings can get expensive fast, especially if you&amp;rsquo;re looking for &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;an unusual&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; size&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;For the ball bearings, t&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;he idea was to use 3D printing for the inner a&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;nd outer ring&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;s,&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; and use &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;common &lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;glass marbles&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt; for the balls&lt;/span&gt;&lt;span class="NormalTextRun SCXW134819121 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:367px;max-width:650px;" height="367" src="/resized-image/__size/1300x734/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469567658v2.png" width="650"  /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun SCXW165832768 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;For powering the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; robot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;rsquo;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; joints, Milos decided to use small servo motors. T&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;hey are easy to find&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; and easy to control using any microcontroller because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;all they&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; require&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; is&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a PWM signal. Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; small DFR&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;obot&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; servo motors &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;because &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;they are designed&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to protect the motor if the current draw is too high for too long&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;The motor&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; also ha&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;a clutch that allows &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;it&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; to start skipping if the load is too &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;great, prote&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;cting the inner components.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;S&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;imple rotary potentiometers were used&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; for position feedback.&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;Potentiometers work well&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; with a microcontroller and &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;offer the&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; additional benefit&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; of&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; tak&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;ing&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; a bit of strain off of the servo motor shaft if they are paired for each of the modules &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;(illustrated&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt; in the &lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;following diagram)&lt;/span&gt;&lt;span class="NormalTextRun SCXW165832768 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:369px;max-width:654px;" height="369" src="/resized-image/__size/1308x738/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699469716754v3.png" width="654"  /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="TextRun SCXW235255992 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;All of the &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;robot arms &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;parts &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;were&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; 3D printed &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;(&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;all of the files &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;are&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; available &lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;free to&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt; download&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW235255992 BCX0"&gt;. If you want to take a detailed look at how to assemble different parts of the robot arm, check the bonus content video(s) below.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW165832768 BCX0"&gt;&lt;span class="EOP SCXW235255992 BCX0"&gt;&lt;a href="https://www.youtube.com/shorts/v8rHBLzjJ7A"&gt;www.youtube.com/.../v8rHBLzjJ7A&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rh552"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="TextRun Underlined SCXW91447630 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW91447630 BCX0" data-ccp-parastyle="heading 1"&gt;2. Electronics&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="TextRun SCXW58124651 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;Electronics for this initial build ended up being rather simple&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;.&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; Milos &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;chose&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; a Raspberry Pico W for this build&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;, because&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;they&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; are&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; popular,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; inexpensive, and&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; their small size&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; leave&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;s&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; room for &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;components, such as&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; &lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;a&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; wireless control&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt;,&lt;/span&gt;&lt;span class="NormalTextRun SCXW58124651 BCX0"&gt; to be added in the future.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5aim55"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="TextRun Underlined SCXW200968501 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW200968501 BCX0" data-ccp-parastyle="heading 2"&gt;Faulty Circuit&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW226270552 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;The Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;was re&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;quired&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to provide &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;si&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;x&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; PWM outputs for &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;each of &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; possible servos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; (&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;the sixth servo would be the gripper servo&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;)&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;, as well as &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; input channels for the &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;six&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; potentiometers. &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;he Pico only has &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;three&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; ADC pins, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;however, &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;so &lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;Milos&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; added a CD4053BE multiplexer&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt; to accommodate more I/O&lt;/span&gt;&lt;span class="NormalTextRun SCXW226270552 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW226270552 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:399px;max-width:642px;" height="399" src="/resized-image/__size/1284x798/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470493147v4.png" width="642"  /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="TextRun SCXW29314283 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;The&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; circuit&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; is pretty simple, however, it&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt; didn&amp;rsquo;t work. &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;Milos returned to the datasheet&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;s and found that the microcontroller was running off of less voltage (3.3V) than the minimum voltage that the multiplexer required (3.5V). &lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;To fix this, he added a shifter circuit using an op&lt;/span&gt;&lt;span class="NormalTextRun SCXW29314283 BCX0"&gt;tocoupler (4N27), as illustrated in the following diagram.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5eeqj6"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;Corrected Circuit&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;img loading="lazy" alt="image" style="max-height:381px;max-width:611px;" height="381" src="/resized-image/__size/1222x762/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470623241v5.png" width="611"  /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1heo5iheu9"&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun Underlined SCXW93521751 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW93521751 BCX0" data-ccp-parastyle="heading 2"&gt;Final Schematic&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="TextRun SCXW115710096 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;Here is the final schematic&lt;/span&gt;&lt;span class="NormalTextRun SCXW115710096 BCX0"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW93521751 BCX0"&gt;&lt;span class="EOP SCXW115710096 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:360px;max-width:640px;" src="/resized-image/__size/1280x720/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470767380v6.png"  /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="TextRun SCXW26619085 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;T&lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;he pinout for the Pico &lt;/span&gt;&lt;span class="NormalTextRun SCXW26619085 BCX0"&gt;is as follows:&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="EOP SCXW58124651 BCX0"&gt;&lt;span class="EOP SCXW200968501 BCX0"&gt;&lt;span class="EOP SCXW29314283 BCX0"&gt;&lt;span class="TextRun Underlined SCXW202041508 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW202041508 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;span class="EOP SCXW26619085 BCX0"&gt;&lt;img loading="lazy" alt="image" style="max-height:288px;max-width:487px;" height="288" src="/resized-image/__size/974x576/__key/communityserver-wikis-components-files/00-00-00-04-35/pastedimage1699470843478v7.png" width="487"  /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1heo4rmfn3"&gt;&lt;span&gt;&lt;span class="TextRun Underlined SCXW84962087 BCX0" lang="EN" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW84962087 BCX0" data-ccp-parastyle="heading 1"&gt;&lt;span class="EOP SCXW134819121 BCX0"&gt;&lt;span class="EOP SCXW91447630 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>