Can I use a Raspberry Pi "standalone" to control my x-carve?

This was the first mention of bCNC I’ve seen so I did a quick Google and found this thread:

Very cool description of bCNC and some stress tests with different gcode senders on the raspberry pi!

I have a working setup with a node based software called cnc.js on a Pi 3. It works very well sans PC and has a really nice web interface. The full writeup I did is for the Shapeoko3 but the same can be done for XCarve:


The setup I use at home has a Pi on Wifi connected to the X-Carve. The Pi only runs the Serial Port Json Server. Then I use Kiri:Moto to generate tool paths and drive the mill directly over Wifi.

Very interested in this setup! Would like to be able to setup a raspberry pi, to allow me to store on the ad card, specific files downloaded from UGS or whatever works, and run the XCarve without a dedicated laptop and Internet connection.
If it’s feasible and reliable…

@JustinBusby… yep, I agree completely. I wanna transfer the g-code file to the pi, shut my pc off and just let the pi drive the X-carve standalone.

1 Like

@AndreJoubert… yea, its gotta be doable. I’ve used the pi for several other things; mostly related to audio and video, so driving the grbl arduino card over a usb serial port should not be a problem. Especially, if a pi can be used as a wifi connection between the PC and the Xcarve, it should certainly be able to drive the arduino grbl on its own.
The one issue I still haven’t figured out though is “does EASEL allow you to save the gcodes to a file?”.
Hopefully that’s not a stupid question. I’m assuming that the g-codes are basically one-line commands sent serially to the grbl program running on the Arduino. Still learning about this stuff.
Meanwhile, I also bought a 25ft active USB extension cable just so I can do more testing with EASEL and my Xcarve.
I’d sure like to hear from someone if they’ve successfully been able to export their g-codes from EASEL. I don’t see anything obvious there that tells me I can do it.
@jozza… very nice setup! What do you use to generate the G-codes? I assume UGS is just the sender correct?

Go to the Machine menu -> Advanced -> Click Generate G-Code. You can then save it.

1 Like

@JeremyJohnstone: Excellent! Didn’t even notice the ‘Advanced’ button down there! Thanks much.
BTW, I just made my (very basic) first cut with X-Carve! This is awesome!
Till I get over the hump of using the gcode-sender with standalone pi, I just set up a webcam in my workshop and watched it carve away from my office using a 25’ active usb cable. Very cool!
Fortunately my office is just on the other side of the wall from work area.


You can save your gcode files, as text files. You can open them with any text editor. Put any notes or comments in ( parenthesis), and you’re good to go.

I have a setup with a raspberry Pi, an old fell monitor and a Bluetooth keyboard/touchpad combo.

I do all my design and tooling simulation on an iMac in my office (fusion 360) and export the files to a samba share on the Pi.

The pi is running raspbian and GRBLController. This setup has been working great for me and I’m loving it. After tweaking I’m accurate to about .2mm.


I am working on obtaining an Xcarve at my machine shop for testing purposes (de-burring, engraving etc etc) and I’m awaiting the green light from the powers that be to purchase the kit… I did cobble together an RPI 3B in order to run it when it does come in. It has a cycle start button to initiate sending code to a GRBL controller. The G-Code file it sends is located on a USB drive attached to the Pi (or a USB hub on the pi). I wired up a feed hold and resume button on the Gshield, but that’s not controlled by the Pi yet. The whole thing runs 3 steppers on my kitchen table at the moment, but it will be easy to run a specific program over and over (my objective). Let me know if this is what you are looking for, maybe I can help. Cheers!


That’s exactly what I need!

Basically the PI boots up and has an entry in crontab that listens for a button press. Upon the button press, it reads a Gcode file on a USB drive and sends out the USB port to the GRBL controller.

I can attempt to make some instructions and files available, or I might consider fabricating a unit. At this point, my enclosure is the simple cardboard box that the LCD TFT came in. Needless to say I’d like to see someone build and test a unit…

Anyone interested?



I can do it, but I’m a noob with the raspberry pi.

Okay, to get the ball rolling:

Start with a starter kit:

Add an LCD if you want, but you don’t need it:

You will need a USB “thumb drive” big enough for your NC code (thats tiny!)

A USB hub if you want to enclose the thing and have the hub prone to debris rather than the PI

A “momentary” switch and two jumper wires.

Let me know when you get that up and running, I’ll work on the instructions.


1 Like

Ok. I’ll order everything tomorrow, but won’t have time until next weekend to play with it.

I run my X-carve on a raspberry pi 2 B+ with a Protoneer CNC hat. Mine has and Arduino and 4 motor drivers on-board (not 3 like this video) and I “clone” 1 of them (with simple jumpers) to the y-axis driver so I can run BOTH y-axis stepper motors

I make the G-code on my desktop and transfer it to the raspberry pi with a 1MB memory stick.

All the software you need is free - even if you want CAD and CAM (G-code creation) software. There is not a thing I cannot make…

the bCNC operating system is E-A-S-Y to run with x-carve!! it feels like I’m cheating! if I can draw it in LibraCad, I can have it CAM’ed in HeeksCad (both on my desktop) and transferred to my Raspberry Pi in minutes!!

I just posted an article that some might find helpful as to options for having a Raspberry Pi control thier CNC. Have a look at it Web Based CNC Design, Slicing, & Control (Raspberry Pi & Chromebook)

A bit of a follow up to cncrockstars interest in a push button pi controller for GRBL.

I currently program on a desktop. The PI acts as an interface to GRBL (X controller).

I like having programmable buttons to run a program, wether it is making parts or homing the machine.

I have GRBLcontroller installed for basic movements and commands. The push button runs the G Code from a dedicated USB stick for containing the G Code.

Any questions/comments: email me at

Basically, I can offer a little support on the hardware and software side, and I can produce the box.

Also, I have this little thing doing some multi-tasking with relays, RS232 and an ADC. I have a panel mount USB/HDMI port so I can interface with normal peripherals. The two push buttons are just the start to what could be on the enclosure. The 7" official PI LCD TFT is cool, but limited due to chopping the whole screen off at the bottom. Better than nothing, especially for $70! Figured I’d throw it in the build. There is a workaround for the small screen, ALT+SPACE opens a menu, then press “M” for move. The window can be moved around so you can see the bottom of the window if need be. Its a hassle, but at the same rate, the convenience of the little LCD TFT with great resolution is worth the money.