I was wondering if people had any advice on newer/better software or systems to interface with the MPCNC or diy table routers in general. I am currently using a mini rambo, connected via USB to a Raspberry Pi running octoprint. I just got a new 10" touchscreen to go with, and am going to mill a custom enclosure for it, then mount it on an arm.
Octoprint does alot of great things, but I do find the UI lacking, especially on smaller screens. I was curious if there was anything better options out there. I want to stick with the RPi and a server like interface as I like the ability to upload programs from my PC, I dont have to deal with SD cards/USB sticks, and I can have a webcam attached for remote monitoring.
To me the Pros of Octopi that I need to maintain in a new system are the ability to run macros (for zeroing, etc) in addition to jogging the machine around.
However what I dont like is that everything is tabbed in Octoprint. The programs are on one tab, the terminal is on another, and jogging on a third. It would be awesome to have all of that in one layout, along with a positional display, which Octoprint lacks.
I know the answer is probably to GTS (google that $h!t), but I value the recommendations of the people here. If the answer is to keep using Octoprint, thats fine too, but I haven’t looked into this side of the machine in years so I might be missing out on something better.
Maybe Octoprint plugin/extensions will help meet your requirements. Already looked into Klipper? Already asked AI ChatGPT - CNC Software Alternatives Discussion? Our AI overlord suggested some options I wasn’t aware of.
Would be neat to offload FluidNc web server load to Raspberry Pi or similar. Raises the build cost, but if you already have Pi that’s non issue.
Is this something that has already been done? I am planning a jackpot upgrade in the future, but for now I’m sticking with what I have while it works for me.
I have klipper running on a lowrider, an mpcnc, and an mp3dp. A second lowrider should be coming online soon and it too will run klipper. I used the V1 theme from the printer for them:
the camera on the mpcnc gave it up for some reason, but it did work for a while. The blue buttons in the center are the custom macros I’ve put in the config to home it where it sits.
This started out as a v4 and recently became a v5. It has printed the mpcnc rework and the first lowrider as a v4 and the second lowrider as a v5.
In estlcam, I had to create a custom post processing profile for klipper to work well with the cncs. It was an issue with G01 vs G1 and IIRC klipper also requires relative G2 and G3 commands, but it works and I’m super happy with it.
If you are already using octoprint, you just need to download kiauh on the rpi and run the install scripts, compile the firmware from that script and then flash the board. Depending on which board you have, you may already be most of the way with a config file since those are just a google search away or someone on this site might have one to get you started. I run skr pro and octopus and turbo boards, so my configs might be helpful to get you started… let me know.
As I understand, klipper is both the cnc host AND the fw for the control board? Could I use this JUST as the host and continue to use marlin on my mini-rambo until such time as I upgrade?
Also, that’s a really wide display…is that running on a PC display? While I am upgrading from like a 5" screen to a 10", I still need to worry about legibility. Are those displays customizable?
At this time I don’t want to abandon marlin as I finally have my new router up and running and it was kind of a pain to configure with my particular end stop and spindle arrangement just how I need it.
Klipper does not work with the btt LCD touch screen and it does not work with marlin. If you want to use marlin, then octoprint is your option.
The shots I shared were screens of the served web page from my laptop where I generate then load the gcode and check progress of prints. For milling I’m next to it and the USB cameras run crowsnest for timelapse rendering. I have a tablet for the mpcnc and a RPI touch screen for the mp3dp for local control.
Ok, thanks for clarifying. I DO want to upgrade at some point, as I know the Rambo isn’t getting the most out of my nema 23s on the new build, but after being out of the game for so long I just want to make some shit for a while, lol.
Once I upgrade the controller itself for stronger drivers, I will pick a whole new ecosystem.
From what I see, it’s either octoprint with more extensions for better experience, or cncjs if I want to stick with marlin for now.
I think you have to flash to GRBL to go to cncjs don’t you? or does it work with Marlin? I’m not well versed on that combination. All the best to you as you sort through it. Keep us updated on what you land on.
I have used OctoScreen on my raspberry pi display for my 3D printer. It is much better aligned with your criteria than loading the regular octoprint UI on a touch screen.
IMHO, you only really need the jog and macro stuff. Maybe a file picker and a start/pause/play buttons on the touch screen. If you are going to be doing anything more complex, you would use rhe webui from a laptop or a phone. You also don’t need a webcam if you are standing in front of it (and you shouldn’t ever leave a CNC).
I honestly miss that in my klipper screen. The octo screen worked great.
Is OctoScreen a plugin for Octoprint, or a different build altogether? (edit: nvm, I looked it up and I see that its an X frontend for Octoprint. Its nice that it bypasses the browser, but it really looks super geared toward 3d printing)
And can I get a positional display, or am I stuck with a macro to call M114?
I tried to install CNCjs last night, and it was apparently beyond my abilities to add it to my current RPI build (I think my OS is too old, I also cant update Octoprint to the latest itself. Whatever I decide on, its probably high time for a fresh build…), so I grabbed your v1pi build and put it on a spare sd. By the time I got it working the way I needed with my particular screen, I didnt have time to really look into the UI, but I can already see some things I like better. Will have more time to evaluate tonight.
Well, this was all a waste. Cncjs looked like it had everything I needed, but it just doesnt play well enough with marlin. Some controls don’t work. Some codes don’t get parsed well over serial, and it wouldn’t display machine coordinates correctly. (For instance any calls to g92 would cause both the work and machine coordinates to show zero, even though only the active coordinate system was updated, confirmed by m114).
It’s back to octoprint for me, at least until I move on from the mini Rambo. Thanks for the help.
Did you enable everything you wanted in Marlin, like workspaces, and recompile and flash? I am not sure if Marlin’s G92 behaves like it should or not otherwise.
Yeah, everything works just the way I want it to in octoprint, workspaces and all. In octoprint I check position for G53 and G54 with a custom control. It works great, but requires me to scroll all the way to the bottom of the control tab and click a button to see the position readout…was hoping to have the information front and center for setup purposes.
Cncjs is really geared toward grbl so it looks like it just doesn’t play well with marlin, even though it does technically work.
So, i tried to update to the latest, and it broke. the update was successful (i think), but when I tried to run CNCjs it was asking me for credentials, even though there were no user accounts defined in .cncrc file. I tried to delete the file all together, then I tried to create a user profile in the file and nothing would let me in. I had to re-flash to your original build to keep testing.
I am pretty sure the dev is super responsive. If the Marlin side is funky I bet he can fix it, I am sure there are far fewer marlin users to poke at it.