Archive for the 'Projects' Category

The Bipolar ORD Bot



It’s ORD Camp time again this weekend.  Every year I have done a gonzo build of some type of CNC machine.  This year I only had a few hours to spare, so I wanted something simple.  These are never meant to be practical machines, just conversation starters.

This was hacked together and programmed in about two evenings with stuff I had laying around, but working at Inventables means there is a lot of cool stuff “laying around”.  It was inspired by the RepRap Wally 3D printer, but vastly simpler in construction.  This only uses a couple of fabricated parts.  There are (2) sets of indentical actuator arms.  The inner arms are hard mounted to small NEMA 14 stepper motors.  The other end is attached  to a wood base, but free to rotate on a bearing.  The outer arms are mounted to the stepper motor shafts using Actobotics hubs.  The other ends have 1/4″ I.D. flange bearings.  These are bolted together, but free to rotate using a screw with a holed drilled for the pen.  That is basically it for the mechanics.

The stepper motors are driven with some high resolution stepper drivers.  These are driven by stock grbl 0.9 firmware running on an Arduino UNO.  The UNO does not know what the heck it is driving though.  The resolution is done in degrees.  I wrote a quick conversion tool that converts Cartesian gcode to bipolar gcode using these formula.

  • L = 150mm
  • A = 90mm


I have my CAM software output circles as multiple lines, so circles don’t need to be dealt with.  It has an odd, shield, shaped work area that you need to stay within.  Before powering on the steppers, you place the pen at the top middle of the work area.  You then tell grbl that both angles are at 51 degrees with G92 X51 Y51.



Here are a few more pictures taken at this weeks Beer and Making session at Inventables.

0121151912 0121151912b 0121151912c


The shield has a solenoid driver that I was going to use for pen up, but I never got around to that.  I kind of like how it runs so silently.

Here is a video of it running.  It is rerunning over an old plot to show the repeatability.   I think if I used true inverse kinematics the plots would look even better.  Maybe Machine Kit on a Beagle Bone is in its future.


A few people have asked if the motors could be moved to different locations.  Yes, I think you could put the (2) motors on any (2) joints and still have a controllable machine.  Not all work areas would be the same size and some might have issues with much higher torque requirements.  I believe separating the the motors by one linkage, like this one, yields the best results.

Skate-oko-asaurus: The self replicating skateboard

We build a lot of skateboards for fun at Inventables.  Some of the guys even sell them at local craft fairs.  They thought it would be cool to have a CNC router optimized for skateboards that was easily portable.  I first thought about putting wheels at one end, then realized the machine itself could be a skateboard.  We thought it would make a perfect Gonzo Build.

2014-10-26 11.00.15

A Gonzo Build is something we came up with at Pumping Station One CNC Build club.  The concept is that we try to build an original, “one off”, CNC machine in one evening.  They also tend to have a whimsical aspect to them, so we don’t take ourselves too seriously.  We usually get about 8-12 people to help build.  If parts need to be fabricated, they must be done that night on -site.

2014-10-26 11.00.50

Building a stock Shapeoko 2 in one night is a challenge in itself, but we decided to up the challenge by totally tricking this out with every feature we could think of.  We did have a few master CNC building ringers in the group, like Tait Leswing and David Ditzler.

Here are the stats of the machine.

  • 1200mm x  250mm work area
  • Skateboard specific wasteboard supported by additional extrusions.  It is narrower than a stock Shapeoko 2 and about 3 times as long.
  • Drag Chain
  • gRAMPS Controller running grbl 0.9.
  • Quiet DC spindle with full speed control.
  • Feed hold / Resume / Reset buttons
  • Homing switches on all axes
  • Auto Z zero with Z probe
  • Trucks and wheels
  • NEMA 17 motors with dual Y stepper drivers.
  • Portable dual 24V/48V power supplies with master power switch.

2014-10-26 11.18.20



Most of the Shapeoko parts came from reject area at Inventables, so there are a few dings and scratches.

The wasteboard was cut from 5/8″ particle board on the PS1 Shobot.  It has a grid v carved into the work area.  There are threaded inserts for clamps, primarily around the perimeter, but there is a truck bolt pattern strategically placed so a cut out board can be flipped or remounted accurately . It is supported below by 2 additional MakerSlide pieces and tied to the MakerSlide rails above.  It is the bed turned out very rigid.  It does deflect a little with heavy rider but pops right back.  After the build, I added several coats of spar varnish to ward off the dusty footprints.  Biggest guy to ride it so far tips in at about 230lbs.


We set our selves a goal of completing before midnight.  Done or not, I was going to ride it at midnight.  We thought we were finished about 20 minutes early.  Everything worked fine except the Z axis was not moving correctly.  It had the classic stutter and random motion of one coil wire not connected.  We tried to find the problem, but over 2 meters of drag chain slowed us down.  Midnight came some we dropped it to the floor and I rode it across the shop.

2014-10-26 11.03.30

As a skateboard, it is pretty much a joke.  On the first ride, we didn’t even have long board trucks, so the turning radius was huge and you can easily scrap an edge.  The front has a handle cut into the nose of the bed.  The ideal way to move it around is to lift the front and drag it on the back wheels.




grAMPS 1.0 Stepper Motor Shield


The newest version of the CNC controller software, grbl (0.9g at this post) has a lot of cool new features, but the two that caught my attention were the ability to compile and upload from the Arduino IDE and support for multiple Arduino types including the Arduino Mega 2650.  I have always found the I/O count and memory of the Arduino UNO very limiting.  I quickly compiled it onto a Mega and hand wired a RAMPS board for testing.  It worked great.


The RAMPS board is a famous open source RepRap 3D printer controller.  It is an acronym for Reprap-Arduino-Mega-Pololu-Shield.  It is so simple and hackable that I have used it for dozens of CNC projects. The RAMPS board made it easy to hook up all the wires, but you can’t just plug it into MEGA because grbl requires that certain I/O is grouped into a single I/O port.  RAMPS was designed for 3D printer firmwares that do not have that limitation, so things like X,Y and Z step are not all on the same port.  I am sure you could hack grbl to break that limitation, but I wanted to only touch the config files.

The RAMPS also has a ton of features, like (3) thermocouple inputs that are not needed, so I decided to make my own version of a RAMPS with just the features that a CNC router like the Shapeoko needs.  When I realized I could use the name grAMPS (grbl+RAMPS), I wanted to get it done as quickly as possible.  Here are the features I implemented.

  • Stepper drivers for X, Y and Z.
  • The Y axis is setup for dual drive with two ganged stepper drivers (like Shapeoko).  If you wanted dual on a different axis, you just need to modify the pin mapping a little.
  • A spindle control circuit.  This uses a high power MOSFET.  I have it hooked up to a 10 bit PWM channel.  It works great with no thermal issues.
  • Separate power inputs for the Stepper Drivers and the Spindle so these can be run at the optimal voltages.
  • There are terminals to hook up a fan to cool the drivers using the motor power supply
  • X, Y and Z limit switches are brought out to a terminal block.
  • The Z probe function is brought out to a terminal block.
  • There are buttons for Feedhold, Resume, grbl Reset and Arduino Reset.
  • IOREF is used for the stepper driver logic voltage, so you could try this on an Arduino DUE board.  There is a jumper in case you have an old Arduino that does not have the IOREF pin.
  • Microstep selection jumpers.

I hand assembled one in about 30 minutes.  The part count is quite low.


Final Thoughts

The only thing I would change is the power terminal blocks.  There are a little small for heavy gauge wire.  Everything else I like.  I like the clean layout. I love how fast and easy it is to assembly.  The parts cost is quite low except for the 0.10″ pitch terminal block.  That is a couple dollars by itself.

I have about 15 raw boards.  I would love to get them in the hands of some CNC builders.  I will be at Maker Faire NY.  Find me or tweet me, @buildlog, during the faire for a free one.   My hackerspace, Pumping Station One, will have a booth there.  I might spend some time there.


Source (CC-A-SA)


Schematic 32028

Gerber Files 16030




Camera Slider Controller Hack


I have been having fun with my camera slider controller.  It is a cool, little, general purpose motion and camera controller that will soon to go on sale at Inventables. Taking a picture is very easy.  You just plug the camera into it and run the takePicture() function.  It has a lot of spare I/O pins that can be used for some cool hacks.

I always thought it would be cool to take a time lapse movie of a 3D print, but do it exactly one layer per frame and have the picture be taken at the exact same location every time so the print appears to grow out of thin air.  I know people have done this before, and I could probably hack the circuit right onto the printer controller, but camera slider controller was ready to go with the circuit and connectors all ready to go.  With less than ten minutes of coding and making a cable, I was ready to go.

GCode Hacking

The first task was hacking the GCode to output a a signal I could read remotely.  Kisslicer has a feature where you can add a few lines of Gcode every “N” layers.  I added the following GCode.  Note the “1″ in the layers box.  This means do it every layer.




G1 X0 Y0 means move to 0,0

G4 P500 means dwell for 500 milliseconds.  This was added because the next command was happening before the move completed.  I think this has to do with the way commands are buffered.  I think there is a more elegant fix for this, but adding a little delay here was a quick fix.

M42 P11 S255 means set I/O pin 11 to full on (255  is max).  Pin 11 is the first of the “servo” pins on my RAMPS controller.  This three pin connector would map directly to the servo connector on the camera controller.

G4 P1000 is a 1 second delay.  I had my DSLR on “auto” so it would need to focus for each shot, so I gave a little extra time.

M42 P11 S0 turns pin 11 off.

I ran a few test layers with my volt meter hooked up to the connector and it looked great.

Camera Slider Controller Hacking

The controller has 2 servo connectors that are intended to be used for hobby servos in a pan and tilt arrangement.  The signal pin on the connector can also be used as and input.  The code is simply going to watch for that pin to go high.  When it does it will display the next layer number and take the picture


Arduino Code

In the setup() section you need to make the PIN_SERVO_1 pin an input because that is connected to the printer controller.

pinMode(PIN_SERVO_1, INPUT);

The loop() section looks for the PIN_SERVO_1 pin to go high. When it does the layer number is incrememented the picture is taken and the LCD is updated. The camSignalRead flag is set so we don’t go read the same pulse more than once. The flag is cleared as soon as the signal

void loop() {

   if (digitalRead(PIN_SERVO_1) == HIGH) {
     if (!camSignalRead) { // make sure we read once per pulse
       camSignalRead = true; // 

       lcd.cursorTo(2, 0);
       sprintf(sVal, "Layer %d", layerNumber);


   else {
     camSignalRead = false; //reset this. the pulse is over 



Simply connect the signal pin (D11) on the servo 1 connector of the printer controller to the signal pin on the servo 1 (J7) connector of the camera slider controller. You also need to connect together a ground pin on each controller.






Camera Setup

I setup my DSLR on fully automatic and disabled the flash. I am sure the movie would have been better if I manually focused and locked the speed and aperture settings, but I just wanted a quick result. The controller first sends a focus signal and then a shutter signal. The focus signal acts like the half button push you do to focus most cameras.

The Print

The printing was done on the Quantum Delta printer.  I used my CNC Ninja Squirrel as the test print. It was scaled to 50mm tall. At at 0.25mm layer height, that gave 200 layers. The print took about 45 minutes with the added delays. It was run in a busy room at Pumping Station One so there was a lot of activity in the background and some light level changes.



The Result

Click here if the video is not displayed below.


The Quantum ORD bot

ORD Bot 3D Printer

Update:  This is now available at

I was invited to this really cool event called ORD Camp. ORD Camp is unique, yearly event put on by Inventables and Google in Chicago. It brings together 200 people with a far range of interests. The common thread is a exceptional passion for what you do.

You are encouraged to bring a “creation /invention” you are working on. I did not want to bring the 2.x laser because it is hard to move around, it takes up a lot of space, and is not real conducive to just operating in the middle of a room. I will probably bring the camera slider, but I really felt like using the opportunity to create something new and cool with the MakerSlide material.

I was recently inspired by this Kickstarter Printrbot 3D printer. It seemed like a real ‘outside the box’ look at 3D printers. Brook of printrbot contacted me recently about collaborating with some of the people he is working with on some projects which got me more inspired. I decided to try a similar concept using Makerslide.

MakerSlide has these main features. It is a linear bearing. It is a structural element. It is accurate and it is cheap. The concept is, if you keep some of this laying around and have access to a few tools, you can quickly brainstorm an idea and fabricate it right away. This project was hashed out in about 3 hours, fabricated in about 2 hours and assmebled in about 2 hours. That includes cutting all the custom parts.

The result is the ORD Bot 3D printer platform. The structure and linear bearings are 100% MakerSlide. The motion is smooth, ridged and accurate . The parts are cheap. This uses less than $60 dollars worth of MakerSlide rail, wheels and idler pulleys. The rest are off the shelf items or fabricated by CNC router, laser cutter, 3D printer or other means.

A huge feature of this design is the scalability. It can scale in X,Y, Z or any combination by simply using different lengths of MakerSlide. All brackets stay the same. You might need to change belt lengths, but all the belts are open ended belts, so you don’t need the exact length, just some belt stock. The lead screws also need to change if the Z changes, but that is standard cut threaded rod. The version I built is probably as small as you would ever want to go, so I called it the Quantum ORD Bot. The build area is slightly larger than a standard MakerBot.

The frame is extremely ridged. Cut squareness does not matter very much. Every parts has multiple adjustable points and does not rely on the quality of any cuts. Parts can be aligned with a square and bolted down.


I initially had some screw on leveler feet in the design, but after some design tweaks, extra bracket were going to be needed to mount them. I made these feet out of HDPE. They are soft and will not scratch any surface. I added the holes at the bottom to get a little spring to them, but I also think it brought in a nice design element. The rounded end and three point contact make them self leveling. The rear feet also act as a secondary brace for the Z axis.


The handel is not required, but adds a lot of strength, can be used to mount electronics and also serves as a gauge for alighning the uprights. If you use a handle and scale the X axis you would need a hew handle. An alternative is to use a standard 20×20 t-slot piece across the top.


Here is the build area increased by 100mm in each direction. I put a 20×20 extrusion across the top instead of the handle. I just did it as an example to show a more easily scaled version. This cost would be $4 higher for the MakerSlide about $3-$4 more from Misumi, about $2 more for longer lead screws and about $5 more for the longer belts. You would also need a bigger build platform (not shown). The total increase is easily less than $20. The increase in Z weight is about 4 ounces (0.1kg). At very large widths you might want to add a second Y axis extrusion, but that would just be a repeat of the existing one.


The pictures above are mostly renderings.  Here are some real pictures of the prototype.  I cut all the parts on my CNC router.  I could have used my laser cutter, but I wanted to make a few counter bores for some screw.  I don’t think that is needed, but it looks cool.  I also used some optional non laser cuttable materials like carbon fiber and HDPE.

I came up with this idea about 6 days before the ORD Camp date, so I was a little rushed.  The biggest problem was lack of motors.  I also was so busy that I really could only allocate about 6 hours to the project.  I let the delivery time of the motors set the schedule so only worked an hour or so a day over the week.

This design is very strong.  I could stand on it or hang from it without damaging it.  It is quite light at about 6.25 lbs.  I am very happy with it and hope to get some good feedback at ORD Camp.




Where Are The Wires?


The element I really liked when I did some initial renderings was the clean look. I knew it would quickly turn into a RepRap hair ball as I wired it, so I decided to take advantage of the built in passage ways in the MakerSlide. I drilled some holes into the faces in some areas to pass the wires from extrusion to extrusion. The wires to the gantry had to be exposed because they move with the gantry.  I put the wires into an extrension spring.  This is a 1/4 O.D. 0.018 wire springs.  If you stretch a spring the diameter reduces.  I used this feature to mount the spring.  I drilled holes slightly less than 1/4″ and stretched the spring through the holes.  When I released the spring the diameter expanded to fit snugly in the holes.  I tried to find a tap that matched a spring pitch so I could just thread the spring in, but couldn’t find a match.  This mod falls into the “its not worth doing, unless you overdue it” category.  I also wanted to reinforce the extreme rigidity look, by using carbon fiber parts, but the budget limited me to just the small thin parts. Again, this was overkill and just for fun.

What is Next?

If there is any interest, I might add this as a kit to the Makerslide store.  I would like to quote all the carriages and brackets in aluminum, so I don’t have to fabricate much.  I would probably need a 50 piece buy to justify the work and cost.


Edit (2/11/2012)

You can get the source files at Here.

Here is the ORD Bot running at 160mm/sec, but the current print speeds are exceeding 400mm/sec with 1000mm/sec rapids. The limiting factor right now is the extruder, but we have preliminary prints close to 500mm/sec.

Using a ShuttlePro as a Laser Pendant

I have been using a ShuttlePro as a pendant for years on my router.  A pendant is basically a hand held remote control for your CNC.  It allows you to control a set of functions right at the machine.  I typically use it to zero the machine on the part, tweak the feedrate, start/pause/restart the job and do an e-stop.

The router’s pendant is starting to die.  It has been through hell.  I have dropped it about 10 times on the concrete floor.  It has also seen a lot of oil and fine dust.  A couple buttons are getting intermittent.  I have the functions to working buttons, but I was getting worried it would stop working completely.  I could not live without it, so wanted to get a replacement on order.  I found a good deal on eBay ($54) and since they had several, I decided to get one for the laser as well.

The ShuttlePro was designed for video editing.  One thing you do a lot in video editing is jogging the video forward and backward.  Typically you want to race forward until you get close then slow down and even go frame by frame until you get to the desired spot.  Sounds like CNC doesn’t it?  It has three dedicated functions for this.  Full speed forward and back via buttons, variable speed via a spring loaded jog dial and a frame by frame little detented rotator wheel.  It also has a lot of redefinable buttons.  These buttons have clear snap on caps, so you can add labels to them.  I have a Corel and PDF template at the end of the post.  Someone at the Mach3 forum dicovered this product and within days there was a plugin for it.

Setting it up is easy.

Download the ShuttlePro plugin from the Mach3 downloads page.  Place the ShuttlePro.m3p file you download in a convenient place like your desktop.  Double click on it.  That will launch a program that registers it with Mach3.  Plug in the ShuttlePro into your computer.  It uses the built in Human Interface Driverss (HID) so you do not need to install a driver.  It comes with some software to test it, but you must uninstall it before using Mach3.  Start Mach3.

Use the config Plugins menu pick to open the

Make sure the plugin is enabled with a green check.  Now click on the word config to the right of the plugin name.

That will bring up the screen above.  Each button can be associated with any of many functions.  My config is shown above.  You probably want some keys across the top to select the current axis.  I like to have the two buttons to the outside of the central wheels be rapid movement buttons.  It is also handy to be able to lock the pendant so accidental button pushes do not screw up a run.   I used the second button from the lower right.  The rest are up to you and how you use your laser.

Below is a video demonstration on my laser.

PVC – Update

Formufit - PVC fitting


I saw couple of thing on various blogs regarding PVC lately.  I think every general purpose maker has made something out of PVC at some point.  It has a lot of desirable qualities.  It is cheap, easy to find, and very easy to work with.  It is relatively strong and can hold a lot of pressure.  I have made a plastic bottle launcher, a paper rocket launcher and even a crude trebuchet for a scouting contest.

The first new PVC item I saw was these FORMUFIT PVC fittings.  They are aimed squarely at the maker side of PVC usage.  All of the parts are smooth, glossy, tapered, high quality parts without any of the annoying printing. labels or bumps.  Some of the nice features are interior detents so you have a consistent stop point so your project will come out square.  There are also slip tees.  The tee section on these are not a tight fit to the pipe so it creates hinge.  (This would have been real handy on the trebuchet).  The other part that fit in this category are the table cap (attaches legs to table), caster base and internal pipe coupling.

They also have pre-made Google Sketchup and MS Visio parts ready to design with.

PVC Table Cap

Formufit - PVC Table Cap

Continue reading ‘PVC – Update’

DIY CO2 Laser – Using Exhaled Air!

DIY CO2 Laser

I saw this over at Hackaday.  Magx1 has created a homebuilt CO2 laser using air exhaled into a balloon as the gas source.  There is a great Flickr set and a video.

He explains a little bit about how it works in the video.  To fill in some blanks…a flowing gas electrical discharge plasma laser works like this:  Gas is pulled into a tube using a vacuum pump.  The gas has be to pulled down to a very low pressure before the air will start.  There is a bit of a balance done using a needle value to keep the pressure right on the sweet spot.

Most people buy premixed gas for flowing gas CO2 lasers.  It is a mix of gases that “cooperate” to produce the best beam.  I never suspected you could get a decent beam with such a rough gas mixture.

Very cool maxg1! Continue reading ‘DIY CO2 Laser – Using Exhaled Air!’

The Age of the Self Replicating Machine.

MC Escher - Drawing Hands

There is a saying amongst DIY CNC router builders that goes something like this… “You only need to build your first router good enough to build you second one“.  In my case that turned out to be true.

I built a wood, conduit and skate bearing Solsylva router.  I painstakingly layed out the various pieces using calipers, t-squares and compasses.  I cut them out using hand held tools like jigsaws and drills.  It worked remarkably well, but every time I routed out a perfect CAD drawn piece, I always thought “Gee, I wish I had this thing when I built the router“.

It wasn’t too long before I built my bigger, better, more accurate router.  I was able to use tougher materials, hold tighter tolerances and cut more exotic shapes.  It works much better.  A few months ago I finally pulled off all the good bits and Sawzall’ed the old one apart to get more room in the shop…a bitter sweet day.

Most of today’s designs develop inside a computer.  Resolution and accuracy are infinite in this realm.  We expect our fabrication machines to output similar accuracies, but how does one construct a machine with this accuracy with common (analog) tools.

Today’s open source machine are addressing this head on.  There is a big push towards self replication.  Struggle past the first one and the rest will be easy.  It is not just an accidental bonus it is initial design requirement.  It is a lot more work, but I think it builds the strong communities behind these projects that help insure their success.

Here are three examples of self replicating machines…

Continue reading ‘The Age of the Self Replicating Machine.’

D.I.Y. Selective Laser Sintering – Update

SLS Printer XY Stage

Update. Peter is still working on his SLS project.  He is experimenting with a new fully laser-cuttable x/y stage.  He is catching some flack for the ideas in some blog comment sections like hackaday.  Obviously there is some refinement needed for accuracy, backlash, etc, but I applaud his efforts.  I am sure some of his ideas will find their way into the final design and we will all benefit from it for this and other projects.

If he was just building a device for his own use, it would probably be easier and cheaper to use conventional materials, slides and gears, but he is clearing spending a lot of time to design something the budget conscious maker can afford.

Many people put similar questions to me on the design of the open source “self replicating” laser cutter.  I have redesigned and rebuilt constantly to lower the costs, tools and skills required to build it.  I swapped out very robust milled aluminum parts with laser cut Acrylic ones to prove they would work.

His most recent changes area aimed at removing the “shearing/binding issues” from the previous iteration.  He is using Kapton tape (Polyimide-film) to reduce friction and using a four gear contact point.

Continue reading ‘D.I.Y. Selective Laser Sintering – Update’