'New' 32 bit board - anyone try it?

Okay so I came across the Makerbase DLC 32 bit board and took a plunge (it was £15 shipped so it was a shallow dip).
Not powered it up yet, just waiting for some longer laser connection leads to arrive, but talking to a Polish chap on FB and he said it topped out at 2000mm/min on grayscale but he also mentioned 8 bit nano which doesn’t make sense as it has a 32 bit chip.
Anyone got any experience of this board?
https://github.com/makerbase-mks/MKS-DLC32

Not yet atm i have her little sister the DLC 8b
But this one is very intresting

well I had it moving last night, still no laser leads turned up probably due to the fuel shortages.
I’m UK based and there is a real need both here and in Europe for a ‘native’ built 32 bit board so we don’t have to risk hefty import duties from the US and China.
Our only other option is an Ortur, and not everyone wants one of those!
The Teensy is appealing but the need for separate stepper drivers etc makes for a large box of tricks, Tim Rothman’s nano and complete board are excellent but IF customs get hold of say the full controller it can escalate to about £170 for the board and that’s just way out of reach.
I could take a risk on Tim’s nano but again finding a suitable board to plug it into is a problem, a Cronos one I had sported a number of obstructions on it.
I have found only one other chap using it in the UK and he speaks no English!
Hard times.

The ESP32-WROOM-32U CPU is a popular hobby processor. I’ve used them for WiFi projects instead of dealing with the Arduino. It has more horsepower, there’s no doubt about it. However, most of these machines run on the Arduino series pretty well.

Do you need that horse power and what can it buy you?

:smiley_cat:

If I use 32bit for laser engraving it speeds up the process and allows true greyscale engraving, very important for my products.
I would need something that ran 32bit grbl and some pointers into what bits go with which bits to control a diode cnc laser.

It sounds like it’s all set up, just need to hook it up.

Maybe you could explain how a 32 bit machine would make a better engraving?

There is no processing in the normal thought of processing power. When you are engraving the data is streamed to the controller and believe me the mechanical parts of the laser engraver is like the slow boat to china when compared to any processor.

I’d like to understand where the advantage is.

Thanks

:smiley_cat:

2 Likes

Okay, so I’m paraphrasing here what I have read, I believe on Github Grbl about the advantages of 32 bit over 8 bit.
Firstly it will process 4 times the data in the same time period, secondly it will allow the full ‘information’ of a greyscale image to be realised and outputted.
Apparently, so I understand, Grbl is not designed for the processing of images and generates a lot of extra code which has to be processed, hence the quicker the processing the quicker you can get your laser moving.
Interestingly all the ‘speed merchants’, Tim Rothman, Phil Barrett etc all use a 32bit version of grbl for their boards.
Take a look at reviews for the Teensie4.1, frighteningly fast.

Btw, I wired my Makerbase 32bit board up tonight and it had a faulty usb connection.
Fortunately I had ordered two and the second works.
Perhaps a quality control issue to be aware of, although at £11 each it’s not the end of the world.

I went over to the look at it and see if they were up front on how it’s supposed to ‘do it better.’

Most of the low cost controllers on these machines use a 8 bit based pwm. That means they are slicing the PWM based on 0 to 255 or 256 steps from zero power to full power. The STM32 MCU has a 16 bit pwm so it’s resolution is 0 to 65535 or 65536 (steps from zero to full power.) That is the advantage they advocate and properly so. It is an advantage to have finer power control.

Grbl operates line by line and cannot go any faster than your machine can actually do the instructions. It can only buffer a few lines but doesn’t operate on them until needed. The Arduino series controllers are also capable of a 16 bit pwm. Makes me wonder if they have a nano with 16 bit pwm being used for grbl.

Grbl controls the mechanics of your machine. It does nothing except execute the instructions you send it, one at a time. Every time your laser makes a spot, it’s executed a line of code. That’s why it produces so much data for an image.

I’ve got a CNC3018 also… It was the stepping stone to my addiction to lasers :slight_smile:
I could see going there for more steps.

Thanks for taking your time to answer. Take care good luck.

:smiley_cat:

1 Like

cheers mate and you.

Just as a footnote I have got the second board running and have experienced problems on the X axis with the stepper motor slamming/freezing for want of a better description.
When it does this it loses position and all I get out is garbage.
I’ve changed stepper driver, motor, cable and it still happens even at low speeds even on the spare motor which was simply floating and not attached to a carriage.
Another dodgy board methinks.

These kind of issues are generally how it’s configured. As you’ve changed out most of the major parts it seems it’s very likely configuration.

The actions you describe are usually attributable to how the steppers are configured. If you did, I’d check out the site and see if there are any other things you may need to do. I’ve never used that board for CNC, but have for other projects, at least the CPU/Wireless part.

Did you load it with the old configuration data?

Do you have 2 threads with this problem running?

Not sure here what you mean.

:smiley_cat:

No, two separate threads, two separate boards :wink:
The Makerbase dlc 32 has had all the grbl settings reviewed, nothing stands out.
The stepper drivers have been calibrated, the board settings for the stepper headers set to maximise current to make sure it has enough power to drive the carriage round.
When I’m referring to the motor ‘floating’ it was simply on the side of the laser bed, connected up and observing its rotations etc.

Thread closed.

I have builta corexy diode laser cutter to using the Fystec E4 ESP32 based board and Bart Drings Grbl ESP32 software. I live in the UK and would be glad to offer any elp I can. The Machine works well and uses a 40 watt neje laser module. I have not tested the speed but it seems very quick when moving.

My friend how good it is to hear from you I am banging my head against it here.
Short of the Women’s Institute I don’t think there’s anywhere I HAVEN’T posted asking for help!
Can I message you with my email address please so we can communicate further?

Please keep the thread going until you solve the problem. This may be the reason you can’t find anything, if they solved it via private communications.

The one marked ‘solution’ isn’t very clear.

:smiley_cat:

The one marked ‘solution’ was the best I could do to close it off as there was confusion as to the purpose of the question.

Hi John, if you could please let me have a copy of the Grbl-esp32 that compiles it would be great.
The latest version from Github just throws up errors regarding FreeRTOS.h
Thanks.

Haven’t played with the laser cutter software for months… So it’s going to take me a little time to get to grips with it again. What board are you using?. I’ve used the Fystec E4 board and a esp32 uno form factor combo with a cnc shield with success on two different projects. The pins used are compiled in and can’t be changed through a user interface. I use VSC and platformio to create a bin file. Except for a few teething problems when I first got started with VSC I’ve never had compilation problems with Grbl esp32. Setting options for my laser cutter was tricky since not all settings are fully documented eg spindle pwm inversion…but after a little trial and error it all works fine now… So what I’ll do is go through and check out the latest grbl esp 32 for compile problems and if you can give me your machine file I’ll give that a go. I have been looking at the makerbase mks dlc32 board… But since they don’t give pi outs for it you’ll have to go with their binary provided in their github for that board if you decide to use it. Other than that I can share my fystec E4 machine file if you’d like that. I live near Bristol, so if you were anywhere near we could meet up… My email is john@holdsworth.eclipse.co.uk…good luck

Dug out my fystec E4 grbl esp32 stuff …loaded into VSC with platformio and it compiled ok… Its about 400megs though so best just send you the machines file (4kbytes and text too) if youre still interested…along with some instructions on how to use it?

in fact here it is:
#pragma once

// clang-format off

/*

fystec_e4.h

https://github.com/FYSETC/FYSETC-E4

2020-12-03 B. Dring

This is a machine definition file to use the FYSTEC E4 3D Printer controller

This is a 4 motor controller. This is setup for XYZA, but XYYZ, could also be used.

There are 5 inputs

The controller has outputs for a Fan, Hotbed and Extruder. There are mapped to

spindle, mist and flood coolant to drive an external relay.

Grbl_ESP32 is free software: you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation, either version 3 of the License, or

(at your option) any later version.

Grbl is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with Grbl_ESP32.  If not, see <http://www.gnu.org/licenses/>.

*/

#define MACHINE_NAME “FYSTEC E4 CoreXY laser Controller”

#define CUSTOM_CODE_FILENAME “…/Custom/CoreXY.cpp”

#define USE_KINEMATICS // there are kinematic equations for this machine

#define USE_FWD_KINEMATICS // report in cartesian

//#define USE_MACHINE_INIT // There is some custom initialization for this machine

//#define USE_CUSTOM_HOMING

#define N_AXIS 3

#define TRINAMIC_RUN_MODE TrinamicMode :: StealthChop

#define TRINAMIC_HOMING_MODE TrinamicMode :: StealthChop

#define DEFAULT_HOMING_CYCLE_0 bit(Y_AXIS)

#define DEFAULT_HOMING_CYCLE_1 bit(X_AXIS)

#define TMC_UART UART_NUM_1

#define TMC_UART_RX GPIO_NUM_21

#define TMC_UART_TX GPIO_NUM_22

#define DEFAULT_X_CURRENT 1.2

#define DEFAULT_X_HOLD_CURRENT 0.5

#define DEFAULT_Y_CURRENT 1.2

#define DEFAULT_Y_HOLD_CURRENT 0.5

#define X_TRINAMIC_DRIVER 2209

#define X_STEP_PIN GPIO_NUM_27

#define X_DIRECTION_PIN GPIO_NUM_26

#define X_RSENSE TMC2209_RSENSE_DEFAULT

#define X_DRIVER_ADDRESS 1

#define DEFAULT_X_MICROSTEPS 16

#define Y_TRINAMIC_DRIVER 2209

#define Y_STEP_PIN GPIO_NUM_33

#define Y_DIRECTION_PIN GPIO_NUM_32

#define Y_RSENSE TMC2209_RSENSE_DEFAULT

#define Y_DRIVER_ADDRESS 3

#define DEFAULT_Y_MICROSTEPS 16

/*#define Z_TRINAMIC_DRIVER 2209

#define Z_STEP_PIN GPIO_NUM_14

#define Z_DIRECTION_PIN GPIO_NUM_12

#define Z_RSENSE TMC2209_RSENSE_DEFAULT

#define Z_DRIVER_ADDRESS 0

#define DEFAULT_Z_MICROSTEPS 16

#define A_TRINAMIC_DRIVER 2209

#define A_STEP_PIN GPIO_NUM_16

#define A_DIRECTION_PIN GPIO_NUM_17

#define A_RSENSE TMC2209_RSENSE_DEFAULT

#define A_DRIVER_ADDRESS 2

#define DEFAULT_A_MICROSTEPS 16

*/

#define X_LIMIT_PIN GPIO_NUM_34

#define Y_LIMIT_PIN GPIO_NUM_35

//#define Z_LIMIT_PIN GPIO_NUM_15

//#define A_LIMIT_PIN GPIO_NUM_36 // Labeled TB

#define PROBE_PIN GPIO_NUM_39 // Labeled TE

// OK to comment out to use pin for other features

#define STEPPERS_DISABLE_PIN GPIO_NUM_25

#define DEFAULT_SPINDLE_RPM_MAX 1000.0 // rpm

#define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm

#define SPINDLE_TYPE SpindleType::LASER

#define INVERT_SPINDLE_PWM On

#define LASER_OUTPUT_PIN GPIO_NUM_13 // labeled Fan

#define COOLANT_MIST_PIN GPIO_NUM_2 // Labeled Hotbed

#define COOLANT_FLOOD_PIN GPIO_NUM_4 // Labeled Heater

#define CONTROL_SAFETY_DOOR_PIN GPIO_NUM_15 //z limit pin