I have been cheating on Marlin and GRBL

Okay I realize as one of the captains of this ship I should have tried linuxCNC earlier. Just to have a better working knowledge of what is out there. Dabbling in other systems, I am learning a ton. I can tell you right now they all have things they do very well, but none are clearly better than the rest.

For all you that know Marlin, here is a drool worthy picture for you.

(from section 7 here)

With the board I am using (mesa 7i96) all the settings/pins are easily set (and pretty clearly labeled), and or changed. You run through a config menu with dropdowns, or direct input and you can set your pins, feedrates, acceleration, jerk, axis, step rate (with a built in calculator), PIDs, voltages, stepper direction and so many other things. Save and you are good to go. In comparison, Marlin is a nightmare on this front. There are multiple files you need to dig through, a pins file and two config files that you need to edit, not to mention needing to find and read board schematics to figure out what each pin actually is). GRBL is right in between the two (or at least Mr. Dring’s GRBL32), in terms of ease.

GRBL32’s built in web interface and it’s settings.

(from here)

Now There is also RepRap Firmware, the Duets Firmware of choice. It is fairly easy to edit.

(from here)

The only issue I have had with this is I have not used it enough to edit the boards to do something non-standard (change a pin if you pop a component, etc). It might be easy but I would need to use it a bit more. This has a fantastic front end, or wifi interface as well but the hardware is a bit steep for me to casually experiment with.

I know most of you never want to have to use these screens or settings. You just want a board that is easy to plug in and works out of the box and is inexpensive. That is Marlin.

For the casual user, here is what you are missing using marlin…integrated front ends. You need to run something like octoprint to get what the others have built in.

If you do get adventurous, trying out another system is pretty fun. Now what we need is a board that can work with all these systems so we can freely firmware hop! If I was a board manufacturer, this is exactly what I would focus on. (how hard is it to make a board?)


P.S. For non-3D printing uses, the options are pretty wide open and the settings are far less complicated. So if you ever did want to try different firmware, go for it!

I really like RepRapFirmware, and am using it on my Primo, as well as a couple of printers. (Not on the Repeat, because I don’t have the 6th driver for it.) I am sorely tempted to see if I can get RepRapFirmware running on the SKR Pro though. There is a port of it, and with the ESP01S it is supposed to run the DWC as well. This makes for a pretty good budget alternative.

I have bought 3 genuine Duet wifi boards (One died though) and one Ali Express clone. The clone is OK, but you can tell it’s cheaper made than the genuine. I’m considering installing it on my LR2, because the wifi interface is so much better.

1 Like

grblHAL with ioSender(windows only) is also nice for config parameters.
Don’t know other soft yet but ioSender seems to be awesome, but ioSender doesn’t allow to deal with pins affectation like you posted in your screenshot !

Now we were able to make grblHAL to work for SKR PRO v1.2 i need to find time to explore it, quite complicated as the birth of my second daughter should arrive in ~15/20 days and we have tons of thing to prepare before.

If interrested testing grblHAL for SKR PRO v1.2 here is a working env section of plateformio.ini :

# Untested and might not boot.  Please report issues at:
# https://github.com/grblHAL/STM32F4xx/issues
board = genericSTM32F407VGT6
#board_build.ldscript = STM32F407VGTX_FLASH.ld
board_build.ldscript = STM32F407VGTX_BL32K_FLASH.ld
build_flags = ${common.build_flags}
  # See Inc/my_machine.h for options
  -D HSE_VALUE=8000000

  # Motor ganging/reversed

  # Dual Axis End Stop

lib_deps = ${common.lib_deps}
lib_extra_dirs = ${common.lib_extra_dirs}
# Upload is not supported for this board since BOOT0 is tied to GND.
# With the default boot loader, you must deploy new firmware by copying
# .pio/build/<env name>/firmware.bin (produced by `pio run`) to the SD card.

Make sure to have -D OVERRIDE_MY_MACHINE in the [common] section


My first CNC was a home-built Phlatprinter™ kit that used nema 23 motors and a Dremel with a grinding bit to cut shapes out 1/4" foam that had been drawn in Sketchup. I think that the guy who marketed it moved on to found the OpenBuilds stuff. It was originally intended for use with Mach 3 but I got it working with Linux CNC on a 3-axis parallel port board. Lots of fun playing around and really understanding the configuration options but the interface was clear and easy to understand. I had some Linux background and was used to “everything is a text file” configs, with gui front-ends if someone was dedicated enough to put one together.

I agree that tuning on the fly is way more convenient than having to recompile and flash for configuration changes.


I, too, was cutting my DIY CNC teeth on Phlatprinters and hand-built Build-Your-CNC machines… first “pitched” my needle cutter (“perforator”) to Mark&Trish [Carew] on the Phlatprinter forum in 2012 and had a hand-built BuildYourCNC-inspired machine already cutting planes for my flying buddy and I to fly in my pasture. I also ran LinuxCNC on a dedicated PC with parallel-port 3-axis HobbyCNC kit… and used Sketchup to generate my cutfiles. I had a blast with that old machine…

– David


I’d make a snarky comment, but I’ve decided (just now) that I’m going to give up slut-shaming for lent/new year’s resolution/whatever, and be best! :crazy_face:

I’ve been having fun with Mach4.

Sometimes feel bad about that.

I normally enjoy the snark. As long as it’s in good fun I guess. :grin: