Lightburn, Smoothieware and cluster

Hi all,

I’m on the way to integrate a Bigtreetech SKR V1.4 in my K40. It’s cheap, schematics is provided, it supports cheap LCD’s, Wifi support, there’s a switching power supply on board, and tiny adaptations to make it works on a K40.

I had to modify Smoothieware to add support for software SPI for managing Reprap Discount Smart LCD Controler, since pins routed to EXT1/EXT2 only dedicates hardware spi for external SD. That works.

Jogging around, I’ve seen the smoothieware ‘cluster’ functionnality, allowing to engrave 3 times faster on Smoothieware, with proper option activated on lightburn. I was exited to try that!

However, I did not find the source, or any patch request on Smoothieware project, or any Cohesion3D repository publishing that improvement. (in fact, there’s nothing on Cohesion 3D Git…). 897 forks, and none from Cohesion3D…

Discussion on Smoothie Git about that is a deaf conversation ( ). However, no PR submitted… (you know, a GIT patch request…)

Additionnaly, I don’t find any schematics for Cohesion 3D boards. It seems (correct me if i’m wrong), Cohesion made totally closed product, with 2 open source products (Smoothieware and Smoothieboard).

I’d like to integrate cluster it into my custom firmware (and re-publish…). Would somebody indicates the right direction to do it and where i could find the source code of this modification (use the source, Luke…) ?

PS:That experience (closed source frustration), is not so far from “The printer Story” where Richard Stallman discovered its own frustration and invented Open Source 30 years ago : ). When he talks now about open source, he frequently takes as example a food receipe, wich can be adapted by each person / family, improved, transmitted and becomes a “Common Good”, without abandonning initial intellectual property, but assuming this will be always transmitted free of charge with rights to use, and obligations to share improvements. That’s the way i used to work with open source for 20 years.


I am running this firmware on my skr1.3.

Thanks @squid for your answer. However, as i wrote in the post i need the source since i need to make my own adaptations for software spi… and much more, like support for TMC2130. The problem is not to use a binary!

Sorry, Apparently my reading buffer is smaller than it ought to be.
Since Smoothieware is open source all branches should be available free for download.
I wonder if the “edge” branch which i am using for my printers includes the clustering thingie in it.


Yes Smoothieware is open source. No that modification has not been published either in edge or other branches. And it you follow the link you posted, you’ll see a dropbox link to a compiled firmware (binary). This is closed source, since it contains improprement not published and is shipped only as a binary.

First question is still opened : where is the source code !

And that question seems to be for @LightBurn , who seemed to write both parts of code (Lightburn AND Cohesion3D) and was paid for it by Cohesion3D.


The source is published in that same thread, here:

“Open source” does not dictate the method of publication, just that the source is made available, which it is.

Thanks a lot, @LightBurn. Concerning method of publication, it’s another story, but this is not necessary the place for debating…

Smoothieware changed a bit since work done on cluster firmware, especially for more axis support and a new way to send debug notices.

I’ve made a clone on my gitlab ( and added my modifications for supporting Software SPI (needed for Bigtreetech SKR 1.3) and adding cluster support on latest smootieware version. For cluster, this has nedded careful patch integration because of smoothie changes.

This have not yet been tested intensively for the moment, since i’m still integrating modifications on the K40. It’s almost done.

Firmware remains compatible to any smoothie compatible board (Smoothieware, Cohesion3D, etc…) as long as you’re not activating Software SPI for LCD ( panel.spi_channel = -1).

A binary version is available inside FirmwareBin subdirectory. There’s no default settings at compile time, so you have to provide your config.txt file on the SD card.

FYI, here’s a pict of prototype used for hardware & code integration:

I’d really appreciate testing & feedback on my port. Any missing copyright notice will be added on demand, since i don’t know who own intellectual property on modifications done for cluster mod (@LightBurn or @Cohesion3D ? ).

I hope this will help community.

Hi - great work
Can I use this on a Smoothieboard v1.1 to get the latest smoothie firmware + clustering support?
I use LightBurn :slight_smile:

can I use Makerbase MKS SGen_L V2.0 ?

@mundNo problem on both. You would not use the software spi, since Makerbase and smoothieboard use a hardware spi to drive an LCD.

Have you tested the MKS SGen L V2.0 - I can not find any info that says it supports Smoothieware
What is the best stepper drivers for smoothie support?

It shoud support smoothieware, except for non step/dir drivers. You’ll have to build your own config file.
I can’t personnaly answer to the best drivers question, since I haven’t tested them all (so far…).

So your precompiled firmware worked fine for me on a MKS Sbase 1.3 board. I have yet to run an engrave but i’ll give it a try in next few days. I’ve turned smoothie clustering on in lightburn

Some notes not particular to your firmware but smoothie in general with this board
Got the glcd working although the pinout on mks sbase is backwards and you have to flip the ext 1 and ext 2 cables upside down after cutting off the piece that forces the cables in one particular orientation. The external sd card is working as well. The glcd example config works fine except for the sd lcd portion needs to be:

panel.external_sd true # set to true if there is an extrernal sdcard on the panel
panel.external_sd.spi_channel 1 # set spi channel the sdcard is on
panel.external_sd.spi_cs_pin 0.28 # set spi chip select for the sdcard
panel.external_sd.sdcd_pin 0.27!^ # sd detect signal

Thanks for your comment. Unfortunately, i don’t own an sks base, but i was aware of this pinout curiosity. An other solution would be to carfully extract plastic black connectors sockets on the board, and reinsert them rotated 180 degrees (or unsolder /resolder them).

Hope your tests with engraving will be good!

I just seen Smoothie had some patches. I’ve integrated them, updated my git repo and updated binary built. See patches 4027278006a2e923040e3c7dd0809dff51cdb40e 400a890942b8fcb4003c1d06c1c16356b19d2267 e9b2ce3f23ad1c720619796b4270baadd4e9cab9 6b5b7807b24f2ba1f826ce5ef7c8a1b170ab3da3 047657367efc6663f5e89c604830c48d76a24ea5 4079123249c4b7258ffbfd3e3eb3b4be3f156608 789ce4114fed93d51c63b5202d727ccd8c142070 c781f5dfc6e0e44f995c713cad48c0df729dfc55 on Smoothieware github for details.

I`m trying to configure the MKS SGen L V2.0 + TMC2209
I have defined the pins for steppers and end-stops in the config file and got steppers moving…

If i run the version command it says CNC and 3-axis
Is this code limited to 3-axis? or can I use it and get 4/5 axis support?


Yeah, this is a 3 axis only version, since Gcode is particular to support Lightburn. Additionnally, it’s a laser version, and not supposed to support more thant 3 axis. It you would to support laser and CNC config on the same machine, you should probably choose a standard Smoohie version (no cluster).

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.