Controllers and grbl questions

I searched and skimmed a bit and I’m sure these have been asked before. If so if someone can post a link I’ll go there and do some more reading and leave everyone alone :slight_smile:

I’ve been using a cnc at my local makespace for a while now. I use vcarve to do the design work and generate the gcode and then feed it to USBCNC controller from planetCnC to do the actual work. Everything runs through the attached computer that actually AFAIK gives the line by line instruction to the controller, and I can pause it stop it etc by the keyboard as long as the computer is attached.

That’s what I’m used to, and I know enough to make the machine (generally) work.

I’m in the physical assembly stage of the Primo now and was looking at the shop for controllers etc and saw that they are running on grbl, which I’m completely unfamiliar with. And skimming topics here it looks like the designs are loaded and run by SD card like a 3d printer and this is putting me into unfamiliar territory.

So ?'s assuming I use the jackpot or other controller that V1 sells.

Is it possible to run the interface like I’m used to in order to do some simple controls, or is it like a 3d printer where you hit go and hope for the best? (I’m not a 3d printer pro either obviously). The shop machine has made some very expensive scrap wood for me and I don’t want to repeat that particular learning process.

Is it possible to connect basically a joystick to do gross setup movements, or is it only possible to use the touchscreen?

Can I take existing gcode and load it onto this controller and get the same results or do I need to re-do all my design work to make this work?

If I can load existing files, will I get the same results or will things be different with the different controllers?

I do some fairly deep cuts but I’ve learned to run the shop machine lightly with lots of passes or it misses steps ( and makes scrap wood). I’m guessing following the same strategy here will be needed but I look forward to being able to run in my garage instead of 30 minutes each way to the shop. But I am planning on using the shop computer to generate the gcode because vcarve is not at all budget friendly.

Hey Nathan, as long as the controller uses the same gcode you can use it. Otherwise you’d need to export the files again using the postprocessor for your chosen board.
The jackpot board is really easy to set up, I bought one for my older CNC that I gutted for the LowRider and it took me around 20 minutes to hook up the motors and get it going, it’s really nearly idiot proof (now that Ryan has removed the “Home Z” button). :stuck_out_tongue:
Most of us here use Estlcam to generate toolpaths, it’s pretty easy to learn and now out in version 12. It costs like 50$ and can be tested for free.
If you want to use a computer, you can also use Estlcam to control your CNC but need a very specific board that is pretty rare, at least over in America. We have three forum users who are using Estlcam. It needs a USB cable though.

P.S.: Ask whatever questions you like, over here you just look around and then rather start your own topic than to revive one. It doesn’t matter whether this has been asked 50 times, we are all really helpful and really like to write tons and tons so we think we matter. :smiley:


I have some (but not all) of the answers for you. In the V1 store they are currently selling two boards, the Jackpot and the SKR Pro. The Jackpot runs FluidNC which is an implementation of GRBL. The SKR Pro runs Marlin which is the firmware on a majority of 3D printers.

If I can load existing files, will I get the same results or will things be different with the different controllers?

You need to generate new g-code for a specific firmware (Marlin or GRBL). The piece of the CAM (VCarve) that makes that translation is called a postprocessor. VCarve has a postprocessor for GRBL, and you will find a custom Marlin one referenced on this page. In VCarve, you will have to select the appropriate postprocessor for your control board and re-generate the g-code for that controller.

looks like the designs are loaded and run by SD card

There are multiple methods for delivering g-code to each of these two boards. On the Jackpot (which I’m not using at the moment), it appears that the preferred method is to send the files wirelessly to the SD card and initiate the job from the wireless interface. You can pause the job from the wireless interface even though you are running the job from the SD card.

On the SKR Pro/Marlin side, files on the SD card can be run from the display in TFT mode, run from the display in Marlin mode, or delivered to the card over the USB cable using g-code sender software. The V1 documented g-code sender is Repetier-Host. To communicate wirelessly with the SKR Pro requires additional hardware. Note that pausing with Marlin is problematic. Pauses go into the queue like other commands and can take a while to move to the front of the queue. There is an emergency stop feature that can be enabled in Marlin, but the job cannot be resumed from this kind of stop. For either board, it is good to have a way of killing all power to your machine (hardware emergency stop of some sort).

Is it possible to connect basically a joystick to do gross setup movements, or is it only possible to use the touchscreen?

On the SKR Pro/Marline solution, there is an interface that can be used for hooking up a physical joystick. You will find this very long topic on the how to implement the physical joystick here. Marlin also allows multiple serial inputs. People have built pendants for their machines using this interface. This design inspired me to build my own pendant.

Personally, only a small percent of my jobs requires a high degree of squareness, so most of the time I physically/manually position my router (X, Y, and Z) before I turn on the electronics. The position when the control board is booted becomes the origin for the job. Unlike a 3D printer, most CNC jobs are defined relative to the stock, not the working area.

Perfect, thanks you 2. I’ve been on the internet since the day after it was invented and have seen all levels of responses to repeated questions. I used to be very active on some jeep/offroad specific boards and we would see the same questions asked 50 times a day, ended up with sticky after sticky at the top saying READ THIS IF YOU etc and that wouldn’t even slow it down. That would be just copy/paste of the link, which I think is fine. Or if someone wanted to be mean they would refer them to pirate4x4, where the level of abuse would make a grown biker cry. And that was for those of us that actually knew what we were doing. :laugh:

I’ve seen the post-processor drop down on vcarve, but I didn’t know what it was for so I never touched it. I’ll take a look at it next time I’m down there.

I’ll take a look at the estlcam trial and see if it has the functions I need. Most of what I do is bookmatched and and alignment is really needed. And of course 2 sided cuts so I need to be able to set origin pretty specifically. It’s been a steep learning curve so far but I don’t screw up nearly as often as I used to.

So next weekend i plan on reflashing fluidnc without wireless and try Ugs UGS i have wanted a joystick since i made my mpcnc. I wanted to try this weekend but just did not happen. I uae a tinybee (esp32 like ryans jackpot.).

That is what i want no wifi just a win 11 tablet and usb ise UGS all the time

Pronterface (PrintRun) can also do the PC-to-CNC using a USB cable.

It has a similar interface to the WEBui that is available on the Jackpot ESP32.


Ug, just downloaded estlcam and my brain hurts. None of my files look like they’ll move over and I’ll have to start from scratch on everything. It won’t open gcode, only “cnc files” is listed as an acceptable format. I’m guessing it’s because the gcode I have isn’t the right post, so I’ll generate a grbl test file the next time I’m at the shop. And I’ll see if I can export a design in some way it will open it. I have so many hours into tweaking toolpaths the thought of starting over just isn’t a happy one.

Whether it opens your files does not matter when you don‘t want to use it as a controller. You need to check whether your controller supports your files. For Estlcam, you could try to rename the gcode files to nc. But then again, you need to use Estlcam as your controller as well (which most people here don‘t do).

I misunderstood your situation with my original answer. I’m now guessing that you don’t have access (i.e. have not purchased) VCarve for your home setup? To reuse your files, you will need to have VCarve. I don’t know of a path where you can take even the “right” g-code and go back to the CNC file.

A g-code file is a list of move commands. It doesn’t know anything about the width of your bit or any other concept you used to author the file. You can open g-code files with any text editor (notepad for example) and look at it. It will be mostly G0, G1, G2, and G3 commands. Different firmware has slightly different g-code, but it will be very similar. The reference for the Marlin’s g-code can be found here, and GRBL 1.1 reference can be found here. EstlCam will open g-code files (when named with a .nc extension), but it will just be simulating the g-code or acting as a g-code sender.

You can take your VCarve files, and, at the makerspace, generate g-code that will run on your home machine, but you will always have to return to VCarve to edit your projects.

1 Like

That’s correct. I’m mid-build on the cnc now, all of my cnc time has been at the makerspace on the x-carve. Over the last year I’m the only person that uses it 95% of the time. 4% is dave who does the open houses and demonstrates it every now and then. He has a shapeoko at home and we’re pretty on par with each other at this point in how to make them work.

1% is people who want to see how it works and decide the best way is to get into the software and just randomly click buttons until it tries to tear itself apart, and then leave without telling anyone. What I do know is basically self-taught as no one really knows how the machine works. So if I’m doing things wrong, I know who to blame :laugh:

This (assuming the pic attached) is the controller screen I’m used to using. It uses planetcnc as the controller.

My process.

  1. secure the wood to the bed. If no one is around spend a few minutes using profanity to describe the previous users who have turned the bed into a garbled mess of un-levelness. Then a few minutes of telling myself I need my own machine so I can quit dealing with this one.

  2. Home the machine (bottom left) because this machine will miss steps and I’ve found there’s no way to get it re-set without establishing home before every project is started (more profanity in the learning process here).

  3. Jog the machine to match material-wise where I set origin in vcarve. Hit the tan x/y (5th button up) to set the origin in the controller. Throw in some more profanity because I’m an ex-cop and when I’m alone I let myself talk like one again (daylight I’m a real estate broker and can’t talk like that).

  4. Set touch probe in place, hit the blue Z (3rd up) and let it measure to set surface position.

  5. Pull the probe, put in my earbuds and start it. Then I watch a movie while I babysit the machine. It really likes to make it 3 hours into to a 3.5 hour piece and then make scrap wood for me so I’m never far away from the kill switch.

When things go right I can do 2 sided cuts but I also have a pile of failure to look at from the learning process.

The green x/y just sends the tool back to it’s set origin. All the P1 and other green buttons I’ve not really explored. I’ve been sticking to what works.

I can stop/pause, re-home it, and then send the tool to and restart the cut at any of the gcode lines if things start going off the rails. Since it tends to miss steps unless it’s being used very gently that has come in handy a lot.

100% of my cnc experience is on this machine, it’s literally all I know.

I know I’m using very basic functions but so far that’s all I really need. Doing real ‘carving’ would be nice eventually but I’m not there yet. I’m just hoping for budget friendly similarity I guess. My oldest is going to college next year and my youngest is only a couple years behind.

For the DIY Primo, there are many different pathways to control the machine. You might want to take at the V1 Software Workflow document, and the graphic at the top of this topic.

Your steps 1 through 5 will largely be the same for your Primo. You could purchase VCarve, but, at $700, it is around the cost of your Primo build. Most people look for cheap and free CAM solutions. EstlCam is the most popular, with Fusion 360 coming in a distant second.

I wouldn’t recommend it, but it might be possible to use the Planet CNC hardware and/or software solutions with your Primo. It was difficult to decipher their site and products. I would recommend taking the plunge and learning a new g-code sending solution that has been tested with the control board you select.

Actually it will use files with the gcode extension, that is a setting in the program shown here. (fourth image).


It creates files with the gcode extension to use with other programs, Estlcam itself reads nc files.

I’ve been watching utube vids and reading faqs today. I’m waiting for the mailman to deliver my steppers and a few other bits so I can move on and finish the build. I think I’ve got everything except the control board and tool head, which I haven’t decided on yet either. I’m holding off on it until I get things moving on their own.

I started printing parts about a year ago using the MS printers, decided they weren’t giving me good results so I bought one. Then re-did the prints with a nice 2 tone color pallet. Then used up some of the colors doing other stuff so now I’m going to have all the colors :laugh:

But I’m looking at 24x30 or 32" actual work space. I’m going to put in some mid rail supports, a cover etc at the end and do some other fun things to the table. But that’s all down the road a bit.

Despite my natural inclination to get things done, I’m keeping myself from rushing. Re-arranging my garage to accommodate the table has been… fun.

I mean… You could always go crazy and setup Mach3 or linuxCNC through a smoothstepper or some other computer based stepper driver. Then you’d have a familiar computer based input method and would be able to setup gamepads and all types of other systems.

But that’s all pretty overkill for most of these machines and would cost as much as the MPCNC itself. :slight_smile:

I, personally, use a marlin based controller and I send the gcode using a raspberry pi running cnc.js. I use the local TFT to make manual movements when setting up my workpiece. I access cnc.js over wifi through my home network. I could put a 7" touch screen on the raspberry pi and have it boot to a GUI with a web page loading the local cnc.js, but I haven’t felt the need to do that.

You will not be able to use the steppers until you get a control board. Stepper motors are not standard motors, so you cannot just apply power to them to get them to move. The stepper driver on the control board alternately energizes a pair of coils to step precisely.

where are you located, states? if so, Ryans controller is very hard to beat for function and Cost.
It will get you in very well around here. Also the new Kobalt router is very hard to be beat for performance and cost as well.


From a little bit of research I was able to do, it looks as if Planet CNC runs grbl. In essence, if you go with the jackpot board, fluidnc is also grbl based, so you “should” be able to run the gcode files produced by v-carve already on the primo once you have it up and running. I use v-carve, and if it were me, I would open up your v-carve project files, and verify what PP it used when saving the gcode files. If grbl-in or grbl-mm, then you should be good. If not, then change the PP to one of those, and resave your gcode files.

I have not used the Webui for fluidnc (currently building an LR3), but from the pics I’ve seen, it should not be that much of a transition from Planet CNC that you have used to the WebUI. All the buttons you have described you use in PlanetCNC should be in the WebUI, but may be labeled a bit differently, which should just be familiarizing yourself to it. If you learned PlanetCNC by yourself, this shouldn’t be too hard to figure out. Not to mention, this place will always be here to help, no judgement!!

I went to the shop today and exported one of my designs as a dfx and also checked the vcarve for post-processors. It doesn’t have grbl installed, but I think that’s an easy fix.

But most importantly I was able to open the dfx file on eastl and actually play with the program and it looks like besides rebuilding the toolpaths it has most of the functions I need. And since I know the depths of every cut like the back of my hand, that’s nothing. Setting origin on the material appears to be a simpler method than I’m using now. And I see it has edge detection and camera integration for setting origin, which is better than what I’m using now since getting the material locked in parallel to the Y looks to not matter. So I’ll be milling some aluminum eventually. I haven’t found yet how to start a design from blank, so far it looks like I have to design elsewhere and then import the drawing. I’m going to watch some more instructional vids on it, I’m probably just not seeing it yet. But as long as the import comes across at 1:1 for what I already have this looks to be much more promising than I first thought, thanks for the recommendation. It looks like this route will work so I’ll be ordering the jackpot controller and sticking with the budget.

Now I just have to teach myself german…

Geared pulleys showed up today, but no belts and no steppers yet