Posted by & filed under electronics, Open Hardware.

Adding 802.11 wireless networking to your ShapeOko is easy thanks to the really neat RN-VX WiFly module

For those of you who might have tried this using Xbee’s fear not, this mod really works, what’s more its cheaper and you get the benefit of controlling your ShapeOko from all your PC’s etc. and LESS WIRES

I choose the Arduino Wireless Proto Shield  to mate the RN-Vx to the Uno, this shield is nice as it has a switch that allows you to choose the communications setting to the Uno, either via the WiFly or from the USB port. It also has a small prototyping area that I used to create a 12V power supply to the Uno, I did this using a LM7812 that I had, it works fine without getting hot

One of the concerns I had is that the Wireless Proto Shield does not have an IOREF pin, I held the PCB to the light and could see there were no traces where the pin would go, so I simply drilled a hole through the PCB and extended the IOREF pin on the Grbl Shield to reach the Uno, I am not sure if I could have left it floating.

hole_wproto The extended IOREF pin and hole in the proto shield.

extended_ioref_pin LM7812 added to the proto shield to provide 12v for the Uno.

I was unable to easily source a WiFly with a SMA connector so I modified the “Wire antenna” version and attached a antenna from an old router. In my first version I simply used the wire antenna this worked well, however I recently had a glitch and decided to add the antenna, my thoughts were this would remove the shielding effect of the steel carriage plate, and to possibly distance the RF from the servo drivers.


IMG_2053 The first iteration with the “wire antenna”

assembled The current iteration with the external antenna.


Now that you have seen the pictures, its time to get down to the steps needed to make this work. The first step you need to do BEFORE assembly is to configure the RX-VN WiFly module. I did this by connection the WiFly to a generic XBee Explorer Dongle. Since I primarily use Linux I choose to use miniterm and telnet to test and configure the WiFly. On Windows I think that RealTerm might be a good choice since you should be able to talk to both ends of the wiFly module.

The setup of the WiFly module is comprehensively covered in the documentation from Microchip, in my case I use a DHCP server so I choose that config. The most important setting of all is  set sys printlvl 0 this should probably be the last setting you do before the final save as you probably want to see debug messages when setting up whilst GRBL does not.

My settings were ..

  • set ip dhcp 1
  • set wlan auth 8
  • set wlan join 1
  • set wlan passphrase  guess
  • set wlan ssid openssid
  • set sys printlvl 0
  • save

As I mentioned earlier I suggest you don’t set printlvl to zero until you are sure your module is working. If all settings are correct you can use reboot in the serial terminal and you should see all your connection information. You can then use telnet shapeoko 2000 and should be able to type messages between the serial terminal and the telnet session. The last step would be to set the printlvl to zero and save the config again. Your WiFly is now ready to be connected to the ShapeOko.

In a perfect world software would be written to access any communications device in our world most of the GRBL streaming solutions assume a TTY (serial) port, this is true for Universal GCode sender and GrblHoming. To talk to the ShapeOko we need a TCP<->Serial virtual port. On Linux this is easily done via socat, I have created a shell script that contains

sudo socat pty,link=/dev/ttyS4,raw,echo=0,group=dialout,perm=0660 tcp:shapeoko:2000

On Windows I have successfully used com0com, I setup COM2 to be paired with CNCB0 then I used the hub4com utility as follows

com2tcp-rfc2217 \\.\CNCB0 shapeoko 2000

Roving Networks appears to have been acquired by Microchip so you may find that links from your shield suppliers are no longer valid, I can not find the Microchip link to the WiFly hence the use of Sparkfun link.

Posted by & filed under Shapeoko, Software.


One of the most difficult parts of starting out in CNC is the software, that digital purgatory between idea and product. RamCAM There are dozens if not hundreds of CAM software options floating around on the internet and figuring out where or how to start is a problem the guys (and gals) over at Inventables are trying to tackle with Easel. But while we wait for it to become publicly available, there are still plenty of good options for CNC hobbyists to make use of. Some of them are free (like MakerCAM, HeeksCAM, Freemill, etc), and some of them are for-purchase (like CamBam, VCarve Pro, and MeshCAM). Which one is right for you depends largely on your needs. Read more »

Posted by & filed under Milling, Shapeoko, Software.

The following post is the first of many to be written by Winston Moy, the newest member of Team Shapeoko.

Winston caught our eye with his amazing series of videos documenting his Journey into CNC via Shapeoko. We touched base with him and, he agreed to come aboard and help show everyone what you can do with a little knowledge and some ambition.

Without further ado, here is Winston!

Read more »

Posted by & filed under Community, design, Open Hardware, prototype, Shapeoko.

I spend a lot of time designing new machines. For the last 2+ years I’ve spent 5-10 hours a week taking a standard set of components (makerslide, fasteners, laser cut steel) and virtually configuring them into new designs via AutoDesk Inventor. To a small degree, I enjoy the work as it’s helped me both hone my modeling skills, and become more familiar with all of the parts. Read more »

Posted by & filed under Community, Shapeoko.

Due to my lack of posting over the last several months, it may seem to the casual observer that the project is stagnant. It’s not! A quick look at the forums and you’ll see the community is alive and well and growing.

Last week we tipped 1,000 members in the forum. That’s amazing to me. Right now there are well over 2,000 Shapeokos in the wild. With over 1,000 members in the forum that tells me that a lot of people value the community just as much as they value the machine itself.

I’ve raved about how great the community is before, but I’ll take this opportunity to say again how wonderful they are! If it weren’t for the community, this project wouldn’t be what it is today: amazing, thriving, scalable, and a perfect example of how open hardware can work if it’s done right.

Speaking of growing: the one downside to growth is the requirements it takes to support it. Because of the way the project started, the website was never really planned out. All the things are on the site (landing page, blog, forum, wiki) but it was all sort of haphazardly placed.

For the last year or so the site has had some intermittent issues. Mostly stemming from poor performance form the server, which was a result of the non-planned expansions. The issues were rare enough that I was OK just letting them go, and restarting the instance when needed (once every few months). However, over the last several months the frequency in which the system went down was increasing. And in the last week it became a liability.

So, a few days ago I set out to migrate the content to a new server. I won’t bore you all with the details of how that went down, but I will say that it was WAY more work than I expected and required quite a bit of quick thinking in order to keep the site mostly up while the transition was taking place.

Thanks to the help of @bxd, the data is migrated, and the server is purring like a tiger. OK, maybe it’s purring like a kitten right now. As far as we can tell it’s stable and should be smooth sailing from here out.

So again, I’d like to thank everyone for your patience and thank the community for being awesome enough to require a new server :-) Keep it up.

Happy Milling,

Posted by & filed under design, Shapeoko, Software.

I have a little story to tell you.

Years ago, maybe 7-8 at this point, I finished building my very first CNC machine. It was not named Shapeoko, you could not build it for anywhere near $300, and it was not assemble-able by nearly everyone. It was in fact, the exact opposite of Shapeoko. But, neadless to say, I finished assembling the machine, and wired all of the electronics. After that I installed EMC2 (now linuxCNC). I tuned the motors and ran the test job. Success! I was in business.
Right away, I wanted to cut my own part. I had already drawn it to scale in CAD and saved the file. Problem was… I kept trying to open it with EMC2 and for the life of me, I couldn’t get it to open. Ends up, there’s a step between the CAD part and the cutting part. It’s called CAM.  I didn’t know that. So off to the internet I went, scouring any sort of information I could on this so called “CAM”.

I’ll give you a run-down on the jist of CAM:  CAM is the process where you (or the software) define your toolpaths. The toolpaths are what turn into g-code. And the g-code is the language your machine understands. The overall workflow goes like this:

Draw Something -> CAM Something -> Stream Something -> Cut Something

Pretty easy right? It actually is surprisingly easy once you find a program for each of those steps that you are comfortable with. The problem for most beginners is they don’t really know what software to use for steps 1 and 2.

Here are my suggestions:

DRAW SOMETHING: Start with inkscape for your CAD program. it’s free, there are plenty of tutorials, and it’s pretty easy to use once you get the hang of it. Yes, you are not going to design the space shuttle with inkskape, but it’s a no-risk way of getting started drawing.

CAM SOMETHING: I’ve looked high and low for a nice open source, entry level CAM program. As luck would have it, after YEARS of searching, I found one mentioned in another forum, and tracked it down to find out it had been abandoned but the source was released before said abandonment. It was created by a guy named Jack, and I’m planning to do an entire other blog post explaining how this came to be. For now, just know that Jack’s creation (which he called PartKam), is now available on my github page, and is being hosted at one of my other domains. You can find it here: You will find a basic ‘help’ and ‘tutorial’ link at the top of the page.

However, they say that a picture is worth a thousand words, so we’ll assume that a video is worth a million. So, instead of rambling on more about this, here are two videos representing steps 1 and 2 of the process.



Please feel free to join in on the forum discussion regarding makercam, and if you’re interested in helping improve the code base, drop me a line.
There you have it. Enjoy!