From ShapeOko
Jump to: navigation, search

DrRob is located just outside Cambridge in the UK, and has just completed the "Hello World" of ShapeOko [insert touchdown dance].

Ordering parts in the UK

These are the best prices I've found in the UK for ordering the parts other than the main kit:

The Seeeduino and the stepper drivers have arrived. I can't believe how tiny the stepper drivers are! I may need to borrow a smaller pair of hands to wire them up.

The Tap & Die set and the Rotary tool have arrived. The little button that locks the spindle on the rotary tool while you tighten the collet feels very flimsy, but otherwise looks ok. It's quite a bit bigger than my Dremel.

The steppers are on order (special order from Technobots, but worth it for £8.26 cheaper each than at and I'm in the queue for the main kit of parts. I have a few days off from work in a couple of weeks, so crossing my fingers that everything will be here by then.

20th Feb: the steppers and heatsinks for the stepper drivers arrived today.


I've bought a secondhand 7.2A 24V PSU from Ebay. It was removed from some equipment, and needs mounting in a case so that no-one gets electrocuted:

26th Feb: The case I've made isn't going to win any design awards, but it does the job.

The underside of the PSU is an aluminium plate, which is connected to the main heatsink which is the back plate. I've left a space underneath it in the case, so if it gets hot during use I can put a fan in there to circulate air.

Stepper driver board

I've designed and built a Stripboard stepper driver carrier board.


The lead screw passing through the delrin nut isn't at all square. I've allowed for that by drilling out the holes in the motor plate to 7mm (I had to drill them anyway as I have one of the original delrin nuts with the 6mm bolts).

The M3 x 10mm bolts for attaching the NEMA 17 stepper motors were a tiny bit too long. I cut a mm or two off the end with a dremel and cutting disc.

I made some belt anchors, each from a couple of 25mm sections of right-angle aluminium, drilled and tapped. I looped the belt back on itself, teeth to teeth, to give two flat sides to clamp against.

It took quite a bit of experimentation to work out the correct value for Grbl's $7 setting (step port invert mask), which turned out to be 200, with all the steppers wired normally.

Don't make the mistake I made and let your ShapeOko write with a Sharpie pen onto paper resting on your desk. My desk has a tattoo now.

Belt anchors

I designed and made my own belt anchors using parts and tools that I had readily available.

Initial tests

The piece of unintentional art above the ShapeOko on the corrugated card (entitled, "George and the Dragon"), was created by sending each line of the G-code file to the Arduino without waiting for the "ok" responses.

First cut

My first real cut on the ShapeOko is an generated tree shape engraved onto oak-veneered MDF (a left over off-cut from [Earlier projects]).

The steps were:

  • Inkscape Extensions->Render->Random tree...
  • Export as .dxf
  • Import into PyCAM
  • Generate an Engraving toolpath
  • Export as G-code
  • Edit the ;comments to ( comments ) - using Vim: :%s,^;\(.*\),( \1 ),
  • Edit out the T3 M6 command that Grbl doesn't like.
  • Manually entered the X coord where the trunk of the tree is (examined the start of the G-code to find this)
  • Manually adjust the tool position to the centre of the piece of wood
  • Switch on the rotary tool
  • Set Z0 then manually adjust the Z height until the cutter just cuts into the wood
  • and then set the G-code program going

The feed rate was 200 - the default from PyCAM. I ran the rotary tool at around 2.5 out of 6 on the speed dial (part guess, and part trying to keep the noise level down...).

I don't know if it's due to the recursive algorithm that the Random tree extension in Inkscape uses, but the tool retraced its steps back to the starting point, which was a good test for lost steps. It appeared to return exactly to the starting point. There are a couple of places where the retraced line diverged from the original path a little - see the section after left-left, for example - I suspect this was due to the grain of the wood pushing the tool off course, being taken up by the accumulated slack in the ShapeOko (various parts stretching and flexing).

There's a bit of a knack to getting the ShapeOko and Grbl into the right combined state so that when the program begins, the cut ends up where you want it. I'll think about documenting that on the wiki somewhere.