<?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>Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico -- Episode 662</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico -- Episode 662</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662</link><pubDate>Fri, 11 Apr 2025 15:38:30 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d4af31c6-8038-4929-a42a-043f5e07bd05</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662#comments</comments><description>Current Revision posted to Documents by cstanton on 4/11/2025 3:38:30 PM&lt;br /&gt;
&lt;p&gt;Milos is back with an upgraded version of his low-cost robot arm project! After building a popular 3D-printed arm in 2023, he&amp;#39;s now redesigned it with more powerful servos, real bearings, and improved electronics&amp;mdash;all while keeping costs down. In this video, he walks through the new build, tests out its movement, and shows how Python scripts can record and replay motion with position feedback. Milos made&amp;nbsp;the robot arm as cheap as possible using 3D printing, servo motors, and marbles for the custom designed bearings. While the robot arm turned out good, he wasn&amp;rsquo;t satisfied with its performance since the motors were not strong enough. Now we have a bigger and stronger arm, one that is comparable in size to the BRACCIO robot arm from Arduino but with the same goal of making it as low cost as possible!&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te0"&gt;&lt;span&gt;Watch the Video&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://youtu.be/BN9T--Ktsx8"&gt;https://youtu.be/BN9T--Ktsx8&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;The new arm is trying to keep the same functionality like the last robot arm, but just bigger and stronger. This includes new DFROBOT servo motors with position feedback, actual bearings for each of the joints just to make the whole structure more stable.&amp;nbsp;&lt;span&gt;All of those changes bring it more onto the level of the BRACCIO robot arm since it will have the same size servos but with some benefits like the built in position feedback as well as a sturdier construction. The 3 arms put side by side, are in the picture below, with the new arm in the middle.&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/pastedimage1744288734932v1.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/7.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/10.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te1"&gt;&lt;span&gt;&lt;/span&gt;The Electronics&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The electronics haven&amp;rsquo;t changed too much compared to the old, smaller robot arm. The MCU behind the robot arm is a Raspberry Pi Pico, and its main job is to record the data from the servo motors and send them position commands. This time however, Milos did more things on the programming side, he wrote a few Python scripts which can interact with the robot arm to send commands and also record the robot arm movements. This way, the robot arm can be guided by hand and after the recording is done, it can replay everything the user has shown it. Because of the higher current draw of the bigger motors, a bigger relay was used to make sure that the motors are getting sufficient power without anything overheating in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288769475v3.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te2"&gt;&lt;span&gt;Testing the Arm&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&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/6.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Of course, this was the favourite part for Milos to do, playing around with the finished robot arm. He runs through some basic tests like sending simple move commands to the robot arm, and also recording the data from moving the robot arm by hand. A picture of the collected data during one of those sessions is below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/16.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;He noticed one thing during testing, and especially when looking at the plotted data, and that&amp;rsquo;s the amount of noise coming from the potentiometers. Zooming in on one of the signals, we can see this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288983859v5.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The signal is very noisy, especially when that joint is stationary. To battle that a bit, Milos did some filtering in Python, and from the recorded data, he generated a new CSV file with filtered signals. An example of how the filtering process worked for the signal shown above is shown here:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288999396v6.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While the filtering for this case was a bit too strong, it doesn&amp;rsquo;t change the signal too much for a robot arm of this precision, so it&amp;rsquo;s a better fit than the unfiltered signal. He applied the same filtering algorithm to all of the axis, and this is the comparison of that for all of the joints at once.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744289011835v7.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744289019364v8.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrnkrb3"&gt;&lt;span&gt;The Finished Product (For Now?)&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&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/Thumbnail4_5F00_1.25.3.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;What should&amp;nbsp;Milos consider for the robot arm design? Or are you building one for yourself?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Let us know below.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1ioio07as0"&gt;&lt;span&gt;Downloads and Links&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="CAD and Code" href="/challenges-projects/element14-presents/m/files/150231" data-e14adj="t"&gt;CAD and Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;a href="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"&gt;Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628&lt;/a&gt;&amp;nbsp;- with more files and bill of materials.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1iofhpqeb2"&gt;Bill of Materials&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;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-03426" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081,3769950~5,3650214,2845501,1419919&amp;nsku=38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807&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('03426'));" data-farnell="3996081,3769950~5,3650214,2845501,1419919" data-newark="38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807" data-comoverride="" data-cmpoverride="" data-cpc="SC19560,MC02885~5,MK00909" 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 PICO H&lt;/td&gt;
&lt;td&gt;RASPBERRY PI&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-15776" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081&amp;nsku=38AK5985&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('15776'));" data-farnell="3996081" data-newark="38AK5985" data-comoverride="" data-cmpoverride="" data-cpc="SC19560" 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 SERVO MOTOR&lt;/td&gt;
&lt;td&gt;DFROBOT&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-27ce7" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950~5&amp;nsku=52AJ5993~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('27ce7'));" data-farnell="3769950~5" data-newark="52AJ5993~5" data-comoverride="" data-cmpoverride="" data-cpc="MC02885~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;5V 18A POWER SUPPLY&lt;/td&gt;
&lt;td&gt;XP POWER&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-86ebe" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3650214&amp;nsku=19AJ5870&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('86ebe'));" data-farnell="3650214" data-newark="19AJ5870" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WHITE PLA 3D PRINTING FILAMENT&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-2e5fe" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2845501&amp;nsku=50AC9540&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('2e5fe'));" data-farnell="2845501" data-newark="50AC9540" data-comoverride="" data-cmpoverride="" data-cpc="MK00909" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M3 8 SO12CS Z100&lt;/td&gt;
&lt;td&gt;TR FASTENINGS&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8ea7d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1419919&amp;nsku=53M8807&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('8ea7d'));" data-farnell="1419919" data-newark="53M8807" data-comoverride="" data-cmpoverride="" data-cpc="" 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;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb3"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other M3 screws&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aluminum 20x20 profiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LCD drawing tablet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M8 bolts and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Small bearings&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&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 id="Discussion" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" 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: robot arm with position feedback, robot arm calibration, servo motor robot arm, dfrobot servo motor, homemade robotic arm, robotic arm filtering python, robot arm pythonc ontrol, low cost robot arm, diy robotics project, robot arm using bearings, raspberry pi pico robotics, DIY Robot Arm, friday_release, robot arm with analog feedback, robot arm data logging, 3d printed robot arm&lt;/div&gt;
</description></item><item><title>Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico -- Episode 662</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662/revision/6</link><pubDate>Thu, 10 Apr 2025 13:58:14 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d4af31c6-8038-4929-a42a-043f5e07bd05</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662#comments</comments><description>Revision 6 posted to Documents by cstanton on 4/10/2025 1:58:14 PM&lt;br /&gt;
&lt;p&gt;Milos is back with an upgraded version of his low-cost robot arm project! After building a popular 3D-printed arm in 2023, he&amp;#39;s now redesigned it with more powerful servos, real bearings, and improved electronics&amp;mdash;all while keeping costs down. In this video, he walks through the new build, tests out its movement, and shows how Python scripts can record and replay motion with position feedback. Milos made&amp;nbsp;the robot arm as cheap as possible using 3D printing, servo motors, and marbles for the custom designed bearings. While the robot arm turned out good, he wasn&amp;rsquo;t satisfied with its performance since the motors were not strong enough. Now we have a bigger and stronger arm, one that is comparable in size to the BRACCIO robot arm from Arduino but with the same goal of making it as low cost as possible!&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te0"&gt;&lt;span&gt;Watch the Video&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://youtu.be/BN9T--Ktsx8"&gt;https://youtu.be/BN9T--Ktsx8&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;The new arm is trying to keep the same functionality like the last robot arm, but just bigger and stronger. This includes new DFROBOT servo motors with position feedback, actual bearings for each of the joints just to make the whole structure more stable.&amp;nbsp;&lt;span&gt;All of those changes bring it more onto the level of the BRACCIO robot arm since it will have the same size servos but with some benefits like the built in position feedback as well as a sturdier construction. The 3 arms put side by side, are in the picture below, with the new arm in the middle.&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/pastedimage1744288734932v1.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/7.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/10.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te1"&gt;&lt;span&gt;&lt;/span&gt;The Electronics&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The electronics haven&amp;rsquo;t changed too much compared to the old, smaller robot arm. The MCU behind the robot arm is a Raspberry Pi Pico, and its main job is to record the data from the servo motors and send them position commands. This time however, Milos did more things on the programming side, he wrote a few Python scripts which can interact with the robot arm to send commands and also record the robot arm movements. This way, the robot arm can be guided by hand and after the recording is done, it can replay everything the user has shown it. Because of the higher current draw of the bigger motors, a bigger relay was used to make sure that the motors are getting sufficient power without anything overheating in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288769475v3.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te2"&gt;&lt;span&gt;Testing the Arm&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&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/6.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Of course, this was the favourite part for Milos to do, playing around with the finished robot arm. He runs through some basic tests like sending simple move commands to the robot arm, and also recording the data from moving the robot arm by hand. A picture of the collected data during one of those sessions is below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/16.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;He noticed one thing during testing, and especially when looking at the plotted data, and that&amp;rsquo;s the amount of noise coming from the potentiometers. Zooming in on one of the signals, we can see this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288983859v5.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The signal is very noisy, especially when that joint is stationary. To battle that a bit, Milos did some filtering in Python, and from the recorded data, he generated a new CSV file with filtered signals. An example of how the filtering process worked for the signal shown above is shown here:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288999396v6.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While the filtering for this case was a bit too strong, it doesn&amp;rsquo;t change the signal too much for a robot arm of this precision, so it&amp;rsquo;s a better fit than the unfiltered signal. He applied the same filtering algorithm to all of the axis, and this is the comparison of that for all of the joints at once.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744289011835v7.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744289019364v8.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrnkrb3"&gt;&lt;span&gt;The Finished Product (For Now?)&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&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/Thumbnail4_5F00_1.25.3.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;What should&amp;nbsp;Milos consider for the robot arm design? Or are you building one for yourself?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Let us know below.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb2"&gt;Bill of Materials&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;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-f13e0" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081,3769950~5,3650214,2845501,1419919&amp;nsku=38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807&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('f13e0'));" data-farnell="3996081,3769950~5,3650214,2845501,1419919" data-newark="38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807" data-comoverride="" data-cmpoverride="" data-cpc="SC19560,MC02885~5,MK00909" 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 PICO H&lt;/td&gt;
&lt;td&gt;RASPBERRY PI&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-fced2" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081&amp;nsku=38AK5985&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('fced2'));" data-farnell="3996081" data-newark="38AK5985" data-comoverride="" data-cmpoverride="" data-cpc="SC19560" 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 SERVO MOTOR&lt;/td&gt;
&lt;td&gt;DFROBOT&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-a8c9d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950~5&amp;nsku=52AJ5993~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('a8c9d'));" data-farnell="3769950~5" data-newark="52AJ5993~5" data-comoverride="" data-cmpoverride="" data-cpc="MC02885~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;5V 18A POWER SUPPLY&lt;/td&gt;
&lt;td&gt;XP POWER&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7c7ea" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3650214&amp;nsku=19AJ5870&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('7c7ea'));" data-farnell="3650214" data-newark="19AJ5870" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WHITE PLA 3D PRINTING FILAMENT&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-7e63d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2845501&amp;nsku=50AC9540&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('7e63d'));" data-farnell="2845501" data-newark="50AC9540" data-comoverride="" data-cmpoverride="" data-cpc="MK00909" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M3 8 SO12CS Z100&lt;/td&gt;
&lt;td&gt;TR FASTENINGS&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1610e" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1419919&amp;nsku=53M8807&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('1610e'));" data-farnell="1419919" data-newark="53M8807" data-comoverride="" data-cmpoverride="" data-cpc="" 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;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb3"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other M3 screws&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aluminum 20x20 profiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LCD drawing tablet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M8 bolts and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Small bearings&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&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 id="Discussion" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" 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: robot arm with position feedback, robot arm calibration, servo motor robot arm, dfrobot servo motor, homemade robotic arm, robotic arm filtering python, robot arm pythonc ontrol, low cost robot arm, diy robotics project, robot arm using bearings, raspberry pi pico robotics, DIY Robot Arm, friday_release, robot arm with analog feedback, robot arm data logging, 3d printed robot arm&lt;/div&gt;
</description></item><item><title>Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico -- Episode 662</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662/revision/7</link><pubDate>Thu, 10 Apr 2025 13:58:14 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d4af31c6-8038-4929-a42a-043f5e07bd05</guid><dc:creator>vijeth_ds</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662#comments</comments><description>Revision 7 posted to Documents by vijeth_ds on 4/10/2025 1:58:14 PM&lt;br /&gt;
&lt;p&gt;Milos is back with an upgraded version of his low-cost robot arm project! After building a popular 3D-printed arm in 2023, he&amp;#39;s now redesigned it with more powerful servos, real bearings, and improved electronics&amp;mdash;all while keeping costs down. In this video, he walks through the new build, tests out its movement, and shows how Python scripts can record and replay motion with position feedback. Milos made&amp;nbsp;the robot arm as cheap as possible using 3D printing, servo motors, and marbles for the custom designed bearings. While the robot arm turned out good, he wasn&amp;rsquo;t satisfied with its performance since the motors were not strong enough. Now we have a bigger and stronger arm, one that is comparable in size to the BRACCIO robot arm from Arduino but with the same goal of making it as low cost as possible!&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te0"&gt;&lt;span&gt;Watch the Video&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://youtu.be/BN9T--Ktsx8"&gt;https://youtu.be/BN9T--Ktsx8&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;The new arm is trying to keep the same functionality like the last robot arm, but just bigger and stronger. This includes new DFROBOT servo motors with position feedback, actual bearings for each of the joints just to make the whole structure more stable.&amp;nbsp;&lt;span&gt;All of those changes bring it more onto the level of the BRACCIO robot arm since it will have the same size servos but with some benefits like the built in position feedback as well as a sturdier construction. The 3 arms put side by side, are in the picture below, with the new arm in the middle.&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/pastedimage1744288734932v1.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/7.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/10.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te1"&gt;&lt;span&gt;&lt;/span&gt;The Electronics&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The electronics haven&amp;rsquo;t changed too much compared to the old, smaller robot arm. The MCU behind the robot arm is a Raspberry Pi Pico, and its main job is to record the data from the servo motors and send them position commands. This time however, Milos did more things on the programming side, he wrote a few Python scripts which can interact with the robot arm to send commands and also record the robot arm movements. This way, the robot arm can be guided by hand and after the recording is done, it can replay everything the user has shown it. Because of the higher current draw of the bigger motors, a bigger relay was used to make sure that the motors are getting sufficient power without anything overheating in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288769475v3.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te2"&gt;&lt;span&gt;Testing the Arm&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&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/6.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Of course, this was the favourite part for Milos to do, playing around with the finished robot arm. He runs through some basic tests like sending simple move commands to the robot arm, and also recording the data from moving the robot arm by hand. A picture of the collected data during one of those sessions is below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/16.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;He noticed one thing during testing, and especially when looking at the plotted data, and that&amp;rsquo;s the amount of noise coming from the potentiometers. Zooming in on one of the signals, we can see this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288983859v5.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The signal is very noisy, especially when that joint is stationary. To battle that a bit, Milos did some filtering in Python, and from the recorded data, he generated a new CSV file with filtered signals. An example of how the filtering process worked for the signal shown above is shown here:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288999396v6.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While the filtering for this case was a bit too strong, it doesn&amp;rsquo;t change the signal too much for a robot arm of this precision, so it&amp;rsquo;s a better fit than the unfiltered signal. He applied the same filtering algorithm to all of the axis, and this is the comparison of that for all of the joints at once.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744289011835v7.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744289019364v8.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrnkrb3"&gt;&lt;span&gt;The Finished Product (For Now?)&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&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/Thumbnail4_5F00_1.25.3.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;What should&amp;nbsp;Milos consider for the robot arm design? Or are you building one for yourself?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Let us know below.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb2"&gt;Bill of Materials&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;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-4a8aa" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081,3769950~5,3650214,2845501,1419919&amp;nsku=38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807&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('4a8aa'));" data-farnell="3996081,3769950~5,3650214,2845501,1419919" data-newark="38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807" data-comoverride="" data-cmpoverride="" data-cpc="SC19560,MC02885~5,MK00909" 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 PICO H&lt;/td&gt;
&lt;td&gt;RASPBERRY PI&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-cd284" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081&amp;nsku=38AK5985&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('cd284'));" data-farnell="3996081" data-newark="38AK5985" data-comoverride="" data-cmpoverride="" data-cpc="SC19560" 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 SERVO MOTOR&lt;/td&gt;
&lt;td&gt;DFROBOT&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-12e78" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950~5&amp;nsku=52AJ5993~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('12e78'));" data-farnell="3769950~5" data-newark="52AJ5993~5" data-comoverride="" data-cmpoverride="" data-cpc="MC02885~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;5V 18A POWER SUPPLY&lt;/td&gt;
&lt;td&gt;XP POWER&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-823f1" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3650214&amp;nsku=19AJ5870&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('823f1'));" data-farnell="3650214" data-newark="19AJ5870" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WHITE PLA 3D PRINTING FILAMENT&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4a557" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2845501&amp;nsku=50AC9540&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('4a557'));" data-farnell="2845501" data-newark="50AC9540" data-comoverride="" data-cmpoverride="" data-cpc="MK00909" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M3 8 SO12CS Z100&lt;/td&gt;
&lt;td&gt;TR FASTENINGS&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-1a8f9" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1419919&amp;nsku=53M8807&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('1a8f9'));" data-farnell="1419919" data-newark="53M8807" data-comoverride="" data-cmpoverride="" data-cpc="" 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;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb3"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other M3 screws&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aluminum 20x20 profiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LCD drawing tablet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M8 bolts and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Small bearings&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&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 id="Discussion" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" 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: robot arm with position feedback, robot arm calibration, servo motor robot arm, dfrobot servo motor, homemade robotic arm, robotic arm filtering python, robot arm pythonc ontrol, low cost robot arm, diy robotics project, robot arm using bearings, raspberry pi pico robotics, DIY Robot Arm, friday_release, robot arm with analog feedback, robot arm data logging, 3d printed robot arm&lt;/div&gt;
</description></item><item><title>Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico -- Episode 662</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662/revision/5</link><pubDate>Thu, 10 Apr 2025 12:47:41 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d4af31c6-8038-4929-a42a-043f5e07bd05</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662#comments</comments><description>Revision 5 posted to Documents by cstanton on 4/10/2025 12:47:41 PM&lt;br /&gt;
&lt;p&gt;Milos is back with an upgraded version of his low-cost robot arm project! After building a popular 3D-printed arm in 2023, he&amp;#39;s now redesigned it with more powerful servos, real bearings, and improved electronics&amp;mdash;all while keeping costs down. In this video, he walks through the new build, tests out its movement, and shows how Python scripts can record and replay motion with position feedback. Milos made&amp;nbsp;the robot arm as cheap as possible using 3D printing, servo motors, and marbles for the custom designed bearings. While the robot arm turned out good, he wasn&amp;rsquo;t satisfied with its performance since the motors were not strong enough. Now we have a bigger and stronger arm, one that is comparable in size to the BRACCIO robot arm from Arduino but with the same goal of making it as low cost as possible!&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te0"&gt;&lt;span&gt;Watch the Video&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;The new arm is trying to keep the same functionality like the last robot arm, but just bigger and stronger. This includes new DFROBOT servo motors with position feedback, actual bearings for each of the joints just to make the whole structure more stable.&amp;nbsp;&lt;span&gt;All of those changes bring it more onto the level of the BRACCIO robot arm since it will have the same size servos but with some benefits like the built in position feedback as well as a sturdier construction. The 3 arms put side by side, are in the picture below, with the new arm in the middle.&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/pastedimage1744288734932v1.png"  /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/7.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/10.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te1"&gt;&lt;span&gt;&lt;/span&gt;The Electronics&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The electronics haven&amp;rsquo;t changed too much compared to the old, smaller robot arm. The MCU behind the robot arm is a Raspberry Pi Pico, and its main job is to record the data from the servo motors and send them position commands. This time however, Milos did more things on the programming side, he wrote a few Python scripts which can interact with the robot arm to send commands and also record the robot arm movements. This way, the robot arm can be guided by hand and after the recording is done, it can replay everything the user has shown it. Because of the higher current draw of the bigger motors, a bigger relay was used to make sure that the motors are getting sufficient power without anything overheating in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288769475v3.png"  /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrf0te2"&gt;&lt;span&gt;Testing the Arm&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&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/6.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Of course, this was the favourite part for Milos to do, playing around with the finished robot arm. He runs through some basic tests like sending simple move commands to the robot arm, and also recording the data from moving the robot arm by hand. A picture of the collected data during one of those sessions is below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/16.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;He noticed one thing during testing, and especially when looking at the plotted data, and that&amp;rsquo;s the amount of noise coming from the potentiometers. Zooming in on one of the signals, we can see this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288983859v5.png"  /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The signal is very noisy, especially when that joint is stationary. To battle that a bit, Milos did some filtering in Python, and from the recorded data, he generated a new CSV file with filtered signals. An example of how the filtering process worked for the signal shown above is shown here:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744288999396v6.png"  /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While the filtering for this case was a bit too strong, it doesn&amp;rsquo;t change the signal too much for a robot arm of this precision, so it&amp;rsquo;s a better fit than the unfiltered signal. He applied the same filtering algorithm to all of the axis, and this is the comparison of that for all of the joints at once.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744289011835v7.png"  /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&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/pastedimage1744289019364v8.png"  /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofrnkrb3"&gt;&lt;span&gt;The Finished Product (For Now?)&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&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/Thumbnail4_5F00_1.25.3.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;What should&amp;nbsp;Milos consider for the robot arm design? Or are you building one for yourself?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Let us know below.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb2"&gt;Bill of Materials&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;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-867a4" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081,3769950~5,3650214,2845501,1419919&amp;nsku=38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807&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('867a4'));" data-farnell="3996081,3769950~5,3650214,2845501,1419919" data-newark="38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807" data-comoverride="" data-cmpoverride="" data-cpc="SC19560,MC02885~5,MK00909" 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 PICO H&lt;/td&gt;
&lt;td&gt;RASPBERRY PI&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-df336" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081&amp;nsku=38AK5985&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('df336'));" data-farnell="3996081" data-newark="38AK5985" data-comoverride="" data-cmpoverride="" data-cpc="SC19560" 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 SERVO MOTOR&lt;/td&gt;
&lt;td&gt;DFROBOT&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-c6936" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950~5&amp;nsku=52AJ5993~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('c6936'));" data-farnell="3769950~5" data-newark="52AJ5993~5" data-comoverride="" data-cmpoverride="" data-cpc="MC02885~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;5V 18A POWER SUPPLY&lt;/td&gt;
&lt;td&gt;XP POWER&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-2fb29" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3650214&amp;nsku=19AJ5870&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('2fb29'));" data-farnell="3650214" data-newark="19AJ5870" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WHITE PLA 3D PRINTING FILAMENT&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3433c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2845501&amp;nsku=50AC9540&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('3433c'));" data-farnell="2845501" data-newark="50AC9540" data-comoverride="" data-cmpoverride="" data-cpc="MK00909" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M3 8 SO12CS Z100&lt;/td&gt;
&lt;td&gt;TR FASTENINGS&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-075a7" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1419919&amp;nsku=53M8807&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('075a7'));" data-farnell="1419919" data-newark="53M8807" data-comoverride="" data-cmpoverride="" data-cpc="" 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;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb3"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other M3 screws&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aluminum 20x20 profiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LCD drawing tablet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M8 bolts and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Small bearings&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&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 id="Discussion" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" 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: robot arm with position feedback, robot arm calibration, servo motor robot arm, dfrobot servo motor, homemade robotic arm, robotic arm filtering python, robot arm pythonc ontrol, low cost robot arm, diy robotics project, robot arm using bearings, raspberry pi pico robotics, DIY Robot Arm, friday_release, robot arm with analog feedback, robot arm data logging, 3d printed robot arm&lt;/div&gt;
</description></item><item><title>Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico -- Episode 662</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662/revision/4</link><pubDate>Thu, 10 Apr 2025 12:04:56 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d4af31c6-8038-4929-a42a-043f5e07bd05</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662#comments</comments><description>Revision 4 posted to Documents by cstanton on 4/10/2025 12:04:56 PM&lt;br /&gt;
&lt;p&gt;Last year Milos made a robot arm as cheap as possible using 3D printing, servo motors, and marbles for the custom designed bearings. While the robot arm turned out good, he wasn&amp;rsquo;t satisfied with its performance since the motors were not strong enough. So Milos is back now with a new bigger and stronger arm, one that is comparable in size to the BRACCIO robot arm from Arduino but with the same goal of making it as low cost as possible!&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Watch the Video&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;The new arm is trying to keep the same functionality like the last robot arm, but just bigger and stronger. This includes new DFROBOT servo motors with position feedback, actual bearings for each of the joints just to make the whole structure more stable.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;All of those changes bring it more onto the level of the BRACCIO robot arm since it will have the same size servos but with some benefits like the built in position feedback as well as a sturdier construction. The 3 arms put side by side, are in the picture below, with the new arm in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;&lt;/span&gt;The Electronics&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;The electronics haven&amp;rsquo;t changed too much compared to the old, smaller robot arm. The MCU behind the robot arm is a Raspberry Pi Pico, and its main job is to record the data from the servo motors and send them position commands. This time however, Milos did more things on the programming side, he wrote a few Python scripts which can interact with the robot arm to send commands and also record the robot arm movements. This way, the robot arm can be guided by hand and after the recording is done, it can replay everything the user has shown it. Because of the higher current draw of the bigger motors, a bigger relay was used to make sure that the motors are getting sufficient power without anything overheating in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Testing the Arm&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;Of course, this was the favourite part for Milos to do, playing around with the finished robot arm. He runs through some basic tests like sending simple move commands to the robot arm, and also recording the data from moving the robot arm by hand. A picture of the collected data during one of those sessions is below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;He noticed one thing during testing, and especially when looking at the plotted data, and that&amp;rsquo;s the amount of noise coming from the potentiometers. Zooming in on one of the signals, we can see this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The signal is very noisy, especially when that joint is stationary. To battle that a bit, Milos did some filtering in Python, and from the recorded data, he generated a new CSV file with filtered signals. An example of how the filtering process worked for the signal shown above is shown in the picture below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While the filtering for this case was a bit too strong, it doesn&amp;rsquo;t change the signal too much for a robot arm of this precision, so it&amp;rsquo;s a better fit than the unfiltered signal. He applied the same filtering algorithm to all of the axis, and this is the comparison of that for all of the joints at once.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb2"&gt;Bill of Materials&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;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-2d519" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081,3769950~5,3650214,2845501,1419919&amp;nsku=38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807&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('2d519'));" data-farnell="3996081,3769950~5,3650214,2845501,1419919" data-newark="38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807" data-comoverride="" data-cmpoverride="" data-cpc="SC19560,MC02885~5,MK00909" 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 PICO H&lt;/td&gt;
&lt;td&gt;RASPBERRY PI&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-8fdd9" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081&amp;nsku=38AK5985&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('8fdd9'));" data-farnell="3996081" data-newark="38AK5985" data-comoverride="" data-cmpoverride="" data-cpc="SC19560" 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 SERVO MOTOR&lt;/td&gt;
&lt;td&gt;DFROBOT&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-4f6d8" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950~5&amp;nsku=52AJ5993~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('4f6d8'));" data-farnell="3769950~5" data-newark="52AJ5993~5" data-comoverride="" data-cmpoverride="" data-cpc="MC02885~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;5V 18A POWER SUPPLY&lt;/td&gt;
&lt;td&gt;XP POWER&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-91d7a" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3650214&amp;nsku=19AJ5870&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('91d7a'));" data-farnell="3650214" data-newark="19AJ5870" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WHITE PLA 3D PRINTING FILAMENT&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-cf43d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2845501&amp;nsku=50AC9540&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('cf43d'));" data-farnell="2845501" data-newark="50AC9540" data-comoverride="" data-cmpoverride="" data-cpc="MK00909" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M3 8 SO12CS Z100&lt;/td&gt;
&lt;td&gt;TR FASTENINGS&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-e46f1" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1419919&amp;nsku=53M8807&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('e46f1'));" data-farnell="1419919" data-newark="53M8807" data-comoverride="" data-cmpoverride="" data-cpc="" 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;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb3"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other M3 screws&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aluminum 20x20 profiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LCD drawing tablet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M8 bolts and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Small bearings&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&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 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 id="Discussion" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" 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;
</description></item><item><title>-- Episode 662</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662/revision/3</link><pubDate>Thu, 10 Apr 2025 10:54:58 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d4af31c6-8038-4929-a42a-043f5e07bd05</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662#comments</comments><description>Revision 3 posted to Documents by cstanton on 4/10/2025 10:54:58 AM&lt;br /&gt;
&lt;h3 id="mcetoc_1iofhpqeb4"&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Last year Milos made a robot arm as cheap as possible using 3D printing, servo motors, and marbles for the custom designed bearings. While the robot arm turned out good, he wasn&amp;rsquo;t satisfied with its performance since the motors were not strong enough. So Milos is back now with a new bigger and stronger arm, one that is comparable in size to the BRACCIO robot arm from Arduino but with the same goal of making it as low cost as possible!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;VIDEO LINK HERE&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The new arm is trying to keep the same functionality like the last robot arm, but just bigger and stronger. This includes new DFROBOT servo motors with position feedback, actual bearings for each of the joints just to make the whole structure more stable.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;All of those changes bring it more onto the level of the BRACCIO robot arm since it will have the same size servos but with some benefits like the built in position feedback as well as a sturdier construction. The 3 arms put side by side, are in the picture below, with the new arm in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1iofhnps50"&gt;&lt;strong&gt;&lt;span&gt;2. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;u&gt;&lt;span&gt;Electronics&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The electronics haven&amp;rsquo;t changed too much compared to the old, smaller robot arm. The MCU behing the robot arm is a Raspberry Pi Pico, and its main job is to record the data from the servo motors and send them position commands. This time however, Milos did more things on the programming side, he wrote a few Python scripts which can interact with the robot arm to send commands and also record the robot arm movements. This way, the robot arm can be guided by hand and after the recording is done, it can replay everything the user has shown it. Because of the higher current draw of the bigger motors, a bigger relay was used to make sure that the motors are getting sufficient power without anything overheating in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1iofhnps51"&gt;&lt;strong&gt;&lt;span&gt;3. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;u&gt;&lt;span&gt;Testing&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;Of course, this was the favourite part for Milos to do, playing around with the finished robot arm. He runs through some basic tests like sending simple move commands to the robot arm, and also recording the data from moving the robot arm by hand. A picture of the collected data during one of those sessions is below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;He noticed one thing during testing, and especially when looking at the plotted data, and that&amp;rsquo;s the amount of noise coming from the potentiometers. Zooming in on one of the signals, we can see this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The signal is very noisy, epsecially when that joint is stationary. To battle that a bit, Milos did some filtering in Python, and from the recorded data, he generated a new CSV file with filtered signals. An example of how the filtering process worked for the signal shown above is shown in the picture below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While the filtering for this case was a bit too strong, it doesn&amp;rsquo;t change the signal too much for a robot arm of this precision, so it&amp;rsquo;s a better fit than the unfiltered signal. He applied the same filtering algorithm to all of the axis, and this is the comparison of that for all of the joints at once.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb2"&gt;Bill of Materials&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;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-8531c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081,3769950~5,3650214,2845501,1419919&amp;nsku=38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807&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('8531c'));" data-farnell="3996081,3769950~5,3650214,2845501,1419919" data-newark="38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807" data-comoverride="" data-cmpoverride="" data-cpc="SC19560,MC02885~5,MK00909" 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 PICO H&lt;/td&gt;
&lt;td&gt;RASPBERRY PI&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-3598c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081&amp;nsku=38AK5985&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('3598c'));" data-farnell="3996081" data-newark="38AK5985" data-comoverride="" data-cmpoverride="" data-cpc="SC19560" 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 SERVO MOTOR&lt;/td&gt;
&lt;td&gt;DFROBOT&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-18ead" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950~5&amp;nsku=52AJ5993~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('18ead'));" data-farnell="3769950~5" data-newark="52AJ5993~5" data-comoverride="" data-cmpoverride="" data-cpc="MC02885~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;5V 18A POWER SUPPLY&lt;/td&gt;
&lt;td&gt;XP POWER&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-d1afe" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3650214&amp;nsku=19AJ5870&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('d1afe'));" data-farnell="3650214" data-newark="19AJ5870" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WHITE PLA 3D PRINTING FILAMENT&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-de33c" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2845501&amp;nsku=50AC9540&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('de33c'));" data-farnell="2845501" data-newark="50AC9540" data-comoverride="" data-cmpoverride="" data-cpc="MK00909" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M3 8 SO12CS Z100&lt;/td&gt;
&lt;td&gt;TR FASTENINGS&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-94ad2" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1419919&amp;nsku=53M8807&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('94ad2'));" data-farnell="1419919" data-newark="53M8807" data-comoverride="" data-cmpoverride="" data-cpc="" 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;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb3"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other M3 screws&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aluminum 20x20 profiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LCD drawing tablet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M8 bolts and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Small bearings&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&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 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 id="Discussion" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;/a&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/project-videos/" 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;
</description></item><item><title>-- Episode 662</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662/revision/2</link><pubDate>Thu, 10 Apr 2025 10:08:28 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d4af31c6-8038-4929-a42a-043f5e07bd05</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662#comments</comments><description>Revision 2 posted to Documents by cstanton on 4/10/2025 10:08:28 AM&lt;br /&gt;
&lt;h3 id="mcetoc_1iofhpqeb4"&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Last year Milos made a robot arm as cheap as possible using 3D printing, servo motors, and marbles for the custom designed bearings. While the robot arm turned out good, he wasn&amp;rsquo;t satisfied with its performance since the motors were not strong enough. So Milos is back now with a new bigger and stronger arm, one that is comparable in size to the BRACCIO robot arm from Arduino but with the same goal of making it as low cost as possible!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;VIDEO LINK HERE&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The new arm is trying to keep the same functionality like the last robot arm, but just bigger and stronger. This includes new DFROBOT servo motors with position feedback, actual bearings for each of the joints just to make the whole structure more stable.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;All of those changes bring it more onto the level of the BRACCIO robot arm since it will have the same size servos but with some benefits like the built in position feedback as well as a sturdier construction. The 3 arms put side by side, are in the picture below, with the new arm in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1iofhnps50"&gt;&lt;strong&gt;&lt;span&gt;2. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;u&gt;&lt;span&gt;Electronics&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The electronics haven&amp;rsquo;t changed too much compared to the old, smaller robot arm. The MCU behing the robot arm is a Raspberry Pi Pico, and its main job is to record the data from the servo motors and send them position commands. This time however, Milos did more things on the programming side, he wrote a few Python scripts which can interact with the robot arm to send commands and also record the robot arm movements. This way, the robot arm can be guided by hand and after the recording is done, it can replay everything the user has shown it. Because of the higher current draw of the bigger motors, a bigger relay was used to make sure that the motors are getting sufficient power without anything overheating in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1iofhnps51"&gt;&lt;strong&gt;&lt;span&gt;3. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;u&gt;&lt;span&gt;Testing&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;Of course, this was the favourite part for Milos to do, playing around with the finished robot arm. He runs through some basic tests like sending simple move commands to the robot arm, and also recording the data from moving the robot arm by hand. A picture of the collected data during one of those sessions is below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;He noticed one thing during testing, and especially when looking at the plotted data, and that&amp;rsquo;s the amount of noise coming from the potentiometers. Zooming in on one of the signals, we can see this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The signal is very noisy, epsecially when that joint is stationary. To battle that a bit, Milos did some filtering in Python, and from the recorded data, he generated a new CSV file with filtered signals. An example of how the filtering process worked for the signal shown above is shown in the picture below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While the filtering for this case was a bit too strong, it doesn&amp;rsquo;t change the signal too much for a robot arm of this precision, so it&amp;rsquo;s a better fit than the unfiltered signal. He applied the same filtering algorithm to all of the axis, and this is the comparison of that for all of the joints at once.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb2"&gt;Bill of Materials&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;Manufacturer&lt;/th&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;&lt;a id="e14-product-link-4b764" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081,3769950~5,3650214,2845501,1419919&amp;nsku=38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807&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('4b764'));" data-farnell="3996081,3769950~5,3650214,2845501,1419919" data-newark="38AK5985,52AJ5993~5,19AJ5870,50AC9540,53M8807" data-comoverride="" data-cmpoverride="" data-cpc="SC19560,MC02885~5,MK00909" 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 PICO H&lt;/td&gt;
&lt;td&gt;RASPBERRY PI&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-eb6f2" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3996081&amp;nsku=38AK5985&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('eb6f2'));" data-farnell="3996081" data-newark="38AK5985" data-comoverride="" data-cmpoverride="" data-cpc="SC19560" 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 SERVO MOTOR&lt;/td&gt;
&lt;td&gt;DFROBOT&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-b4d00" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3769950~5&amp;nsku=52AJ5993~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('b4d00'));" data-farnell="3769950~5" data-newark="52AJ5993~5" data-comoverride="" data-cmpoverride="" data-cpc="MC02885~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;5V 18A POWER SUPPLY&lt;/td&gt;
&lt;td&gt;XP POWER&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-b1bc0" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=3650214&amp;nsku=19AJ5870&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('b1bc0'));" data-farnell="3650214" data-newark="19AJ5870" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WHITE PLA 3D PRINTING FILAMENT&lt;/td&gt;
&lt;td&gt;MULTICOMP&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-6e4bf" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=2845501&amp;nsku=50AC9540&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('6e4bf'));" data-farnell="2845501" data-newark="50AC9540" data-comoverride="" data-cmpoverride="" data-cpc="MK00909" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Buy Now&lt;/a&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M3 8 SO12CS Z100&lt;/td&gt;
&lt;td&gt;TR FASTENINGS&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;a id="e14-product-link-ee6dd" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="button" href="https://referral.element14.com/OrderCodeView?fsku=1419919&amp;nsku=53M8807&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('ee6dd'));" data-farnell="1419919" data-newark="53M8807" data-comoverride="" data-cmpoverride="" data-cpc="" 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;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1iofhpqeb3"&gt;Additional Parts&lt;/h2&gt;
&lt;table class="e14-product-bom-additional"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Product Name&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other M3 screws&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aluminum 20x20 profiles&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LCD drawing tablet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M8 bolts and nuts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Small bearings&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>-- Episode 662</title><link>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662/revision/1</link><pubDate>Wed, 09 Apr 2025 15:51:35 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d4af31c6-8038-4929-a42a-043f5e07bd05</guid><dc:creator>cstanton</dc:creator><comments>https://community.element14.com/challenges-projects/element14-presents/project-videos/w/documents/71909/making-a-stronger-affordable-diy-robot-arm-with-3d-printing-with-raspberry-pi-pico----episode-662#comments</comments><description>Revision 1 posted to Documents by cstanton on 4/9/2025 3:51:35 PM&lt;br /&gt;
&lt;p&gt;&lt;span&gt;Last year Milos made a robot arm as cheap as possible using 3D printing, servo motors, and marbles for the custom designed bearings. While the robot arm turned out good, he wasn&amp;rsquo;t satisfied with its performance since the motors were not strong enough. So Milos is back now with a new bigger and stronger arm, one that is comparable in size to the BRACCIO robot arm from Arduino but with the same goal of making it as low cost as possible!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;VIDEO LINK HERE&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The new arm is trying to keep the same functionality like the last robot arm, but just bigger and stronger. This includes new DFROBOT servo motors with position feedback, actual bearings for each of the joints just to make the whole structure more stable.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;All of those changes bring it more onto the level of the BRACCIO robot arm since it will have the same size servos but with some benefits like the built in position feedback as well as a sturdier construction. The 3 arms put side by side, are in the picture below, with the new arm in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h1&gt;&lt;strong&gt;&lt;span&gt;2. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;u&gt;&lt;span&gt;Electronics&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;The electronics haven&amp;rsquo;t changed too much compared to the old, smaller robot arm. The MCU behing the robot arm is a Raspberry Pi Pico, and its main job is to record the data from the servo motors and send them position commands. This time however, Milos did more things on the programming side, he wrote a few Python scripts which can interact with the robot arm to send commands and also record the robot arm movements. This way, the robot arm can be guided by hand and after the recording is done, it can replay everything the user has shown it. Because of the higher current draw of the bigger motors, a bigger relay was used to make sure that the motors are getting sufficient power without anything overheating in the middle.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;h1&gt;&lt;strong&gt;&lt;span&gt;3. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;u&gt;&lt;span&gt;Testing&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/h1&gt;
&lt;p&gt;&lt;span&gt;Of course, this was the favourite part for Milos to do, playing around with the finished robot arm. He runs through some basic tests like sending simple move commands to the robot arm, and also recording the data from moving the robot arm by hand. A picture of the collected data during one of those sessions is below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;He noticed one thing during testing, and especially when looking at the plotted data, and that&amp;rsquo;s the amount of noise coming from the potentiometers. Zooming in on one of the signals, we can see this.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The signal is very noisy, epsecially when that joint is stationary. To battle that a bit, Milos did some filtering in Python, and from the recorded data, he generated a new CSV file with filtered signals. An example of how the filtering process worked for the signal shown above is shown in the picture below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;While the filtering for this case was a bit too strong, it doesn&amp;rsquo;t change the signal too much for a robot arm of this precision, so it&amp;rsquo;s a better fit than the unfiltered signal. He applied the same filtering algorithm to all of the axis, and this is the comparison of that for all of the joints at once.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>