element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico -- Episode 662
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Project Videos requires membership for participation - click to join
Related
Recommended
Top Tech Voices
Engagement
  • Author Author: cstanton
  • Date Created: 9 Apr 2025 3:51 PM Date Created
  • Last Updated Last Updated: 11 Apr 2025 3:38 PM
  • Views 3101 views
  • Likes 8 likes
  • Comments 14 comments

Making a Stronger Affordable DIY Robot Arm with 3D Printing with Raspberry Pi Pico -- Episode 662

Milos is back with an upgraded version of his low-cost robot arm project! After building a popular 3D-printed arm in 2023, he's now redesigned it with more powerful servos, real bearings, and improved electronics—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 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’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!

Watch the Video

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

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. 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.

image

image

image

The Electronics

The electronics haven’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.

image

Testing the Arm

image

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.

image

He noticed one thing during testing, and especially when looking at the plotted data, and that’s the amount of noise coming from the potentiometers. Zooming in on one of the signals, we can see this.

image

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:

image

While the filtering for this case was a bit too strong, it doesn’t change the signal too much for a robot arm of this precision, so it’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.

image

image

The Finished Product (For Now?)

image

What should Milos consider for the robot arm design? Or are you building one for yourself?

Let us know below.

Downloads and Links

  • CAD and Code
  •  Affordable DIY Robot Arm: A Deep Dive into 3D Printing and Servo Motors -- Episode-628 - with more files and bill of materials. 

Bill of Materials

Product Name Manufacturer Quantity Buy Kit
RASPBERRY PI PICO H RASPBERRY PI 1 Buy Now
DFROBOT SERVO MOTOR DFROBOT 5 Buy Now
5V 18A POWER SUPPLY XP POWER 1 Buy Now
WHITE PLA 3D PRINTING FILAMENT MULTICOMP 1 Buy Now
M3 8 SO12CS Z100 TR FASTENINGS 1 Buy Now
 

Additional Parts

Product Name
Other M3 screws
Aluminum 20x20 profiles
LCD drawing tablet
M8 bolts and nuts
Small bearings

element14 presents

element14 presents  |  About Milos Rasic |  Project Videos

  • 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
  • Share
  • History
  • More
  • Cancel
Actions
  • Share
  • More
  • Cancel
  • Sign in to reply
  • beacon_dave
    beacon_dave 28 days ago in reply to milosrasic98

    The measuring tools do exist but tend to be expensive depending upon on size and accuracy (some can measure up to 9m)

       https://www.faro.com/en/Resource-Library/Article/understanding-portable-measurement-arms

       https://www.trimos.com/products/portable-measuring-arms/what-is-a-measuring-arm/

    It's like a 3D version of the old 2-axis digitising tools that used to be used for transferring paper technical drawings into 2D CAD packages.

    (One of the issues I encounter is that sometimes I have to do 3D visualisations of venues, but none of the existing furniture has 3D models available and it's really difficult to measure as most of it involves bent tubing or curved surfaces in the design. Unless you place it inside a reference cube frame to measure off, then it's difficult to build an XYZ point cloud to get the key measurements you need for creating a realistic looking wireframe model quickly.)

    Most of that 'more serious hardware underneath' is actually stock Fischertechnik parts. The main exceptions are the slewing rings with bearings and the motors. The lengths of aluminium extrusion come with some of the larger kits but you can also buy it separately and cut it to desired length as required to give more rigidity to your designs.

    Some people build really big stuff with it:

    Cable car
       /learn/learning-center/stem-academy/f/forum/52277/cable-car-with-detachable-gondolas-1-10-scale/204866

    Bucket Wheel Excavator
       https://www.youtube.com/watch?v=Pl0trfExCbg

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • milosrasic98
    milosrasic98 28 days ago in reply to genebren

    Thanks, glad you like it! Hope some of it is useful as well, at least for sparking ideas! The big bearing turned out to work pretty well, it just needed a bit of fine tuning on the printing side to get the tolerances right to eliminate the slop as much as possible while keeping it moving freely!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • milosrasic98
    milosrasic98 28 days ago in reply to beacon_dave

    Definitely need encoders! Next one I will be making will either use DC or Stepper motors and absolute encoders for position. Love the idea for the measuring tool, with the encoders, would be rather easy generating some kind of point cloud while moving the arm around and pressing a button to record the position every time it's in contact with the object!

    The arm you linked looks really cool, I love how it looks almost like full LEGO until you notice all of the more serious hardware underneath!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • milosrasic98
    milosrasic98 28 days ago in reply to mp2100

    Thanks, glad you like it!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • genebren
    genebren 29 days ago

    An absolutely great video!  The design work that you did was really top notch!  The large bearing designs are really clever, I can see trying some of these out on some robot designs I am working on.  Well done and very informative.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • beacon_dave
    beacon_dave 1 month ago

    Looking good. Like the teaching mode as well.

    With encoders, it could perhaps also be adapted for a low cost 3D articulated measuring tool.

    I spotted this robotic arm build a few years ago influenced by a 1985 educational industrial robot kit and was impressed by its movement given the use of chain drives in places.

    https://www.youtube.com/watch?v=OdPd-DBR3cE

    Some more info on it here:

    https://ftcommunity.de/ftpedia/2021/2021-1/ftpedia-2021-1.pdf#page=128 

    Pretty nifty interchangeable end effector as well.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • beacon_dave
    beacon_dave 1 month ago in reply to dougw

    Looked like it was lining up for an ice hockey slap shot there at one point. Perhaps give it a while before attempting a fountain pen Slight smile

    It still amazes me the precision of the linkages in the likes of the Jaquet-Droz 'The Writer' automata to create handwritten script.

    https://en.wikipedia.org/wiki/Jaquet-Droz_automata#The_writer

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mp2100
    mp2100 1 month ago

    Thank you Milos.  I appreciate the mechanical engineering you did to stiffen the robot in addition to the programming work you did.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mp2100
    mp2100 1 month ago

    Thank you Milos.  I appreciate the mechanical engineering work you put into the joints, in addition to the programming.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mp2100
    mp2100 1 month ago

    Thank you for the demo Milos.  It is great that you explained the mechanical engineering work that you put into the arm along with the programming.  So many degrees of freedom in this robot arm, impressive work.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube