What can I use on Linux for a Shapeoko Pro?

It’s free. It turns off some features like the ability to change the background, and it puts up a reminder for you to buy a copy, but it keeps working.

The iMac I used was a mid 2007 model.

We’ve had a couple of customers mention that they use BlenderCAD/CAM successfully — it’s one of the options I’ve been meaning to look into, thought it’s not quite exactly what I want (next effort is on Ryven and PythonOCC once I’ve finished up my current BlockSCAD/OpenSCAD/Carbide Create technique).

Assumed for Linux you wanted opensource — yes, Q-CAD should work well w/ dxf2gcode or some other CAM tool which will accept DXFs.

Big question is what sort of work do you wish to do and how do you wish to approach it?

The wiki and old Shapeoko forums went down because Tim Foreman who was hosting it moved, and his new home doesn’t allow for the previous setup of him physically having the server in his home. As to why it hasn’t been brought back up, @edwardrford would have to speak to that — I’d guess it’s because I abused it by using it as my personal notebook, and it got too large to easily keep up-to-date. Not sure what, if anything will be done for the future. If folks want to re-home the content, that should be fine, so long as it’s done w/in the parameters of the CC-SA license which was used for the wiki.

Good - easier for me, but different forums have different preferences.

I’m keeping the Windows option open. It might work as a short term option until the new M1 27" iMacs come out. When that happens, I upgrade my study system (where I also do video editing and other video work that makes a 27" monitor quite useful!), and I move my current iMac down to the workshop. It looks like as long as I’m using a Win or Mac system, I have a good choice of software. Taking an old box and putting Windows on it may give me a good option until I upgrade and move the iMac down there.

Thank you for noticing! I did MAJOR planning for the house and barn. I used CAT5e or CAT6 whenever and wherever possible and RG11 instead of RG6, but you have to be careful with that because some devices are made for the smaller core wire in RG6, so using RG11 can lead to wear on the connector. I had no idea that lightning could be an issue for cables in the ground, but I’m lucky my cousin knew that! I included all the other info because I’ve found I never can be sure what about my setup can be important to those trying to help me.

Yeah, I didn’t realize it sounded that way, but you did pick up on something. I’m VERY frustrated that the USB extender to let me run a USB connection from my workstation to the ceiling box didn’t work. I’m also lucky I have that cable there, since I can put a Pi there. I think, at this point, that’s going to have to happen. At least a Pi is easy to protect - doesn’t take much to put a box with screen around it to keep out sawdust.

I will be trying the USB/IP solution. It may or may not work. I’m still stuck, for the moment, with only Linux in the shop - but it’s clear there are other ways to deal with the lack of CAM software for Linux at this point (until I get the iMac down there).

Good - even older than mine! :wink:

Glad to hear that people like the BlenderCAM plugin! As I’ve mentioned, I’m using Blender for others stuff. For instance, since my workshop is on the 2nd floor, I need a deck to make bringing up plywood and other large items into the shop. I did the deck design and blueprints on Blender - using a plugin of my own to add notes and stuff. I want to write another plugin to make blueprints easier to do from Blender. I like the idea I can use Blender for STL files for my printer, for making blueprints of large things, AND for doing CNC design - including using the plugin for the CAM work. (My understanding, last I checked, was there are limits on the versions that plugin works within for Blender.)

No problem. I like open source - really do - but it sometimes has drawbacks. But thanks for noticing what I was trying to work with.

I’m still learning. I’m probably going to start with printing signs to pay for the device, but there are other things I want to do in terms of prototyping and creating my own products. I think, between the Shapeoko and Creality 3D printer, there is a lot I can do, for both making just simple things and making cases for other projects, like a nice case for a remote control I’m thinking of making. I’m sure, as I get used to what I’m doing, I’ll want to do more. I’m also thinking eventually I would buy a laser attachment for it, as well.

@WillAdams, while you’re here, another question - USB is the only way to communicate with the Shapeoko, right? (Just verifying!)

The other CAM option for Blender is to export an STL which you can then use as an input for some traditional CAM option — pyCAM might work, or MeshCAM, or FreeCAD, or possibly Kiri:Moto.

The projects you describe should work well w/ Carbide Create (some folks have gotten it to run in WINE) or you could look into F-Engrave.

The Carbide Motion board only talks over USB, but you could attach a Raspberry Pi, then communicate w/ the RPi over a network connection.

I have seen pyCAM in my bookmarks - I haven’t had time to look it over. The advantage to BlenderCAM is that I could use that in Blender on Linux without issue. Again, the Linux workstation is a short-term solution. (And I’m betting pyCAM is OS agnostic, too.)

Having it work with WINE would be nice. Just for my education, what kind of thing would not work well with Carbide Create? I probably should look this up, but isn’t that for the design work? Or does it do the CAM work, too, then I take the output and use UGS or the Pi version of Carbide Motion?

You mention a board. Do you mean in the Shapeoko or is there a board I can get for that to put in a computer? (I’m assuming you mean the Shapeoko logic board.) When you talk about using a Pi and communicating with the Pi over network, do you mean just using something like VNC to control a g-code sender, or is there some other way to do this, with the sender on a workstation, sending information to a program on the Pi that talks directly to the CNC?

Not to speak for Will but I can answer and I figure he wouldn’t mind you getting feedback sooner rather than later.

Carbide Create does both CAM.

Carbide Create’s biggest limitation is that it operates in 2D. If your design can be expressed by stacking 2D cuts, it’ll work. If it can’t, it won’t.

Whether that’ll be a problem for you will depend on what you’re making. For example this box for Valentine’s day should be totally doable in Carbide Create (he may have done so, I wasn’t sure though). Stuff like this and this can be made by cutting multiple 2D pieces then joining them together.

However stuff with 3D geometry that has slopes and curves like this or this can’t really be done in the standard version of Carbide Create. It can however be done in the upgraded Carbide Create Pro, though you need to figure out how to turn your STL into a heightmap so you can import it.

Carbide 3D also supplies MeshCAM, I believe. That program operates in 3D.

“Carbide Motion” refers to two things:

  • The PC software that talks to your Shapeoko or Nomad.
  • The circuit board that runs GRBL, hidden away in a box on your machine.

Will’s referring to the latter here.

The “program that talks directly to the CNC” is the G-code sender. I suspect Will’s talking about accessing Carbide Motion over VNC here.

But I’ll again point to CNCjs:

  • The CNCjs server runs on the Raspberry Pi, which talks directly to the CNC.
  • The CNCjs interface runs in any web browser that has access to the same network.

So your latter ask is basically satisfied by CNCjs: your workstation can access CNCjs through a browser, upload G-code to it, tell it to run the G-code, move the machine around, or anything else a G-code sender on the Pi could ask the Pi to do.

1 Like

@Moded1952 got it right. Thanks!

To expand on the Carbide Create limitations — the 3D stuff requires either:

  • getting Pro — this is best suited to decorative work though
  • a judicious use of V carving and contour toolpaths w/ V endmills if the angle match up w/ a V endmill which you have

I’ve been trying to do various sorts of joinery, and I’ve got a couple of ideas for joints which are simply impossible to reasonably represent in CC (and one which I have yet to find a CAD/CAM tool which will allow me to design and make G-Code for — the math is hard).

MeshCAM requires a file from a 3D CAD program.

Did boxes such as the Valentine’s Day box at:

and

Need to revisit that technique, but stymied by the programming of it (really in love w/ Blockly and so forth) — maybe if I could work up some way to do Literate Programming using visual designs — anyone else a fan of Herman Hesse’s The Glass Bead Game?

1 Like

So Carbide Create is limited to 2D. I can make what I understand are 2 1/2 D designs, but not true 3D.

I take it that’s just a software limit? In other words, if I use Blender and BlenderCAM or pyCAM or various other CAM packages (and I’ve figured I need to run my CAM software on my iMac), then I won’t have the same limits?

I thought so, but I asked, just in case there was something else I could do. While I’ve used VNC, X, and ssh heavily over the years to access remote systems, my experience is that the GUI remote connections can have a lag that irritates me. (Even now, with multiple Raspberry Pis in the house and barn, I often use ssh or VNC to work on a computer across the room - easier than going back and forth sometimes!)

As of now, I’m thinking this will be my setup:

Design: Blender, both on the Mac (in the house) and Linux (in the barn).

CAM: Not sure yet, considering BlenderCAM, have to look into pyCAM, or others, but whatever it is, it will likely run on my Mac and I’ll often be using it via VNC from my Linux workstation. (Until I upgrade to a new Mac in the study and can move the current one to the workshop.)

GCode Sending: No matter what, I’ll need a Pi in my ceiling box, with a USB cable dropping down to the Shapeoko. I can use CNCjs or UGS on the Pi. If USB/IP works fine, I could even use UGS or something else on the Linux workstation and connect to the USB line remotely. I can connect the Pi to the main LAN or, if latency is an issue with something like USP/IP, I can use an ethernet connection directly from the workstation to the Pi.

In all honesty, I’m hoping USB/IP works well and I can just run everything on the Mac or workstation and the Pi basically serves as a relay. I have a 3D printer that doesn’t need USB control, but I want to be able to use that and I have a few other devices that will likely be connected to the Pi. In this case, with just the Shapeoko, you can see how much discussion it’s taken to get to this point. I admit a lot of that is because of my lack of experience, but I don’t want to go through this with other devices as well - if it can be avoided.

I’m hoping to test USB/IP today on several devices. I’m thinking of testing it on a USB drive and a game controller to see how well it works. I’ll report back what I find.

Carbide Create is a 2.5D CAD/CAM app:

https://carbide3d.com/carbidecreate/

which has an optional Pro mode which adds 3D modeling and toolpaths and an engraving toolpath:

https://carbide3d.com/carbidecreate/pro

Not sure why you’d need USB/IP — just connect the RPi to the machine and run Carbide Motion on it, then connect to the RPi over the network connection and control it using VNC or something similar.

But that’s just CC, right? Other CAM apps will be able to handle true 3D from something like an STL file, right?

3 reasons:

  1. The lag I often see on VNC drives me crazy. True, it’s functional and I can do what I need, but often there’s a lag. (I’m also looking at forwarding X, as I’ve done before, and seeing if that goes faster.)

  2. I’m doing this, now, with the Shapeoko. I’m also using a 3D printer and there are a few other devices that, in the long run, will be hooked up. If I can use USB/IP, then, after upgrade time, I can run everything on the Mac I’ll have in the shop, eliminating the issue of VNC or another remote desktop.

  3. It’s hard to find support on all 3 OSes (Windows, Mac, Linux). some support Linux and not Mac, but those are few. Most support Mac and not Linux. So if I can use USB/IP, I can run everything on the Mac and not have to worry about finding Linux supported software for every tool I hook up to the Pi.

Remember, my original design was to run USB-over-ethernet-cable to the ceiling connector, but I found out that won’t work since I used fiber for that line. So, in the long run, if the Pi can basically act as a USB hub and I can connect to everything on it with USB/IP from my Mac, that lets me go with my original plans.

(Note: USB/IP, in the original form, is for Windows and Linux, but there are a number of people who have extended this to support Mac and add features to it.)

I think you’ve got the point, yes.

However I’d think of Carbide Create as a 2D CAM package more than 2.5D, as it’s mostly just able to repeat 2D toolpaths at different depths. You’re still limited to 2D features.

If you look at a more complete package like Fusion 360, it’s able to make much better use of 2.5D toolpaths: it will automatically generate different toolpaths at different depths.

Each depth is still a 2D toolpath but since you have a different toolpath at each level, you can generate more flexible geometry. Think of topological contour lines. They’re all 2D but they’re at different heights. Combine them and you can model terrain.

Yes, it’s a limitation of Carbide Create, not the machine.

Usually, yes. If you were remoting to a Windows machine, I’d strongly recommend Parsec and if you were remoting to a Linux machine I’d recommend Xpra. Both of those options are basically zero perceptible lag for me.

Apparently Parsec has a Mac preview so maybe worth a look.

If you’re mainly making cosmetic objects with no tolerances, fits or assembly, like statutes or something, that might be fine. If you’re going to do anything mechanical though, I’d strongly recommend you move both your CAD and CAM to Fusion 360.

Blender is a fantastic tool for artists but it’s neither intended nor suited for mechanical design or manufacturing.

If you’re not aware of the difference, the short of it is: Blender is a tool for making your artistic vision come to life. It’s about allowing you to make things that look the way you want. A CAD package is a tool for designing mechanical objects that meet the design requirements.

If you need a part that has even a single important measurement associated with it (e.g. the distance between two holes or the size of a PCB that will be held inside your object), you probably want CAD, not Blender.

I’d still recommend sticking the Pi on the Shapeoko rather than relying on a long USB cable. The shorter, the less prone to interference and therefore the better.

+1. I think at this point USB/IP might just be lodged in your head @Tango. With cncjs or Carbide Create + VNC, you should be set already.

And actually, on further thought, I see a problem here that I assumed was clear but maybe wasn’t: You need an interface next to the Shapeoko.

It’s essential to be able to interact with the machine controller while you’re standing at the machine. It’s not good enough to have the computer running the controller running on the other side of the room, unless you have some way of interacting with it while you’re standing next to the Shapeoko.

This is essential for tons of reasons:

  • You want to be actively supervising the machine from the very instant it starts a job. If the spindle doesn’t start or the machine starts plunging where it shouldn’t, you need to be able to react quickly and shut it down.

  • You want to be able to move the machine manually while you move stuff around or use your eyes. For example for touching off stock or aligning stuff.

  • So you can play with feed override while you watch the cut.

There are more but I can’t think of more off the top of my head.

For much the same reasons, you want the machine controlling the Shapeoko to be directly connected to it with a USB cable.

I’d really very strongly recommend that for your setup, you get a screen of some kind for the Raspberry Pi and directly wire it to the Shapeoko with USB. There are cheap touchscreens which work well and are super convenient, or you can use an old monitor (or the cheapest shittiest one you can find).

1 Like

Correct. Carbide Create is a 2.5D CAD/CAM app, there are other 2.5D CAD/CAM apps (Vectric Cut2D comes to mind), and there are 3D CAD tools which will make 3D STL files, and 3D CAM applications such as MeshCAM, PyCAM, &c. which will make G-Code for 3D.

I’m thinking about other points you’ve made, but just this one for now - since I have to get out and do a few things right now.

What about if I’m using CNCjs on the Pi and using my browser, in a tablet, to interact with it?

I have set the workstation up so I can see the Shapeoko. While I’m not right there, I can observe it easily from the workstation. I’d more likely be using a tablet with CNCjs at this point, though.

While I can’t speak to CNCjs, I will note that CM4 had a hybrid architecture where there was a back-end running and connected to the machine over USB, while the graphical front-end connected to that using network communication — it was possible to connect to the back-end using any web browser which could access the machine’s IP on that port.

Given that it’s possible to send a packet to Europe and get a reply faster than a computer can change the colour of a pixel so that a person can see that change, it shouldn’t be an issue.

That should work just fine, though I’d be concerned about wifi disconnects.

One reason I might sound overly crazy about the connection method is that a lot of folks on this forum have had issues with things like EMI causing disconnects. The more distant your control mechanism is from that USB cable and the longer that cable is, the more prone you are to problems like that.

It should be close enough that you can have one hand inside the Shapeoko and the other hand on its controls. You need this for things like touching off with a dowel pin in the spindle (slowly move the Shapeoko closer to your stock and rotate the pin by hand, stop when you start to feel friction).

1 Like

Could you go more into this? Just to be sure, you mean Carbide Motion 4, right?

I checked the downloads and that has CM5 at this point. Is this feature only for 4 and was dropped?

So if I have that on the Pi, then I can control it from a browser just like with CNCjs is supposed to work?

The feature was specific to v4.

For the Raspberry Pi running CM5 you would have to control the Pi using VNC or some similar remote control software.

Thanks for clarifying!

While I’m still not sure and have to finish assembling my system, I suspect I’ll probably want to go with CNCjs. One big reason is that I can control it from a tablet easily that way.

I’m also setting up my 3D printer, too. I like to ask these questions before I get to the stage where I need the answers so I don’t get things put together then wait until I can find out about the next stage. I try to keep ahead of where I am. Sometimes that also helps me make decisions on how to set things up or changes to make along the way.

1 Like

While there are technical means to give yourself distance from an operating Shapeoko, they are somewhat unimportant.

This is not a 3D printer, and it is not safe to leave it to do its work unattended. You need to be in the same room when it is running, so having your interface next to the machine is probably the best and easiest solution.

1 Like