Laser Cut SphereBot

by Electr0nicsGeek in Circuits > Electronics

67810 Views, 398 Favorites, 0 Comments

Laser Cut SphereBot

IMG_2255.JPG
IMG_2258.JPG
IMG_2259.JPG

The concept of the SphereBot (or Egg-Bot) is really neat and innovative. For those of you who do not know, the SphereBot is a device that uses ordinary pens (sharpies, Rose Art markers, etc.) to draw on round objects. These can be anything, from ping pong balls, to golf balls, and even eggs. Vector Drawings are made in the free, open-source drawing program Inkscape, and are sent to an Arduino over serial using an easy-to-install extension as g-code. The Arduino receives these instructions and controls two stepper motors via the two A4988 stepper motor controllers. The object is rotated by one stepper motor while the pen is controlled by the other, the up-and-down motion of which is facilitated by a servo motor. Despite being relatively simple, the SphereBot is a really cool device, and is really fun to build.

Ever since I first came across the original Egg-Bot by Evil Mad Scientist, I wanted my own. I considered buying their kit, however after seeing the exorbitant price they were charging for it, I realized that it may be best if I were to attempt to build my own. In doing so, I looked to several online sources: the Egg-Bot site itself, Pleasant Software's blog, this Instructable, this 3D-printed one, and this laser cut one. While each of these tutorials provide some information, alone they are each only a part of the puzzle, and one would not be able to go solely on one of those sources alone. It took me quite a while to piece these all together, and it was not an easy thing to do. Because I would never wish that experience upon anyone else, I decided to create this tutorial, so that those who wish to build their own SphereBot can do so easily without the need to either spend excess money on the kit or go through the pain of piecing multiple different tutorials together.

For reference:

  • the motor that rotates the sphere will be known as the sphere motor
  • the motor that controls the pen will be known as the pen motor
  • the short end piece that houses the sphere motor will be known as the headstock
  • the short piece opposite the headstock will be known as the rearstock
  • The long horizontal piece that houses the pen motor will be known as the rear slat
  • the long horizontal piece opposite the back slat will be known as the front slat

Materials

IMG_2057.JPG
IMG_2058.JPG
IMG_2063.JPG

The electronics required are as follows:

  • 2x 12-volt-200-step stepper motors (like this)
  • 2x A4988 stepper motor controller (like these)
  • 1x Arduino Uno (with matching USB cable and 12 volt wall adapter of at least 1.5 amps)
  • 1x Arduino Protoshield
  • 1x micro servo
  • 1x servo wire extension
  • 3/16" heat-shrink tubing (color is arbitrary)
  • jumper wires
  • 2x sets of 4-pin-long male and female header pins
  • a 3-pin-long male header
  • a 1-pin-long male header
  • 1x 10 uf capacitor

The required hardware is as follows:

  • 9x sets of #6-32 1/2" long bolts with matching nuts and washers
  • 9x sets of #6-32 1/2" long bolts with matching nuts (no washers)
  • 1x longer #6-32 bolt (around 1" in length) with matching nut
  • 4x short M3 bolts (8 are recommended)
  • 8x small wood screws
  • 4x 1/2" x 1/2" x 2 and 1/2" metal brackets
  • some thin sheet metal
  • 2x suction cups from Nerf suction cup darts (pictured twice)
  • ~20 cm of 5/16" brass rod
  • 1x 8 mm bearing (like this)
  • a 32 cm x 26 cm piece of .2" thick plywood (this is the absolute minimum size - larger is recommended)
  • a 6 cm x 3 cm piece of 1/8" plywood [(this is the absolute minimum size - larger is recommended) not pictured]
  • some thin plastic (I got mine from a mixed nuts container)

Tools

IMG_2052.JPG

The tools required for this project are fairly basic, and are as follows:

  • wire stripper
  • pliers
  • wire cutters
  • scissors
  • heat gun (a lighter or the tip of a soldering iron will also suffice)
  • small alum wrench (must fit the set screw of the bearing)
  • one larger and one smaller screwdriver
  • CA glue
  • soldering iron (and solder)
  • drill press (not pictured)
  • laser cutter (obviously - not pictured)

Optional Materials and Tools

IMG_2076.JPG

If you wish to go overkill, as I did, then you can implement a cooling solution. Especially during longer plots, the stepper motors can get quite hot. Although this should not affect the device's performance in any way, it can be quite unpleasant to touch the motors while they are hot, as they can get hot enough to burn you, and I can attest to such. Enter these two stock Intel CPU coolers. They are very cheap, and can be sourced here. Additionally, you will also need a Dremel or similar rotary tool with a cutting bit, 5 additional #6-32 bolts with matching nuts that are at least 3.75 cm in length (this is the absolute bare minimum length, as it was very hard for me to use such short bolts. I recommend using bolts that are at least 1 cm longer), and two additional sets of 4-pin-long male headers. Of course, if you don't wish to go this route, then simply ignore any steps pertaining to the heatsinks.

Laser Cut and Prepare Pieces

IMG_2065.JPG
IMG_2066.JPG

This step is fairly straight forward. Using the attached AutoCAD files, laser cut all the pieces out of their respective materials. Please note that the units are set to millimeters, so adjust your laser cutter settings accordingly. Once finished, sand them if desired. I apologize for the already constructed pieces on the left - I had already put them together before taking this picture.

A note about The attached files: Out of the four three of them are for the three different materials (.2" wood, 1/8" wood, and plastic). They have been "optimized" to take up as little space as possible, as well as having had all double lines removed and line weight set to 0. The fourth file, called "Master Design" has everything spread out for easy editing (something you will probably need to do unless you follow this tutorial exactly).

Prepare the Heatsinks

IMG_2077.JPG
IMG_2078.JPG
IMG_2079.JPG
IMG_2091.JPG
IMG_2093.JPG

The heatsinks are not usable right out of the box. First remove the original installation posts with a pair of wire cutters, and then use a rotary tool to cut off one of the legs of one of the fans and two opposite legs of the other. The fan with two remaining, opposite legs will cool the pen motor while the fan with three remaining legs will cool the sphere motor. Be careful as to which legs you cut off, as some models of the heatsink (there are three possible models you might receive if you use my Amazon link) have clips that hold the actual heatsink in place embedded in the legs.

Install the First Set of Brackets

IMG_2098.JPG
IMG_2099.JPG

Using four sets of #6-32 bolts with matching nuts, screw two of the four brackets into the headstock.

Drill Holes for the Heatsink

IMG_2101.JPG
IMG_2102.JPG
IMG_2103.JPG
IMG_2107.JPG
IMG_2109.JPG

Once you have installed the brackets, you may notice that they cover up two of the holes meant for the heatsink. this was a design flaw on my part, and you are willing to change the design files to account for such. I was not able to access a laser cutter at this point in time, and so I decided to simply drill through the brackets. Make sure they are securely fashioned to the wood, as you would not want them slipping around while drilling. Then, using a drill press and a 3/16' bit, go through the existing hole and then drill into the bracket. This should create a hole in the bracket exactly where it to be in order to allow a bolt to pass through both the wood and the bracket.

Install the Stepper Motors

IMG_2094.JPG
IMG_2095.JPG
IMG_2096.JPG

Insert the stepper motors into the holes created for them in both the headstock and rear slat. The stepper motors should have a slightly protruding circle on their front, surrounding the motor shafts, which should fit snugly into the cutouts made for them. Then simply mass the M3 bolts through the holes made for them in the wood and screw them into the threads of the stepper motors.

Note: In this tutorial, you will see that I am only using two screw per motor. This is because I only had four M3 bolts on hand, however it is recommended that you use a total of eight M3 bolts, four per motor.

Add the Heatsinks

IMG_2110.JPG
IMG_2111.JPG
IMG_2112.JPG
IMG_2117.JPG
IMG_2118.JPG
IMG_2119.JPG
IMG_2121.JPG

Send the longer M3 bolts through the remaining holes of the plastic heatsink mount (the ones you didn't cut off) and through their respective holes in the wood. The sphere motor heatsink has three holes made specially for it while the bolts for the pen motor heatsink simply go through the very end of the top groove. Make sure all the bolts are tightened evenly, so that the flat surface of the back motor is entirely parallel to and pressing against the flat part of the heatsink. Although not mentioned earlier, at this point one could opt to use thermal pads or thermal paste, to even better conduct the heat away from the motors, however such is unnecessary as a solid metal-to-metal contact should suffice.

Install the Second Set of Brackets

IMG_2124.JPG
IMG_2127.JPG

This is the same procedure as step 6, however for the rearstock. Unlike step 6, the orientation of the rearstock matter, as it will affect the later mounting of the Arduino. On the rearstock, you should see four small holes, with two of them being closer together than the others. With the piece oriented with the closer together holes on your left, mount the brackets on the side facing away from you, as shown in the pictures.

Mount the Bearing

IMG_2128.JPG
IMG_2129.JPG
IMG_2130.JPG

Place the bearing into the hole created for it on the rearstock, with the screw holes on the same side as the brackets, and secure it using two #6-32 bolts with matching nuts.

Cut the Brass Tube to Size

IMG_2136.JPG
IMG_2140.JPG
IMG_2142.JPG

Cut the 5/16" brass tubing into four pieces, one of each of the following measurements:

  • 6 cm
  • 7 cm
  • 3 cm
  • .8 cm

I apologize for not having pictures of the two smaller measurements of tubing, as I had accidentally assembled the piece shown before taking pictures.

Construct the Pen Arm Holder

IMG_2143.JPG
IMG_2144.JPG
IMG_2146.JPG
IMG_2147.JPG
IMG_2148.JPG
IMG_2151.JPG
Cicle Piece Positioning.jpg

Again, I apologize for the fact that this piece was already constructed before taking pictures, but hopefully you can see how this was put together. The two pieces that were cut out of the 1/8' plywood are glues together, with the center of the hexagonal cutout aligned with that of the circular cutout. Then, one of the #6-32 nuts is superglued into the hexagon cutout, while the .8 cm long section of brass tubing is glued into the circle cutout opposite that. The 3 cm long brass tube is then sent through the middle hole, and glued so that the longer end, which should be approximately 1.5 cm long*, is on the same side the shorter tube protrudes from.

*This length was determined by placing the tube over the pen motor's motor shaft, sliding the wooden circle over the tube, and gluing it in place so that it was as close to the wood of the rear slat as possible without touching it.

Measure and Cut the Heat-shrink

IMG_2152.JPG
IMG_2153.JPG

The 5/16" brass tube's inner diameter is slightly larger than the motor shafts. Because of this, that space needs to be filled up by something, so that the tubing can fit snugly over the motor shaft while still remaining centered. Two layers of 3/16" heat-shrink works very well for this, so well in fact that it creates a fit tight enough that gluing is unnecessary (you can still glue the tube in place if you like), but not so tight that you can't easily take the tubing on and off if necessary. Measure and cut four pieces of heat-shrink (two for each motor), each as long as the motor shafts.

Shrink the Heat-shrink

IMG_2154.JPG
IMG_2155.JPG
IMG_2156.JPG
IMG_2157.JPG

Using whatever tool you may have on hand (heat gun, lighter, soldering iron), shrink the first layer of heat-shrink onto the motor shafts first, followed by the second layer.

Install the Pen Arm Holder and Sphere Rotator

IMG_2158.JPG
IMG_2159.JPG
IMG_2160.JPG
IMG_2161.JPG

Now simply press the pen arm holder and the 6 cm section of tubing over the heat-shrinked motor shafts.

Optional: using an exacto knife, cut of any excess heat-shrink that may be protruding from the tube of the pen arm holder.

Screw in the Second Half of the Sphere Rotator

IMG_2162.JPG
IMG_2163.JPG

Using a compatible alum wrench, screw the set screws into the 7 cm piece of brass tubing, as shown.

Add the Suction Cups

IMG_2213.JPG

Press the Nerf dart suction cups into the brass tubes.

Build the Pen Arm

IMG_2181.JPG
IMG_2183.JPG
IMG_2184.JPG
IMG_2186.JPG
IMG_2190.JPG
IMG_2193.JPG

I apologize for not photographing this part mid-build, but hopefully you can tell what I did from the pictures. Start by gluing in the small piece with the two holes in its slot at a 90-degree angle. Make sure that, when the overhang is facing you, the servo flap is also on the right side. Then glue the servo in, with one of its flaps going into the groove and the side with wire protruding facing outward. Then install the servo horn so that when the servo is at 90 degrees it is facing straight up. This will raise and lower the pen.

Put the Pen Holder Together

IMG_2194.JPG
IMG_2197.JPG
IMG_2199.JPG
IMG_2200.JPG
IMG_2203.JPG

This is another step where I forgot to take pictures, but you should be able to understand the construction of the pen holder from the pictures. Start by gluing a #6-32 nut into the slot made for it, its two opposing flat ends against the wood and its hole centered with the slot parallel to the one it is sitting in. Then cut a piece of sheet metal that is as wide as the wood (.2") and at least 14 cm long with scissors (or a laser cutter, for that matter). Then, in the center of this piece, drill a hole large enough to allow a #6-32 bolt to easily pass through it (9/64"). Centering that hole with the lengthwise slot, glue the metal strip onto the two short ends surrounding the lengthwise slot. Then fold the strip over the corners and glue it down all along the two parallel long edges. At the opposite end, trim any extra material away with scissors. The purpose of this metal strip is to prevent the wood from cracking or breaking when under stress from tightening a pen into place.

Connect the Two Together

IMG_2204.JPG
IMG_2205.JPG
IMG_2206.JPG
IMG_2207.JPG
IMG_2209.JPG
IMG_2210.JPG
IMG_2211.JPG

Take the plastic piece you cut and using four of the eight small wood screws, first screw one end into the pen holder and then the other into the rest of the pen arm.

Connect the Pen Arm

IMG_2218.JPG
IMG_2220.JPG
IMG_2221.JPG
IMG_2222.JPG
IMG_2223.JPG

Although in the pictures you see the completed frame, it is actually probably best to do this step now, before such things have been done. Slide the grove of the pen arm over the two tubes of the pen arm holder, and using a #6-32 bolt with matching nut, tighten the pen arm into place as shown in the pictures. As you will see later, moving the pen arm up and down is important for drawing on different size objects. For now, tho the exact positioning of the arm is arbitrary, so tighten it down at any point along the grove. Then connect the servo extension cable to the servo's wire.

Construct the Arduino Shield

Schematic.jpg
IMG_2165.JPG
IMG_2166.JPG
IMG_2167.JPG
IMG_2168.JPG
IMG_2169.JPG
IMG_2170.JPG
IMG_2171.JPG
IMG_2172.JPG
IMG_2173.JPG
IMG_2174.JPG
IMG_2176.JPG

This is another piece I failed to photograph, however it is pretty straightforward. Using the attached schematic, solder the components together on the protoshield, using my layout or your own. One thing to note is the power header I created. As you can see from the schematic, the stepper motors need their own separate 12 volt power supply. Rather than using a completely separate power jack, I decided to "tap into" the existing one on the Arduino, and simple routed a jumper wire (with a female header on the end) around from the positive lead of the power jack to a male header on the protoshield. Once you have created the shield, test fit it on the Arduino as shown.

Install the Arduino

IMG_2178.JPG
IMG_2179.JPG
IMG_2180.JPG

Now take the shield off the arduino and using the four remaining wood screws, screw it into the rearstock as shown. With the brackets facing away from you, make sure the USB port of the Arduino is facing to the right. Then reconnect the shield to the Arduino and plug in the power header.

Assemble the Frame

IMG_2214.JPG
IMG_2215.JPG
IMG_2216.JPG

The assembly of the frame is pretty simply, and just involves sending the remaining #6-32 bolts with matching nuts and this time washers through the grooves on the two slats and into the brackets on the head and rear stocks. I recommend installing the front slat before the rear one, as this makes the assembly much easier. As you probably know by now, the grooves in the two slats are used for adjusting the devices for differently-sized objects. you can do this setup later, and for now the distance between the two stocks is arbitrary.

Connect the Wires and Cable Management

IMG_2224.JPG
IMG_2231.JPG
IMG_2232.JPG
IMG_2235.JPG
IMG_2236.JPG
IMG_2237.JPG

Once the frame has been assembled, you can connect all the wires to their respective places on the shield. The exact way you cable manage is up to you, but for reference you can see how I decided to do it in the pictures.

Arduino Firmware, Software, and Setup

This is where I had the most trouble, trying to find one software solution from all the different tutorials. Luckily, I was able to find one, however it was from my own searching, not any of the other sources I used. Here are the steps for downloading and installing all the necessary software components:

  • Download and install inkscape (from here)
  • Download and install the Egg-Bot extension (as detailed on their Egg-Bot wiki)
  • Download and install the Arduino firmware. On this page, the creator, cocktailyogi explains how you must disable auto-reset on the arduino. This is done in the circuit you created by connecting the reset pin on the arduino to ground via a 10 uf capacitor. With this in place, however, you cannot upload code to the arduino, so you must take the shield off of the arduino, upload the code, and then put it back on. Make sure to also follow the steps detailed for editing the eggbot extension, using a program such as wordpad to find and replace the things detailed on the Github page.

The process for setting up and using this spherebot is nearly identical to that of the original Egg-Bot, so rather than saying those things myself, I will simply refer you to Evil Mad Scientist's page on that. As you will see, everything is not completely identical, but you should be able to easily adapt those instructions to this SphereBot. Also, to use this, you must first power it up with 12 volt power adapter, of at least 1.5 amps and then plug the Arduino into your computer with a USB cable.

Final Photos

IMG_2239.JPG
IMG_2240.JPG
IMG_2242.JPG
IMG_2244.JPG
IMG_2245.JPG
IMG_2246.JPG
IMG_2247.JPG
IMG_2248.JPG
IMG_2249.JPG

So there it is. You now should have a fully-functioning SphereBot, and hopefully you didn't have to go through too much trouble to figure out how to build it. I will leave you with these final pictures of the completed device (I apologize for the state of the ping pog ball, it was a test, and I had done many previous test drawings on it). Please leave any questions or possible improvements in the comments.