Controlling Creality Falcon2 laser from Ubuntu

Has anyone had success controlling a Creality Falcon2 laser engraver under Linux with LightBurn? Specifically, Linux debian versions such as Ubuntu and Mint.

  • When I connect the laser, Lightburn reports “Laser Ready.”
  • In the terminal window where I started Lightburn from the commandline, I see “Port open succeeded”.
  • A port /dev/ttyACM0 is created.
  • However, in the Lightburn console I see “Waiting for connection.”

I’m running Ubuntu 20.04.

I have followed the instructions including “sudo adduser $USER dialout && sudo adduser $USER tty”

Here are a few things I’ve tried:

Debian is the hardcore Linux OS… it has no proprietary software supplied with it. I think all Linux distributions have their roots in Debian.

Ubuntu is much more lax in terms of proprietary software.

From what I’ve picked up, your laser has a ch340 usb chip that should work with the stock Ubuntu.

On Ubuntu, even if the chip isn’t supported with the installed driver (module) it’s likely present on your machine and you shouldn’t have to download it from anywhere.

You see the ACM0 connection created when you plugged in your laser, so it probably has the proper driver.

Did the adduser $USER dialout && sudo adduser $USER tty execute with no error messages?

When you update a logged in users groups, you probably have to log out and log back in to have it implemented. Or reboot, whichever is most simple.

If so I’d suggest an ls -l on ACM0 to ensure everything is set properly.

It sound like it’s a protection or access violation issue as the OS is seeing the laser, but not allowing a connection.

Can you see the ACM0 entry in the ports for the device in Lightburn?

Might have a watch of this video and see if it helps…

The only time I’ve had to mess with drivers was when I purchased an $80 laser and it had a 2102 usb chip on it. The driver (module) was on the machine, just not installed…

Good luck


Because that device node is created on the fly, changing the permissions only affects the current instantiation. The next time the device appears (which may be after a USB glitch), it’ll have the default permissions again.

However, maybe the defaults are fine. Take a look at them after you plug it in:

ls -l /dev/ttyACM*

Which looks like this for a knockoff Arduino board from my heap:

crw-rw---- 1 root uucp 166, 0 Oct 21 11:06 /dev/ttyACM0

Note that the board is in the uucp group, which may not be true for your laser controller. Check to make sure you’re in the same group, whatever it may be:

sys tty network scanner power docker video uucp optical lp audio wheel ed plugdev

If you’re not in (for this example) uucp, then add yourself:

sudo adduser $USER uucp

Then log out, log back in again, and it should be all good.

If that improves the situation, run with it!

If not, then you’ll need more udev trickery.

It generates a node called ttyACM0

ls -al gives:

“crw-rw---- 1 root dialout 166, 0 Oct 21 08:05 /dev/ttyACM0”

I have set up privileges for my user using:
“sudo adduser $USER dialout && sudo adduser $USER tty”

Type in groups from the command line and ensure you are in the dailout group. This little CNC3018 comes up as ttyUSB0, but it’s the same…

jack@Kilo:~$ groups
jack adm dialout cdrom sudo dip plugdev lpadmin lxd sambashare
jack@Kilo:~$ ls -l /dev/tty[AU]*
crw-rw----+ 1 root dialout 188, 0 Oct 21 09:43 /dev/ttyUSB0


Yes, groups shows the user belongs to the dialout group!

Looks like you’re all set!

I’m all set except it keep saying “Waiting for connection” in the Lightburn console.

Which seems entirely a separate problem, about which I must defer to others with more experience.

If you reset or change things, it might come up as ACMX where X is any number… usually they increase sequentially.

Right click the device button will request Lightburn to reset the connection…

If AUTO is available, might try that.

You could probably eliminate the protection issue question, buy an su to root and running Lightburn from the command line as root.


Yes, lightburn wouldn’t report “Laser Ready” if the correct port isn’t selected. So, of course I can see it and of course it is selected.

As I said before, it comes up as /dev/ttyACM0

I have tried running LB as root, but it quits as soon as I close the licensing popup window.

Sorry, must have confused the posts… You mentioned it had already connected and I missed that…

It is odd that it fails when you run it from root… It shouldn’t be asking for license information if it’s already licensed for that machine.


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