From categories:
page »

My robot has L=1025mm R=366mm. I need a real speed of 5m/s. It's normal for industrial robots like ABB, Adept Quattro ets.
Here I have maximum 1m/s ((
In my opinion, the limit is in the program's algorithm.
Motor Nema 23, external driver.
My config:
arm_solution linear_delta # delta
alpha_steps_per_mm 256 # 125mm/rev *1/2.5(reducer) = 50mm, Pulses/rev = 12800 Steps per mm for alpha stepper = 12800/50 = 256
beta_steps_per_mm 256 # Steps per mm for beta stepper
gamma_steps_per_mm 256 # Steps per mm for gamma stepper
arm_length 1025.0 # this is the length of an arm from hinge to hinge
arm_radius 366.2 # this is the horizontal distance from hinge to hinge
gamma_max 88 # Высота присоски над столом
default_feed_rate 4000 # Default rate ( mm/minute ) for G1/G2/G3 moves
default_seek_rate 4000 # Default rate ( mm/minute ) for G0 moves
acceleration 10000 # Acceleration in mm/second/second.
junction_deviation 0.05 # Similar to the old "max_jerk", in millimeters,
x_axis_max_speed 300000 # mm/min
y_axis_max_speed 300000 # mm/min
z_axis_max_speed 300000 # mm/min
alpha_max_rate 300000.0 # mm/min
beta_max_rate 300000.0 # mm/min
gamma_max_rate 300000.0 # mm/min
mm_per_arc_segment 0.5 # Arcs are cut into segments ( lines ), this is the length for
delta_segments_per_second 100 # for deltas only same as in Marlin/Delta, set to 0 to disable
microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
base_stepping_frequency 100000 # Base frequency for stepping, higher gives smoother movement
acceleration_ticks_per_second 1000 # Number of times per second the speed is updated

I tried to make "delta_segments_per_second " 0. Anyway maximum speed is 60000 mm per minutes
How could increase the speed?

Hello guys,

I want to implement the 6th axis to the SmoothieBoard 5X V1. As I understand from advanced motor chip module documentation, we can add external stepper driver chips like DRV8711 or TMC2660 by using SPI pins without losing other axis functionality. But I want to implement TMC2130.

Is it also definable at config file directly?
And if I add the driver successfully, is it possible to use G-Codes for 6th axis for example "G0 C10"? If not, how we can achieve this?

Thanks for the help :)

How does one search any content? The link doesn't get you a search function.

I get the following when I click link:

"This topic does not exist yet
You've followed a link to a topic that doesn't exist yet. If permissions allow, you may create it by clicking on “Create this page."

I'd love to avoid asking a question that had already been answered.

Thank you

Search function by LogicSpeaksLogicSpeaks, 13 Mar 2019 13:57

Greetings and thanks for any help I can get,

I'm coming from the March3 side of CNC control and decided to switch when my board fried.

I've everything is mostly up and running but the z probe. I've looked through the config and it might just be that I don't understand it all. When one zeroes the end mill, generally you have a contact plate that sits on top of the surface. In March3 you would have code that compensates for the thickness of the type of zeroing late one used. Where does one make this adjustment? What is the code? I saw that G30 Z# but I don't think it does what I intend. Maybe I just don't understand the description.

Thank you,



Z probe (CNC router) by LogicSpeaksLogicSpeaks, 13 Mar 2019 13:53

Hey, thanks a bunch for the response.

I didn't realize someone responded!

I figured out what the issue was. Apparently the drivers with the T couldn't run on 3.3v while the other ones could. That's my assumption anyway.

When I wired all of the power to the 5 volt it all works, however I might post a question about s difference in documentation later as I noticed something odd and not sure if its s mistake.

On a different note my motors don't actually need the drivers since they're old shopbot motors that run on 1 amp (amazing motors btw) but for whatever reason I can't get the on board drivers to run the motors. What happens is they badly run (slow and choppy) and then they stop responding after 1 to 2 minutes. It's like they lock up and then stop completely.

I don't know if my power supply is the problem but it's a 24v 15amp psu.

Re: External drivers by LogicSpeaksLogicSpeaks, 13 Mar 2019 12:42

A lot of chinese manufacturers sell drivers with those part numbers, so I don't know what the T means, but they could be fairly different if they have come from different manufacturers.

It seems your DM542Ts may be duds. Do you have any way to verify they work at all? Have you tried manually stepping them (like connecting a button to the STP input?)

Is it possible the old drivers damaged the smoothieboard in some way? Have you tried swapping the working DM542s with the DM542Ts, just to eliminate that possibility?

If you've eliminated those possibilites (dud drivers, damaged smoothie), then it could be a logic level problem. The smoothieboard outputs 3.3V, and most external drivers expect 5V (though most apparently work fine with the 3.3V, but maybe yours dont)

I've been having trouble with external drivers too, still not 100% sure what, but my next test is to put a logic level shifter inbetween the board and the driver, because mine work, but miss steps every now and then.

Re: External drivers by gavinmetzlergavinmetzler, 12 Mar 2019 06:10

Thanks for the reply.
I decided to change the gearing down to 1:1 on X+y axis they are now around 805 steps/mm. it is a mill application so far it seems ok.

Re: Steps/mm configuring by Al57Al57, 11 Mar 2019 16:31

So Arthur mentioned that generally any driver with, "DIR+ DIR- EN+ EN- PUL+ PUL- " will work with smoothieboard. I recently obtained smoothieboard V1.1 and this has been nothing but a headache.

I have 4 drivers — 2 Drivers are DM542 (some random seller on Ebay) and the other 2 are DM542T (from steppers online). DM542 cheap drivers work with the smoothieboard, but the DM542T does not. Why would this be the case? They're identical drivers. The reason I bought DM542T's was because when I bought the cheap ones, I purchased 4 of them and 2 of them were defective.

So now I am attempting to run this on DM542's and DM542T's,

Is there anything I can do to verify as to why they wouldn't work? They both have identical connections on the drivers.

Both drivers are wired exactly the same - literally went over the connections 100 times, and everything looks right.

I also tested another motor and all motors work with DM542s but not DM542T's

Hopefully all of this makes sense and would appreciate any help I can get.

Re: External drivers by LogicSpeaksLogicSpeaks, 10 Mar 2019 18:30

The smoothieboard max step rate is 100khz (3 axis), so with 1450 steps/mm your maximum feed speed would be 4138mm/min. If this is a mill, thats probably fine. If its a wood router, this may be a bit slow.

The other option of course is to change your microstepping rate. What do you have it set at? How did you come up with the 1450 steps/mm?

Re: Steps/mm configuring by gavinmetzlergavinmetzler, 10 Mar 2019 07:32

I've just discovered that I have the same problem. (after a year of 'fixing' everything else on this printer - motors replaced three times, power supply twice, leadscrew nuts, bearing blocks; and changing voltage/current/microstepping/acceleration/junction deviation/speed etc etc etc)

I'm using the Leadshine ND556 drivers to drive my leadscrew driven delta printer and have been having this missed step/drift problem for ages. The severity has changed from day to day and is very dependant on the g-code. Some programs, even large ones (like vases) print OK, but others would be unprintable, with individual layers being shifted up to 1mm from the layer below, with somewhat random shifting, but always with a general drift in one direction.

I have (I think) narrowed it down to 3 possibilities:

(1) Driver itself misses steps (My old, cheap external drivers, HY-DIV268N-5A, are known to be crappy and miss steps, according to google). The ND556 drivers are not cheap though, so I doubt this is the problem.

(2) Timing between DIR change and next STEP from smoothieware. In the edge source code, in StepTicker.cpp, in bool StepTicker::start_next_block(), there is a comment:

        // set direction bit here
        // NOTE this would be at least **10us** before first step pulse.
        // TODO does this need to be done sooner, if so how without delaying next tick

This suggests that this timing should be fine. The driver documentation specifies a 5us gap required between DIR change and next STEP. The question is, is that what smoothie actually does? Has anyone ever put a scope on it? Unfortunately I don't have a dual channel DSO.


(3) CMOS to TTL(actually optoisolator) level problem. The smoothieboard STP and DIR signals are 3V, measured at the driver. I guess there is a 0.3V drop somewhere, because the LPC1769 runs at 3.3V (This may because we are sourcing more than the 4ma spec on the io pin). The ND556 documentation specifies a 4 to 5V input requirement, and a 7ma minimum current for signal input. It could be that because the driver is receiving a lower voltage (and possibly lower current) input than specified, it is taking time for capacitance/opto isolation at the driver input to be overcome and this is creating timing anomalies every now and then between DIR and STP. The LPC1769 can source only 4ma (while staying within 0.4V of VDD) Further research shows that the ND556 uses a 6n137 opto isolator, with a 270 ohm series resistor between the screw connector and the 6n137 pin. The 6n137 input capacitance is 55pf. With a 3V input, plus 270 ohm resistor, this seems like (without actually doing the math) it would be the lower limits of what the optoisolator is happy with (switching time of max 0.1us is specified at 5V/7ma so who knows what at 3V/4ma, maybe leading to this problem where things work mostly OK but not 100%)
Of course this would also be fairly easy to test by using a level converter, which I would do right away if I hadn't already removed the drivers and tried to go back to DRV8825 drivers (which are really noisy and not quite up to the voltage/current levels I need)

In terms of information available, the problem seems likely to be #3, because directly connecting STP and DIR from the smoothie to the Leadshine driver is not satisfying the driver specs, whereas according to the comments in the smoothie source code, the timing between DIR and STP is within the driver's spec.

Mike, can you comment on this? Did you use a logic level shifter at all? I thought maybe the reason your external drivers worked with the Arduino RAMPS setup was because that is 5V?

EDIT 11 March 2019
I can confirm that by switching back to DRV8825 drivers, the problem is resolved. They make the motors incredibly noisy (whereas the ND556 were nearly silent) and need a noisy fan to cool the drivers, so my very quiet printer has become unbearably noisy! My logic level shifters have arrived, so next project is to try them with the ND556s and see if that works.

EDIT 13 March 2019
So after looking closer at how the Sparkfun level shifters work, I decided they probably won't help with an opto isolators inputs, which need current to light the LED (the level shifters connect the 5V supply through a 10k resistor, leaving a max 0.5ma). I've instead ordered SN54HCT245 buffers which can source sufficient current at 5V to switch on the LEDs nice and quick, plus have around 15ns switching time)

The other thing I just noticed in the Smoothie documentation is the suggestion to use common anode connection and set the output pins to open drain, and hooking up the inputs on the driver to a 5V pin on the main board. So I will try that first.

14 March
Tried common anode setup, didn't help. Was getting around 4.5v to the ND556, so that should theoretically have solved any LC problems I was imagining it could be.

Now I'm fairly sure this has to be a DIR/STEP timing problem in Smoothie firmware - I don't think the source code comment about 10us is correct. If only I had a 2 channel DSO …

Either that or there is something wrong with my ND556s.

15 March
I discovered that Duet3d dot com sell a special breakout board with 75ALS192 ic's specially for driving external drivers and they mention Leadshine ND556 by name, so I will try that next … that should reliably eliminate the possibility of level problems between the LPC1769 and the optoisolators on the ND556. If that board doesn't work, I can move on from this idea and onto …

Trying different firmware on this board, and finally,

A whole new motherboard etc….

Different external drivers.

I wonder if your problem is: laser_module_pwm_period 200 # this sets the pwm frequency as the period in microseconds

That means your pwm frequency is 5kHz - is that what you were expecting? Mine doesn't wake up until I hit about 8kHz and the docs for the controller say 10kHz - or 100 us, which is what I have set in my smoothie.

My CO2, with a cycle time of 20,000Hz has a pwm period of 50

laser_module_pwm_period 50 # This sets the pwm frequency as the period in microseconds - CO2 laser = 20kHz = 50us(p)
#laser_module_pwm_period 100 # This sets the pwm frequency as the period in microseconds - diode laser = 10kHz = 100us(p)

Re: 15 w 450 nm ebay LED laser by LEDAeroLEDAero, 08 Mar 2019 14:12

Hello everybody,
I connected my MKS TFT32 V4.0 to my smoothieboard this week. Everything works quite well. My printer pauses printing when I start a print from a USB stick or SD card from my MKS TFT32.
During the unwanted short break LED 2 & 3 flash alternately wild on the smoothieboard.
Can anybody help me further?
I don't know what the flashing means.

Thanks in advance.

Best regards

Could you send your configuration file? I will have a look in the source code…

Re: More than 255 pwm values by pierrexpierrex, 06 Mar 2019 14:00


Which firmware are you using (firmware-cnc.bin or firmware.bin?)



Re: More than 255 pwm values by pierrexpierrex, 06 Mar 2019 13:26


You can find all the firmware releases here: h t t p s : / / b i t . l y / 2 N L V H X q
The list of open and corrected issues is here: h t t p s : / / b i t . l y / 2 E B S M N 9
(remove all the blanks, I'm not allowed to publish URL on this forum)



Re: Old firmwares? by pierrexpierrex, 06 Mar 2019 13:13


When you tried to upgrade the firmware, did the led toggled? You can check on your SD card that the firmware file has been renamed to FIRMWARE.CUR.



Fantastic you got it going. On with the tuning

First thank you for your help! By asking me the questions I found the answer.

It is a bit hidden, and I expected it to be better mentioned in the CNC milling guide, but the CNC firmware is a bit different then the normal smoothie. To quote the wiki on the grbl-mode page:

Typical differences between 3d mode and CNC mode are:-

1. Error messages are different
2. G28 goes to park position and is NOT home, $H homes in CNC mode
3. Many GCodes may be differently interpreted in CNC mode than in 3D mode, please check your gcode references (Linuxcnc has a good GCode reference, do not use the reprap gcode reference for CNC mode)

And indeed, $H does do what I expected home or G28 to do! Problem solved.

Yes, it returns to the position before the first G0 command, M114 reports the Z:0.0000 which is the position the machine was in when smoothie was started (or reset in)

Problem solved!

In fact the problem was not related to the firmware version! It's related to the way I rebooted it! After upgrading with DFU, the board needs to be completly unplugged and plugged again (software reboot is not enough), in order to get the network working properly.


page »

This site is a WIki, which means you are very welcome to help us improve it. Help on how to do that can be found at the Editing the Wiki page . You can edit any page by clicking the "Edit" button bellow :