Sending Gcode Wirelessly

Yeah… I thought the same; it’s particularly problematic because I’ve in a multi-unit building. So while you can go yell at your wife; I can’t go yell at my neighbor’s wife.

Then again, I’m sure you’ve had jobs fail initially because of running into the usb hub, your laptop falling, or usb noise/emi issues… so it’s not exactly a perfect wired solution either.

I was more curious from the standpoint of how plug and play would it be with the stock controller just to have a test. But like I said a micro PC or tablet is the route I’ll probably go.

I have used some HC-05 a few years back to add wifi support to arduino projects, it was straightforward but still required to have the arduino code send a few specific custom commands to configure the module. Therefore you would probably need not only to do a tricky soldering job to access the shapeoko controller ATmega’s UART signals, but also to mess with the GRBL code. It can be done, but this is definitely not going to be plug and play.


Thanks @Julien, about what I assumed. I’ve gone with this intel compute stick for $100

HOWEVER, for those using raspberry pi and a little more patience then me, I came across this in my googling.

Using Windows 10 Lite/ARM on a Raspberry Pi.


If you’re willing to switch controllers, xpro v4 allows wireless connection - using auxiliary Bluetooth module.

Never used mine wirelessly since I trust cable connection much more but it’s an option. Not sure if it would work with CM though.

Carbide Motion checks for a Carbide Motion Machine Controller, so won’t work if one swaps out the controller.

OK, so I didn’t want to let @Julien to have all of the fun chasing rabbits down holes, but I didn’t think this would be much of one, so…I was just running my SO3 via bluetooth via one of those cheap HC-06 modules that I use all the time with my students.
It was actually pretty simple.
Quick version (need to sleep):
I configured the module, using an Arduino Uno and a software serial sketch, to use a baudrate of 115200. I had also previously changed the name of the module, so it would be easily recognizable when connecting. This configuration could be done with a USB-TTL Serial adapter using something like PuTTY.
The commands I sent:

Next I connected it to the SO3. Just to the left of the stepper connections are breakout pins for the serial connections. Top to bottom the pins are (GND, GND, 5V, RX, TX, Reset). They are labeled “Serial_Programmer” or something on my v2.2 board. I wired the GND and 5V pins on the Carbide board to the corresponding pins on the HC-06. The Rx goes to Tx and vice versa.

I made sure my device (I used a Win10 Tablet and my Android phone) was paired with the SO3XL bluetooth device. The pairing code, by default, is 1234 (that can be changed via AT commands, but experience tells me that I will forget it if I change it). On my Windows Tablet (a $59 Acer from Walmart, years ago), I found that the device adds two serial ports. I opened CNCjs (this would not work in Motion as @WillAdams mentioned) , guessed the first of the two new ports, and connected! You know the connection to the HC-06 happens when the blinking LED goes solid. One weird thing, I had to click reset in CNCjs before the response from the board came through. My guess is that the HC-06 has no way of resetting the board on connection. After that, in controlled as normal. I ran a brief, no cut job without issue.
Curious, I checked the Google Play store, and sure enough there are some grbl controller apps. I tried one, it connected and jogged and would allow loading of gcode from my phone, but I didn’t really like the layout. Still cool. I may look for another to try.

Anyway, I’ll probably never use my SO3 over bluetooth. That Acer tablet is always connected and always plugged in. I do have a little drawing machine I built that will probably get this treatment.


There are two listed at: — any extra commentary, or additional apps you might find to add would be welcome.

Good to see I’m not the only one susceptible to be triggered :slight_smile:
I probably wouldn’t like my G-code sent over a wireless connection. What would be nice is the ability to store/load G-code locally on the controller, to make it virtually immune to EMC during a job (not that I ever have EMC disconnects myself). That would require different electronics with e.g. an SD card reader, like 3D printers do, let’s put that on the wishlist for Shapeoko4 :slight_smile:

NICELY DONE, I had a Nano lying around from an old project and I stopped at “man I really don’t want to remember how to code a sketch to do this”. Glad that I helped get the creative juices flowing!

No need. I’ll post it here later, but it was basically just the built-in software serial example.
EDIT: Here it is (I included some “helper” text.

#include <SoftwareSerial.h>

SoftwareSerial grblBT(10, 11); // RX, TX

void setup() 
  Serial.println("Enter your AT commands.  Make sure there is \"No Line Ending\"");
  Serial.println("AT (will should respond with OK)");
  Serial.println("AT+NAMEXYZ (changes name of device to 'XYZ')");
  Serial.println("AT+BAUD8 (changes baud rate to 115200)...DO THIS LAST)");
  Serial.println("---Sketch will need to be re-uploaded with changed baudrate (115200)");


void loop()


1 Like

another potential option for those considering alternatives is an Intel NUC±+mini+%2f+booksize-_-N82E16856102203&gclid=Cj0KCQiAvJXxBRCeARIsAMSkAprxpJ5bFJzHDXZZhvfmCuveFJNFVgGomwLBt_sfxC3WgFfZtugteLkaAmzjEALw_wcB&gclsrc=aw.ds

1 Like

Love Nucs! have 3 at work for zoom rooms and another in my basement on my workbench for v-carve (the sweet i7 skull candy one with the skull on it).

a) they do have fans.
b) they still need a monitor, keyboard, and mouse.

once it was configured, you can Remote into it and there is no need for the monitor keyboard and mouse. (similar to the Rasp Pi solution mentioned)


exactly what I mentioned earlier.

the Intel NUC are dialed, but a bit costly for such a basic task.
I stumbled across the MSI Cubi line which is a similar size, cheaper, and they have fanless options (big ol heatsink). desktop remote in from and you’re golden.


I just ordered a Beelink BT3 Pro II and it should be in today or tomorrow. It was $129 on eBay and I have an old touchscreen monitor to use with it so I am hoping it will make for a very nice compact setup. I did not want to have my good laptop tied up while jobs are running.

It is running Win10 so RD should work. I will let you know. got this installed and running today. Windows autologon is enabled, Carbide Motion is set to boot on startup and I can either use RDP or IPaddress:8080 to access the device or or CM’s WebUI and I’ve set up a network location where I can drop .nc files. Finally, look at the awesome form factor! (yes, the V-wheels clear with it flush mounted). I have a handy USB-SS monitor If I absolutely need to get into the local machine itself. Not bad for $100.

One SMALL request to the development team for CM… similar to how torrenting programs can look for a .torrent file in a folder do you think its a good idea to create a feature that if CM is open and an .nc file is dropped into a specific directory that it auto loads into CM if there is no active job running?


nc files are not the only Gcode file extensions.

1 Like

Very nice and tiny! Makes me wish I would have gone this route. But hopefully the small box (albeit huge compared to the StickPC!) I ordered will still work out nicely.

Today I got my monitor installed and Beelink tiny-box PC setup with Carbide motion. I am very happy with the setup and how it runs. This is an old touch screen monitor that I used in live streaming years ago and my plan was to use the touch screen functionality with Carbide Motion. The touchscreen only had problems when running CM for some crazy reason but when I used a keyboard and mouse, zero issues.

I am still deciding how I want to do my power cord management. But this will do for now. I have a wireless keyboard/mouse combo that will be here tomorrow and replace the wired keyboard in the photos. Some other folks shared their tiny form factor setups so I wanted to share this one.