Skip to content

Robot Arm Assembly

This page contains the assembly process of the arm, including joint assembly, driver housing assembly, and wiring.

Mechanical Assembly

Firstly, we will start out by connecting the shoulder and elbow motors to their gearboxes. The workflow is identical for both.

First, lay out your parts from the kit, including extra motor cables, the closed loop driver, and the serial debugging cable.

Then grab the gearbox:

Then screw the gearbox onto the motor using 4x m5x12 screws (be sure to loosen the collar before sliding the shaft in):

After installation, tighten the collar using an m3 allen key (size 2.5). Make sure to get both sides.

After tightening the collar, place the provided tabs in the hole.

Now repeat the same process with the elbow NEMA 17 motor/gearbox.

Take the gearbox:

And screw it to the motor using the provided m3 screws.

Then, tighten the collar and fit the tabs in the holes.

J0 Turret assembly- includes the static turret, two roller bearing assemblies, the base spindle, and the shoulder mount plate.

The base spindle:

With its heat inserts (10x m5, make sure to get both the top and bottom of the spindle):

If you do not have a bearing press(which is preferred) any method of concussive installation works fine (I used a hammer). Be sure to insert your 10x m3 heat inserts in the holes in the turret at this time. First, take your base turret, and set the ribs to the side.

The base turret with inserted races and the roller bearing next to it:

Then set your roller bearings in place:

Then insert the spindle:

You want the side with the flange to be on the same side of the turret as the heat inserts.

Now flip it over:

Then insert the other bearing:

Now, take your shoulder plate and insert 4x m3 and 8x m5 inserts like so:

The m5 inserts are for the shoulder motor mount, and the m3 inserts are for tensioning the base roller bearings.

Finally, you have to mount the shoulder plate to the turret using 4x m5x20 screws:

And screw it down :

Then, we have to tension the bearings using the m3 heat insert holes and 4x m3X25 screws:

After completing the j0 turret assembly, you must mount it to the base. Take your base:

And put 10x m5 inserts in each hole for the support ribs and for the base motor mount:

Then, take your base turret assembly and lay it in the circular indent:

Then screw it down with 10x m3x10 screws:

BASE TURRET HEAT INSERTS PLACEHOLDER

Then, start screwing down the ribs using 10x m5x15 screws (Yes, we only use 5 of the 6 slots, ill tell you why later) for added ridgidity:

And here is a full view of what you should have so far(at this point in time, I had only printed out three of the five needed ribs):

And now time for the base motor pulley system. Firstly, take your 2nm nema 23:

And mount it to its designated motor mount with 4x m5x12 screws, and also mount the 20t pulley to the shaft using the provided allen key:

Then, take the large base pulley and place it on the bottom of the base spindle and screw it down with 6x m5x20 screws. In this image, I have a plastic placeholder pulley and only two screws.

Then, mount the motor bracket and motor to the base using 4x m5x10 screws:

Then, flip the whole assembly over to reveal the bottom side where you should have the drive pulley attached to the motor shaft, and the driven pulley attached to the base spindle. Take your HTD-3m-447 belt and put it over both pulleys. It doesnt have to be tight:

Then you have to manually pull the belt taut by pulling up on the motor and pulley (must pull on both sides as close to the mounting plane as possible), then tightening the mounting screws to lock the motor in place and hold the belt's tension.

Thats the base assembly! Now to focus on J1.

The j1 motor mount. We start with the vertical screws, which require a little bit of finessing. Make sure to put the motor mount on the side with the vertical inserts.

And tighten them down:

Then, screw in the back with 3x m5x20 screws:

Now, take your shoulder arm:

And place 6x m5 head inserts for the flange hub mount and 4x m3 heat inserts for the elbow motor mount.

Then, screw down your aluminum flange hub with 6x m5x20 screws, and push in your 90x70 bearing (the flange hub will be aluminum, the one in the image is a 3d printed placeholder. Make sure to line up the screw hole of the flange hub with the hole in the shoulder arm for tightening the set screw)

Then mount the shoulder arm with the bearing onto the motor mount's bearing holder:

And here is what it looks like mounted(once again, this image has the PLA placeholder flange hub, but it shows the overall position)

Motor mount with aluminum flange

Other side of the shoulder mount with bearing

Electronics

To better organize wires and improve the look of the electrical section of the arm, I created a very simple PCB. Its purpose is to serve as the middleman between the signal wires going to the drivers and the Pico 2w, and it also has pinouts for an eventual fourth axis (wrist) and limit switches. I allocated three pads to each driver: one for step, one for dir, and one for the enable pin if I decide to implement a software emergency stop; I added three pairs of headers for the limit switches (one goes to a GPIO pin, the other to GND). As I wanted to use every pin on the pico, I added 1x4 and 1x6 2.54mm headers for miscellaneous additions (ALARM input from the driver, 4th axis limit switch). I used Kicad to create the schematic, and for the pads, I used the 3mm solder Pad under the Mechanical section for the footprint, and the regular 2.54mm header footprints for the pin headers. The pads provide stronger connections than individual pins and make it easier to connect bare wires from the drivers to the pico. I used .5mm traces for the pads and .25mm traces for the headers.

The schematic for the PCB:

And then I opened it in the PCB editor to draw the traces. I used a copper GND fill everywhere, to connect the ground wires of the drivers(-STEP, ENA) to logic ground. I used .5mm traces for the pads and .25mm traces for the headers/

Then I ran the DRC to ensure everything was connected:

And then Fabrication Outputs--> GBR+DRL files--> the Carvera computer, where I created the toolpaths from the profiles:

I had four toolpaths: the initial clean, where it creates the traces and outlines the pads. This one was by far the longest. I also had two drill toolpaths, one for the headers, and one for the pads. The pad hole size ended up being far to small, so instead of passing the wire through the hole I will have to solder it on the copper fill side. Finally, I have the contour toolpath that cuts out the rectangular PCB from the stock material.

And it came out great!

IMAGE OF FRESH PCB

And here it is soldered to the driver wires in its new home: