grbl, gcode sender, and control panel?

So I’m looking to make the switch from Marlin to grbl and I have some questions.

Am I understanding correctly that it needs an external gcode sender on a Pi, Laptop, or other computing device? It can’t just execute gcode on an SD card in the LCD screen attached to the Arduino/Ramps, correct?

Using a Pi running cnc.js gives control via a web interface. But then you still need a 3rd device to access that web interface. Is there any other alternative? I don’t have a computer to dedicate to my shop and don’t really want to do that. I’d rather something analogous to the LCD screen/SD card if running Marlin. Is there an easy option for a touch screen or a non-touch LCD screen to use with a mouse and keyboard or other type of control?

What is it you hope to get from grbl that Marlin doesn’t do? Not challenging your choice, just wondering.

Mostly I just want to learn it. But I’m also hoping to get better results with the laser.

1 Like

Grbl’s laser mode is quite useful, sort of like a linear advance but for laser power.


Try bcnc, I use it on the pi, great visualizer and even some cam generator plugins. Easy to switch laser mode on and off as well.

Looking briefly at bcnc, it appears to have a Linux GUI that can be used with a monitor and keyboard/mouse attached to the Pi rather than just a web GUI that needs another computer to access. Is that correct? If so, that may be exactly what I want.


Correct. There’s also UGS which has a lighter resource requirement.

Here’s the image I used to use before, comes preloaded with bcnc/chilipeppr/ugs/cncjs, as well as firmware updater, grbl firmware updater, ssh enabled, and vnc servers already setup.

1 Like

This idea has stalled as I just don’t want to take a monitor, keyboard, and mouse out to my shop. But my wife recently stopped using a Dell Venue 8 Pro windows tablet. Being pretty small and having a touch screen, I thought it may work to run a gcode sender on (I’ve already installed both bcnc and ugcs).

But I was overlooking one small problem. It only has one USB port, it is micro USB, and that is used for charging it. No other USB ports.

What options might I have to connect the tablet to the control board via USB and also power the tablet through the same USB port? I’m thinking that making a split cable would be the best bet. Or does the Arduino Mega have active 5v in the USB B connector when powered through the Ramps 12v? I’ve been poking on it with my multimeter and it doesn’t seem to.

I wouldn’t try ‘sharing’ the power wires on a USB cable (by making a splitter)…

Your best bet in this scenario may be a powered USB hub. Plug the hub into the laptop, and the control board into the hub. You would need to ensure that the hub is capable of providing charging power to the host computer (I don’t think all of them do/can).

I like GRBL I use a small pendant on my controller.
I use this board:
KEYESTUDIO CNC Kit /V0.9A Shield +4988 Driver

And one of these for the sender with a SD card.

Offline Controller, CNC Router Offline Control Module Offline Working Remote Hand GRBL Controller LCD Screen for CNC Laser Engraving Milling Machine Wood Router

Works great.

1 Like

I don’t mean share the power. I mean split the tablet’s USB cable out to a dedicated “power” leg to connect to power and a dedicated “data” leg to connect to the Arduino. No power shared between them. The Ramps would get 12v power and provide power to the Arduino as usual. But a USB hub is a great idea too.

That looks pretty interesting. Do you know if it works with a Ramps?

CNC.js can be installed in windows as a standalone app, or in Linux. It is a great match for grbl. But noe that you have a tablet, buying a pi and putting v1pi on it would be the best, imho. Access the interface over wifi, you’ve got a great interface that is completely wireless, for less than $50.

Also, the kind of cable that lets you attach accessories to a micro usb is a “USB OTG” cable. OTG stands for on the go, I think.

Assuming you’re using a Mega2560, I don’t think that would work. The ATmega16U2 connected to/providing the USB port requires UVCC be provided with a min of 4V - this pin is connected to the Vcc pin (pin 1) on the USB connector…

Not all USB ports on arduinos have this requirement, but the ones with the 16U2 on them seem to…

The small controller mentioned by @ezcorer seems like a better solutions in any case.

Good luck!

Doh! I’ve been so focused on NOT having to use 2 compute devices (Pi + computer to access the Pi) that I forgot the reason WHY I was avoiding that. You’re right, the tablet negates my reasons. I’ve actually got a spare Pi and it still may take a while to implement, but I will give your v1pi a shot.


For anyone looking at trying this. Make sure your tablet supports OTG. I had one that the micro-usb was for power only. It didn’t fry anything, but I felt pretty dumb after fighting hardware for an hour on something that would never work.

Might not fry anything, but I could certainly see something getting shattered… :angry:

i dont know if this board will accept ramps, if you use (i think its called GRBL mega) then you should be able to connect the sender/pendant.