Introduction: DIY Robotics | Educative 6 Axis Robot Arm
The DIY-Robotics educative cell is a platform that includes a 6-axis robotic arm, an electronic control circuit and a programming software. This platform is an introduction to the world of industrial robotics. Through this project, DIY-Robotics wishes to offer an affordable but quality solution to all those who would like to learn more about this fascinating field. This project is an excellent opportunity to develop various knowledge and skills in the fields of mechanics, electrical as well as computer science. With the DIY-Robotics educative cell, robotics is within everyone's reach.
This manual shows the various steps for mechanical assembly, electrical assembly and the installation and use of the DIY-Robotics Educational Cell V1.0 software. You will find all files related to the development of the educational robotic cell in the compressed folder. It includes the 3D drawings of the robot, the electrical diagrams of the controller, the Arduino code, the software source codes as well as the bill of materials required. Before getting started, be sure that you have access to a 3D printer and to buy all the components required. You will find a list of all the components required along with their price and where to order them in the bill of materials (bill-of-materials.pdf). If you get stuck or need help make sure to check the DIY-Robotics Forum. You can create an account for free and ask your question to our community of accredited specialists and robotics enthusiasts. Let’s begin! (and have fun!)
Download the whole project:https://diy-robotics.com/
Step 1: Arduino Programming
Download the Arduino IDE software directly from the Arduino website:
https://www.arduino.cc/en/Main/Software
Open the DIY_ROBOTICSEDUCATIVECELL_Arduino_V1_0.ino file included in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder.
Connect the Arduino Micro to your computer with the USB cable.
Select the type Arduino / Genuino Micro and the correct communication port.
Refer to image 1.
Program the Arduino Micro by pressing the Upload button:
Refer to image 2.
Step 2: Robot Electronic Controller (PCB) Assembly
1. Overview
The electronic controller of the robotic educative cell is the bridge between the programming software and the robot. The microcontroller used on the printed circuit, the Arduino Micro, performs the following tasks:
• Communication between the electronic controller and the programming software
• Control of the 6 robot motors (5V servo motors)
• Control of 3 digital output signals (0-5V logic levels)
• Reading of 3 digital input signals (0-5V logic levels)
Refer to image 1 to see the description of the PCB.
2. Printed circuit board (PCB) order
The printed circuit board (PCB) of the robot controller can be ordered from any PCB manufacturer with the "GERBER" files included in the compressed folder DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip.
We suggest you to order from the manufacturer JLCPCB (jlcpcb.com) which offers a fast, simple service at a very low price. Follow the following steps to order the PCB:
A) On the jlcpcb.com home page, select QUOTE NOW, then Add your gerber file.
Select the Gerber.zip file in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder.
B) Select the default parameters.
C) Select Save to cart and proceed with payment to complete the order.
3. Printed circuit board (PCB) assembly
Once the robot controller PCB in hands, proceed to its assembly. You will have to solder all the components.
Each component of the PCB is identified.
bill-of-materials.pdf material list included in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder will help you to sort the components.
Refer to image 2.
Pay particular attention to the polarity of the following components:
LED1, LED2, U1, U3, C1, C2, D1, D2, D3, D4, D5, D6, Q1, Q2, Q3
These components must be soldered the right way, otherwise they will burn. For example, notice that the light emitting diodes (LEDs) and the capacitors (C) have a long pin and a short pin. The long pin, the anode, must be inserted and soldered into the hole identified by a +.
Refer to image 3 to solder these components the right way.
Finally, 3 resistors of 10k Ohm must be added to the circuit in order to make the digital input signals (Di) functional. These resistors are described as follow in the material list:
RES 10K OHM 1/4W 5% AXIAL
Refer to image 4 to see where to solder those additional resistors.
Step 3: Robot Mechanical Assembly
1. Overview
In order to mechanically assemble your robot, you will need the following components and tools:
- 4 MG966R servo motors
- 2 9g Micro servo motors
- 8 3D printed robot parts
- 24 metric M2 nuts
- 24 metric M2 bolts
- 2 metric M2.5 bolts
- 4 metric M3 bolts
- 3D printer
- Soldering iron
- Lighter
- Hex keys
Refer to the DIY_ROBOTICSEDUCATIVECELLV1_0_BOM.pdf material list included in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip.
2. 3D printing
You will find the 3D files of the 8 robot parts in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder.
Print the parts using a 3D printer. We recommend that you use the following settings:
- Top layer 4 layers
- Bottom layer 4 layers
- Wall 4 layers
3. Align the servos
Before assembling the robot, it is important to make sure that all the servo motors are at midpoint. In order to align the servos, make sure you have previously programmed the Arduino microcontroller and assembled the robot controller. Follow the instructions below to align the servo motors:
Connect the 6 servo motors to the robot controller.
Make sure the connectors are plugged in the correct way.
- Brown wire : 0V (-)
- Red wire : 5V (+)
- Orange wire : PWM
Connect the 12V regulator to your 120V AC wall outlet.
Connect the 12V regulator to the power connector of the robot controller.
Activate the power switch SW1.
The LED1 light should turn on and the LED2 light should flash.
The robot should position all of its servo motors at 90 degrees.
You can turn off the power on the robot controller and disconnect the servo motors.
Refer to image 2.
4. Insert the nuts
Before assembling, insert a M2 x 0.4mm nut into each hexagonal hole of the 3D printed parts to allow assembly.
Use a soldering iron to facilitate insertion.
Refer to image 3.
5. Cast the gears in the junction holes
The mechanical junction between the servo motors and the 3D printed robot parts are direct: the gear must be inserted directly into the hole.
To ensure a good mechanical junction, the holes are slightly smaller than the gears after 3D printing.
With a lighter, slightly heat the hole, then insert the gear of a servo motor (as straight as possible). The melted plastic will take the form of a gear. Complete the insertion by gently tightening a bolt. Repeat this step for each junction.
Be careful, overheating 3D printed parts could deform them and make them unusable.
Refer to image 4.
6. Assembly
Use M3 metric bolts to attach the servo motor gears to the 3D printed robot parts.
Use M2 metric bolts to attach the servo motor housings to the 3D printed robot parts.
Use M2 metric bolts to assemble the two 3D printed robot parts from J2 to J4.
Assemble the robot so that each joint is at its mid-point (straight robot, as illustrated below).
Refer to images 1 and 5.
Step 4: Robot Programming Software Setup
1. Software setup
Open the setup file included in the DIY_ROBOTICS_EDUCATIVECELL_V1_0.zip compressed folder.
Follow the installer instructions to complete the installation.
When the installation is complete, run the software by clicking on the DIY Robotics icon on your desktop.
2. Navigating the interface
Refer to image 1 and 2 for software panel descriptions.
3. Creation of a robot program
The programming panel allows you to create a robot program with up to 200 instruction lines. Here is a description of each type of instruction:
POINT instruction
Saves a robot point (position).
Executing this instruction will move the robot according to the saved position and speed.
To save a robot point in an instruction, manually move the robot at the desired position and select the desired movement speed using the buttons in the control panel. Press the Point button. An instruction line is then added in the programming panel. The instruction line shows the value in degrees of each joint as well as the speed of movement.
DO instruction
Changes the state of a Do output signal.
Executing this instruction will change the state of one of the output signals Do (ON/OFF).
To create a DO instruction, press the Do button. A parameter panel is displayed. Choose the Do output signal number (1, 2 or 3) as well as the desired state (ON or OFF). Press the Add Instruction button to add the instruction.
An instruction line is then added in the programming panel. The instruction line shows the Do signal number and the change of state.
LABEL instruction
Adds a label in the robot program.
Executing this instruction will have no effect. This line is a label that will allow the JUMP instruction to jump to this LABEL instruction line.
To create a LABEL instruction, press the Jump Label button. A parameter panel is displayed. Choose the Label option and the number of the desired label (1 to 5). Press the Add Instruction button to add the instruction.
An instruction line is then added in the programming panel. The instruction line shows the label number.
JUMP instruction
Jumps to the program line that contains the corresponding label.
Executing this instruction will cause a jump in the program to the line that contains the corresponding label.
To create a JUMP instruction, press the Jump Label button. A parameter panel is displayed. Choose the Jump option and the number of the desired label (1 to 5). Press the Add Instruction button to add the instruction.
An instruction line is then added in the programming panel. The instruction line indicates the number of the target label.
If several labels have the same number, the JUMP instruction will jump to the first corresponding label from the top of the program.
If there is no label corresponding to the JUMP instruction number, the program will jump to the last line of the program.
WAITDI instruction
Waits for a specific state of a Di input signal.
Executing this instruction will put the robot controller on hold as long as the state of the Di input signal is different from the expected state.
To create a WAITDI instruction, press the Wait Di button. A parameter panel is displayed. Choose the Di input signal number (1, 2 or 3) as well as the desired state (ON or OFF). Press the Add Instruction button to add the instruction.
An instruction line is then added in the programming panel. The instruction line indicates the Di input signal number and the expected state.
Step 5: Connect Robot + PCB + Software
1. Electrical connections
Connect the 6 servo motors of the robot to the robot controller.
Make sure the connectors are plugged in the correct way.
Brown wire : 0V (-)
Red wire : 5V (+)
Orange wire : PWM
Connect the 12V regulator to your 120V AC wall outlet.
Connect the 12V regulator to the power connector of the robot controller.
Activate the power switch SW1.
The LED1 light should turn on and the LED2 light should flash.
The robot should position all of its servo motors at 90 degrees.
Connect the USB cable from the robot controller to your computer.
Refer to image 1.
2. Run the software
Run the DIY Robotics Educative Cell V1.0 software by clicking on the DIY Robotics icon on your desktop. The software opens on the connection panel.
Refer to image 2.
3. Set PC <-> Robot serial communication
Press the Scan serial ports button.
Select the correct communication port from the drop-down list.
Press the Connect button.
Refer to image 3.
4. Let the creation begin
Control the robot from the control panel.
Create your robot program from the programming panel.
Have fun!
Step 6: Conclusion
Want to go further?
You enjoyed learning about the world of industrial robotics? You’re ready to pimp your new robotic arm? Join the DIY-Robotics Forum now! The DIY-Robotics Forum is a place to talk programming, share ideas and solutions, and work together to build cool stuff in a supportive, smart community.
Need help?
The DIY-Robotics community is there to help if you need some support as you build the DIY-Robotics educative cell. Subscribe to the DIY-Robotics Forum and ask your question to the community.
https://diy-robotics.com/

Participated in the
Arduino Contest 2020
17 Comments
1 year ago
What is the estimated accuracy/precision of the robotic arm?
Question 2 years ago
Hi,
Nice project! I love the industrial-like programming software. It's awesome!
I have a question about the vacuum sucker in the front of the arm in the demo video.
What is the part called and how is it powered?
Best regards,
Tom from Taiwan
Answer 2 years ago
Hi Tom,
Thank you, we are happy you like the project !
The vacuum sucker is not powered.
It is the kind of vacuum sucker you can stick to your window simply with a little pressure. We fixed it on J6 servo motor.
Reply 1 year ago
Hi, where can you purchase the sucker and attachment?
Question 1 year ago
Hi there,
I haven't tested it, but as far as I can overview it, this is a very great job. Thank you very much.
I am now at the point ordering the PCBs and wonder if I have to "order now" 2-layered or 4-layered pcb?
Thanks for your help in advance.
Philippe
2 years ago on Introduction
Website no longer exists for this
Question 2 years ago
Hi,
I'm having problem with the software interface; it seems that it's all zoomed in and I can see just a fraction of it. I can't zoom out at all. I tried to re-install the software but it doesn't change anything. What can I do?
Thanks,
Andrea from Italy
Answer 2 years ago
Download the .zip again:
bit.ly/instructables-robot-kit
Fixes:
1. New .STL and .STP 3D files (Dimensions and resolution problem fixed).
2. Added a 720p resolution version of the software.
Thanks again !
Reply 2 years ago
Hi abacab64 !
Which Windows version do you use ?
What is your Screen resolution ?
Thank you
Reply 2 years ago
I use windows 10 and my resolution is 1366x768 (I can't increase it, so i can't bring it up to 1920x1080)
Reply 2 years ago
Ok, i'm working on a patch for 720p resolution.
2 years ago
I also have to tell you that the object is way too small and it's a little bit "deformed", may you fix it? To be clear, I open the file with Repetier Host v 2.1.6
Reply 2 years ago
Download the .zip again:
bit.ly/instructables-robot-kit
Fixes:
1. New .STL and .STP 3D files (Dimensions and resolution problem fixed).
2. Added a 720p resolution version of the software.
Thanks again !
Reply 2 years ago
Thank you for the note !
We will update the download package shortly.
Reply 2 years ago
Same issue! I open the stp file with 3D editing software ( I use Rhino) than export it as stl file. The dimensions are correct and the quality is much better. The left is the one rhino outputs. The right is the original file scaled 10 times. The unit setting of the original stl file is centimeter but the slicing software reads it as millimeters. Hope this helps and hope you understand my poor English!
Question 2 years ago on Step 2
Do I can purchase one complete project?
Answer 2 years ago
Hi !
Sorry, we do not offer a complete kit at the moment.