Marlin Surface scanning on a Delta 3D printer - help

Lol guess I forgot to upload it. But has I said probably would not matter.

You have Robin Nano v1.2 right ???!!
The github repository for your board says that on that place there is a LED (D7) for the TX pin. Unless your board is not v1.2…

My board certainly is the V1.2, but it comes from the 3D printer manufacturer, so there might be some changes…


Actually that’s correct. It was a miss interpretation from my end but it’s easy to make that assumption. The arrow above R20 “kind” of indicates the names are from the the components on the side.

For the matter that is relevant. If it didn’t blink… forget it there is something regarding the implementation of the bootloader I’m unware. I did not find a reliable repository with the original firmware so I’m guessing it’s closed source or something. And without having a board in my hands to run a GDB server through it I’m just going blind.

So if you want to try with another board…I would recommend going with a ATmega2560 and Ramps combo. It is widely available. Is supported my Marlin and other firmwares and can be used on MPCNC/Low Rider as well as any 3D printer…but again I remind you that µCNC is still under heavy development…but never the less I use it on my Atomstack A5 laser engraver and get good results…

2 Likes

Oh I see, i imagine thats the way to indicate components in general rather than poijting directly at them, noted!

I have some good news!
Got back from work and decided to run the led bin again, when i did it this morning it was super bright and i was looking at the wrong spot…lol.
So i ran it again and, please see the video in the link, it seems like its working!

When i clicked connect on OpenCNCPilot the led flashes one time brightly and then continues flashing faintly but very quickly!
When i click disconnect it stops blinking!

https://imgur.com/a/8dD0VC4

Still no green test on lower right but i think this is what you were aiming for with this bin correct?

Also your engraving looks so good!

In case its not that then this is the website i can get a 32bit board from, let me know if theres a good one with possibility for expansion later on! :slight_smile:

EDIT 1: link to microcontrollers: 32 Bit Microcontrollers - RobotShop

1 Like

What your seeing is OpenCNCPilot sending the ? char every 100ms or so and not the firmware running unfortunately.

I’ve looked in to webshop you sent.
The STM32 NUCLEO Development Board XNUCLEO-F103RB would run µCNC but I would not recommend that because you would be stuck to my firmware basically.

EDIT: Thanks to @jeffeb3 pointer this chip actually is not supported by FluidNC
ESP32-C3-DevKitC-02 Development Board is yet not supported by my firmware but I will definitely do a HAL for it. It would also be able to run bdring’s FluidNC wich seems to be a awesome Grbl compatible project. It currently does not support Delta Kinematics but I really thing that adding a Delta Kinematics to it is fairly easy for someone with C/C++ knowledge. Again it would limit your choices. At the present moment I thing FluidNC is the only firmware available for that chip.

So again I fall back to the Arduino Mega solution because it’s so widely supported by many firmwares (Marlin, Grbl, Klipper, mine and others) and super easy to program and upload firmware via Arduino IDE. Might not be the most powerfull board but it you don’t need to make your machine move at crazy speeds and want a flexible well supported board this is your choice.

1 Like

Does fluidNC support the C3? I have only used the regular ESP32 boards.

1 Like

Your right. I’m not that familiar with these chips yet and I was not aware of so profound hardware changes in the ESP32 chip family. The C3 is actually a single core/pin compatible with ESP8266 (this last one is standing on my desk and will be the next subject to a HAL for µCNC).

Thanks for the correction :grin:

Their naming scheme is the worst. I think it might have started with some rationality, but now ESP32 is a marketing name.

I just bought my first C3 a few days ago and it was significantly less supported. I have also use a ESP32-CAM. Which is based on esp32-s. It was a little surprising.

1 Like

:rofl: :rofl: Totally… At least with other manufactures you know there are going to be IO changes…but architecture changes ?? :sweat_smile:
In that respect I really like the STM32 chips (at least the ones I’m familiar with). The hole range of STM32F1 for example only changes the amount of IO and Flash/RAM. Pin functions are the same across the hole family. Really nicely designed little chips.

1 Like

Oh thats really unfortunate, i really thought it worked for a second…

Thank you so much for trying again and again though!

So the ATMegas as 8bit correct?
Id be running the machine slow anyways because of the end effector requirements, but it seems like 8bit boards are a bit old no, not so future proof.
Anyways, a 2560 also needs a ramps board and some stepper drivers correct?

Ill be slowing down the project because some other deadlines are coming up so i dont mind waiting for a slower shipping from further away.

Do you have a list of some sort of the boards supported with μCNC? I feel a bit lost looking on amazon as Im not certain if it will work…

Let me know :::slight_smile:

8 bit is totally fine. It isn’t running crysis, just moving some stepper motors.

The two times we’ve ever had speed issues were:

  1. When we were using a 5/16" bolt for the Z leadscrew. It had about 4500 steps/mm, so any speedy moves meant a ton of bit banging. The current leadscrew is 400 steps/mm.
  2. When the firmware computes arcs, and does junction deviation stuff. There were some versions of Marlin that weren’t terribly efficient and with some settings, it starting getting twitchy at about 25mm/s. But the settings we have should be fine. And the consequences weren’t that bad if you went faster.

I would be very satisfied with an 8 bit micro. I recommend the Rambo’s all the time.

3 Likes

My 3d printer is powered by an 8bit atmega2560 and a ramps and I can print fast. Sure the kinematics is fairly simple.

As for the hardware. I guess you really need the atmega and ramps shield. You can use everything your printer already has (drivers, motors, power supply)

Like @jeffeb3 said higher step per mm linear motion systems (like screw driven) Will benefit from higher computing power. Belt driven systems will be ok. Curves and lots of small segments are also problematic.
EDIT2: For higher step rates μCNC has a 16bit bresenham step generation algorithm that can Juice a bit the theoretical step rate (on an Uno it can cut about 20% of cpu cycles for the stepping generation).
There is also an option for turning on a fast math feature that has some special float operations done with bit manipulations. They are extremely fast at the expense of some precision errors (due to this fact they are only used in speed profiling sections of the code).
In µCNC I also tried to move to integer math as soon has I could to reduce computing cycles.

μCNC currently supports Avr micros (like atmega328p of arduino uno and atmega2560), stm32f1 micros (like the one in your board) and atmel samd21 (used in arduino zero and M0 board).

For board I have several maps. One that is similar to Grbl on Arduino Uno and Arduinos M0 and Zero. Also have for Ramps and Rambo shield.
For stm32f1 I have one that resembles bluepill (and your board although we could no get pass the bootloader issue).

Board maps are fairly easy to create. You can read on μCNC wiki. All the Hard part is handled by the MCU Hal. The board map just maps the function pins (like step, dir, etc) tou your board io Pin (Pin a0 or Pin b7 for example).

EDIT: Here is the wiki page for customizing the HAL on AVR boards. This explains how you can modify a board map to fit your custom board.

1 Like

Excuse the link waterfall… thank you for all the info you gave, I looked into some boards and shield and some combos but I still feel like I might do the wrong choice, here are some of the options I can get quite quickly, what do you think?

There is a chance that the end effector will be running small segment designs, although as I mentioned previously not planning on cranking up the speed.

EDIT1: Not sure if the higher end boards are compatible or necessary but if they are compatible and more future proof then I dont mind spending a bit more for them :slight_smile:

Don’t know if it was supposed to show any links but only seeing this.

This is only the shield. You will need an Arduino UNO. As I said it’s a really tight fit but I can burn the firmware on an UNO with delta kinematics. If you already have a UNO board sure why not…The full kit would be something like this

Don’t have a boardmap… but I could make one in a matter of minutes. As I said… It’s only a matter of assigning pins. It can be programed via XLoader or ArduinoIDE so it would be easy to setup I guess.

But there are a couple of issues I must warn you.

  1. This board does not list on the Marlin board list. Again…you would be firmware limited if you use that board on something else.
  2. It has onboard drivers… If you mess up with connections somehow or move your motors by hand too fast you can burn one of those (this has happen to me twice, with external driver modules it’s a simple swap)…and if you don’t know your way around a hotair station and an soldering iron…you will send your board to the trash.

Again same thing. It’s a matter of doing a boardmap for it. My main issue with this is that it has a custom bootloader too (I think)…and that’s the reason your looking for an alternative board now :sweat_smile:

This board uses trinamic drivers that need the firmware to configure them with the wright parameters (current, etc…) like Marlin does. Unfortunately µCNC does not have support for communication with trinamic drivers (I plan to include them but it won’t be in the immediate future).

1 Like

Fixed the links above, dont know why they didnt show up properly…

Can get a MEGA and a MEGA shield tomorrow, the shield for the UNO too (did notice it was for the uno and not mega), price wise there is not much difference so maybe I should go with whats more allowing.
Got an UNO in hand so id only need the shield but id rather go with the mega, what do you think? The shield for the mega I listed would be good?

Noted for the bigger boards! Also had no clue that quickly moving the steppers manually can burn the drivers…good to know, will be more careful from now and on :open_mouth:

Handy with a soldering iron but id rather not be changing those drivers like that , will keep it in mind in case I ever buy a board like that!!

If the price difference is little…go for the MEGA. As I said the UNO is at it’s limits and it’s a miracle I can fit µCNC and delta kinematics there. Much more headroom for expansion…and probably one of the most supported boards out there.

errr…what shield??? You only posted the shield for UNO. Search for a RAMPS shield.

It’s not extremely hard. Also you would need (recommend at least) a hotair station to remove the defective part.

Bought this one and a classic mega 2560 r3! :::slight_smile: Will have them this evening

1 Like

Nice. I’ll walk you through the process of configuring the firmware and making the initial motion to to avoid crashes

1 Like

So are you guys going to flash the estlcam fw??

Or is there another way to do surface scanning?

No Estlcam firmware unfortunately as it does not support Delta kinematics…!

Current plan is use Paciente’s uCNC firmware with OpenCNCPilot which supports surface scanning!