'New' 32 bit board - anyone try it?

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

Mailed you John, many thanks.

Lets hope this thread is still alive… I run an MKS DLC V2 (8 bit) board in my K40 Clone machine in a long winded sort of way having butchered grbl to suit my needs and control the laser with a 5v relay. Not Ideal but it does work as the pwm signal is stripped from power on signal since it needs to be pulled to ground. Its clunky and clicky but works.

I was offered the new MKS DLC32 and screen for £20 so I bought it. My Machine has been in a state of rebuild for over a year now and its getting close to the time to wire everything back up and I think I read that Laurence may have these boards and has tried tinkering with them. If so do you have any wiring diags to help with the laser fire side of the board as I should be able to just copy most my working grbl settings over to the dlc32 config file once I can get the laser to fire and pwm.

Cheers and thanks in advance for any help / ideas

Chris

The K40 LPS is active LOW and most every 3DP board controls the ground. That is why on the Smoothieboards, etc you grab a hotend or heatbed control and only connect the low side of the connector to the L signal on the LPS.

BTW, it’s very common to control the low side/ground instead of positive side of signals because the parts are less expensive. It was years ago when I saw my first circuit which was using low control logic instead of high control logic. See it all over the place now.

Sorry for not getting back to you sooner, battling illness at the moment and not spending a lot of time on the web.
I’ll have a look at the wiring later and post my configuration.

FWIW out of the two boards I received the first had a USB input fault on the connector.
The second I assumed to be faulty but it turns out that it was a faulty TWO batches of drv8825 drivers! Not only that I had bought them weeks apart and from different suppliers - obviously same factory with zero quality control.

having supplied the board with some ar4988 drivers it runs sweet I have to say and renders grayscale quicker than 8 bit, as you would expect.
At this stage it’s recommended.