Marlin Surface scanning on a Delta 3D printer - help

Hello everyone,

first post here so bare with me if I sound like I don’t know what im talking about :::slight_smile:

I recently bought a delta 3D printer, the Flsun Q5 which has a MKR Robin Nano V1.2 board, 3x TMC2208 and 1x A4988 and runs Marlin 2.0.bugfix. I’ve also added a BLTouch for auto levelling.

I’m planning on modifying the printer to work more as a 3D surface plotter, and topics around here seem to fall close to what I’m trying to achieve. In case you’re wondering why a Delta, its because the buildplate is completely static and there is a good Z range.

Id love to be able to surface map like a CNC, and then plot on that surface.
I tried estl cam for which i was very exited about but Christian told me that Deltas are not compatible with the estl cam controller, used for the mapping.

I cant find any other software that would support all this…

My other option is to try and use the BLTouch to map, but as far as I know marlin wont like a surface that has multiple millimeters and possible centimeters of range (Z axis)

Ive spent a good 50h troubleshooting all sort of things and trying to understand cncs and their software. Let me know if you think I should start from scratch with a cartesian machine or if there is any hope at with my delta!
I hope this is not too off-topic, 3D printing forums are nowhere close to surface mapping knowledge or implementation as cnc ones are.

Any advice, comments or ideas will be appreciated :slight_smile: :slight_smile:

I definitely trust Christian, but I am surprised by this answer. I would not have thought his software would care as long as grbl supported deltas, or he supported talking to a firmware that supported deltas. It seems like Estlcam should just tell it to go to XYZ or probe Z. It should not care if the firmware has to move three motors or one.

In the very first videos I saw of mesh leveling, the developer intentionally racked the bed by 15+ degrees to show it worked. I don’t know if any of the more recent versions have any new limitations, but I don’t think this is an actual limit. The bigger concern I have is being able to define the area to probe for each job. But I still think there is a solution there.

I also remember bcnc having a feature like surface mapping. It worked with grbl at the time. Vanilla grbl will not support deltas (afaik) but a fork might. Or fluidNC might. That might also be the trick to making estlcam work as a surface mapping controller.

1 Like

OpenCNCPilot can also scan your surface… I think… although that was designed to mill pcb’s.

1 Like

Thank you for the prompt answer! Yeah I was also surprised, i mean its so close to working!
On pronterface i can send commands and read results from the printer, with pretty much 0 setup except connecting at a baud-rate of 115200. Seems something that could be implemented rather easily to the existing estlcam software.

My main concern with mesh leveling is that whilst it would be able to adapt to a buildplate at an angle, such as 15° which is mostly flat across its surface, i dont know if it will like a curved “plate”like a bowl for example. And the scanned size too is a bit of a headscratcher
In the meantime i cant get Unified Bed Leveling (UBL) to work so i cant say for sure…

Youd be surprised to know how extremely little support there is on printing on existing/non flat surfaces

Will definetly check grbl and fluidNC!

Itd love to see this topic implemented, even though i know its a very specific case. From the videos I’ve seen on the surface mapping in estl and generally using it a bit, its much simpler to setup and use for this sort of thing.

Again thank you for taking the time to explain these things to me, greatly appreciated :slight_smile: :slight_smile:

Cool thank you for letting me know ill check it out! :slight_smile:

Another option is bCNC, which has built in scanning and leveling, but not sure how easy it would be to get data from (guessing not hard since it’s linux). I use it just for PCB milling, but it can be scaled up. I have seen YT tutorials showing a guy using it to scan and engrave his mouse. It just talks simple GRBL, so will work with any GRBL device AFAIK.

That said, like Jeff I’m also surprised it doesn’t support delta. I wonder how that incompatibility works?

[edit: Oh, and welcome to the forums!]

1 Like

I can’t see any difference between engraving and drawing. If the surface mapping works with pcbs in bcnc, I bet it would work with drawing.

My understanding of how that works is that bCNC first sends the gcode to do the probing, and it saves a map. Then, when running the engraving or plotting gcode, it replaces the XYZ commands with XYZ commands to follow the mesh.

It would def. be worth a shot. I have high confidence it would work on smooth shapes (like the surface of a ball), but could be hard to do on very complex shapes (like a 3D face).

2 Likes

Ill definitely try it! Will need to find grbl for delta but im sure theres something out there!
Thank you :slight_smile:

Thats also the way i expected it to work!

Also possible with 3D printer softwares but a lengthy process that doesnt seem to be streamlined yet, not like estl cam can do it for cartesian machiens at least!

I think that the complexity of the shape has more to do with the grid matrix, a tighter grid matrix could resolve a mesh like a face, and i kinda hope so because the project might just need that :open_mouth:

Will be reading about grbl and all the above tonight, thank you again :slight_smile:

Christian just got back to me saying that deltas cannot be added to estlcam.
Seems ill be looking into other software for sure

Re-reading the post I kind of got lost on this one too. ESTLCAM should Just generate gcode regardless of the machine… Maybe he is saying that grbl doesn’t support delta and ergo esticam either??
Marlin supports G38.2~G38.5. The problem might be that the programs that do this kind of mapping only accept grbl flavor so Marlin won’t work.
I don’t think fluidnc supports deltas either…

Estl can compile gcode for deltas no problem there, tested and all, since the printer board takes care of the movement translation!
Unfortunately for controlling the cnc/printer and surface scanning, estlcam requires its own firmware/controller to be uploaded on the board (akaif but not certain) and the firmware/controller can not deal with delta movement, only cartesian.

seems that grbl 0.9 can be used for deltas: www.instructables. com/Delta-Robot-With-a-Custom-GUI-and-Image-Processing/ (space before .com)
this is like the only reference i’ve found, but it would require a cnc software that doesnt need proprietary firmware to run surface mapping

bs, theres a bunch of open source delta apparently!

Hummm ok got it. The software is making a conversion from cartesian to delta (modified gcode). It’s still 3 axis just with a different orientation and a bunch of joints and arms in the middle… Math should do the trick.
But unfortunatly the programs I know that do that talk to grbl directly assuming the board deals with the kinematics…

It sounds like Christian is saying that Estlcam firmware can’t handle deltas. Maybe Estlcam can’t do surface mapping without interfacing with the Estlcam firmware. I haven’t tried, but I thought it worked with grbl. Still, I believe Christian on this subject. No one would know more about Estlcam :slight_smile:

1 Like

If you cannot find a solution for your problem and are willing to be “Guinea pig” you can try a very alpha version of my firmware µCNC on your machine. I’ve uploaded a branch with the initial version of a kinematics for linear delta machines.
µCNC is compatible with most Grbl programs so that would be kind of out of the way.
It already works for STM32F103 (your boards microcontroller). I guess the only thing missing is a boardmap for your board pinout but I guess I can help you with that too.

EDIT: It’s also possible to fit this on a UNO board but lots of options have to be disabled (like Dinamic step spreading, disable control pins, and other stuff) and must be compiled via makefile.

2 Likes

Thats sick! Yeah I was thinking of giving up to be honest but now I have hope again!
So its a firmware that would work on my microcontroller, work with the delta kinematics, and that would enable communication with Estlcam, correct? So that I can do the surface mapping? :open_mouth:

Sounds like just what I was looking for! I’m willing to use my machine as a guinea pig If you think there’s a chance it will work!

I quickly went over your readme.md, I’m still a firmware novice so Ill probably need some help, but it sounds exciting! :slight_smile: Thank you for taking the time for all this!

Well that depends, from what I read here…no. Not estlcam. but you might get lucky with bCNC or OpenCNCpilot.
estlcam

1 Like

A prelim search for GRBL support of non-cartesian is not looking promising. It seems the CNC focus of GRBL will make it not good for mainstream support on a delta. There may be side projects out there though.

The most promising thing I did find is the other way around… bCNC support for Marlin. From what I can tell it’s not there yet, but there are discussions along those lines.

1 Like

Good to know, will be keeping an eye out! :slight_smile: