I have started playing with the printing ability of the uArm Pro tonight and it looks like there is a custom version of Cura made to work with the uArm and that it only works with uArm Studio running. Is it possible to tie this into other software? I don’t want to have to use my laptop to print. Octoprint was great for managing my Kossel 300 printer.
I have been managing to do laser engraving by sending gcode files at it. Unfortunately, the arm returns a version string starting with @ which confuses every gcode software I have tried, with the one exception of an old copy of pronterface.
Most of the issues come from the printer sending a version string starting with “@” on startup, but I have also had my fair share of programs that wait forever for a ready signal that never gets sent.
In general, the arm uses the Marlin flavor of gcode at 1.1.0-RC12, and chokes horribly on G2 and G3 arc commands (the arm will wander off to the extreme +Y with a Z position lower than its own base).
The only special consideration is that there seems to be a “user mode” setting, which can be set to normal, laser, pen, and 3d printer modes. This mode will save when changed, and the arm boots back into it on powerup, so always remember to set it before printing in case the uarm software changes it.
To set the user mode, use gcode M2400 S#, where # is the user mode. You want “2” for your 3D Printer mode.
This can be manually added to the start of gcode files, or added as a prefix to a slicer or gcode sender.
I have not actually tried any sort of 3d printing with the arm, but laser etching just involves changing that mode to laser, and using a different sort of slicer.
You should be able to pull it off, but make certain to watch over it the first time it prints a new slice / gcode file, and ensure your slicer never uses G2/G3 arcs, or any movement aside from G0 / G1.
For more information on the user mode, see logic at SwiftProForArduino/uArmSwift.cpp at 36ee5e008beb3a546c5aadcb6037df6bcfe61a0a · uArm-Developer/SwiftProForArduino · GitHub, and values at https://github.com/uArm-Developer/SwiftProForArduino/blob/master/Marlin/uArmAPI.h#L38