Install: Raspberry Pi (+ other Linux)

Hint: The LaserWeb4 frontend is very feature-rich and quite heavy and might not run smoothly on the Rasbian Desktop, but you can run the server part on a Raspberry Pi and connect from a PC on the network.

you can find a newer and more detailed installation instruction here:

Install the server

On Raspberry Pi: start from a clean Raspbian Buster or Bullseye image.
On Intel/AMD hardware: most desktop Linux distros should work. The commands bellow are for Debian based distros which support apt command. On other distros, you might have to use a different command/method.

Install Node  12.x (< V13)

curl -sL | sudo -E bash -
apt-get install -y nodejs

Confirm you have the correct NPM version (should be >=6.14.15)

npm -v

Confirm you have the correct NodeJS version (should be >= 12.22.5)

node -v

We got a report, that it also works with Node 18, if you install the addition libraries libusb-1.0-0-dev and libudev-dev

sudo apt install libusb-1.0-0-dev libudev-dev

Install git

sudo apt-get update
sudo apt-get install git

Download and install LaserWeb server

cd /home/pi
git clone
cd lw.comm-server
sudo npm install serialport --unsafe-perm --build-from-source
sudo npm install

On Linux distros other than Raspbian, you might need to add your user to the "dialout" group to be able to use the USB/serial port!

sudo usermod -a -G dialout username

(adjust username!)

Manually start the server

cd /home/pi/lw.comm-server
node server.js

You should get the following console response:

> lw.comm-server@4.1.0 start C:\Users\cprez\git\LaserWeb\lw.comm-server
> node server.js

        ---- LaserWeb Comm Server 4.1.0 ----
  Use to connect this server.

* Updates:
  Remember to check the commit log on
  regularly, to know about updates and fixes, and then when ready
  update accordingly by running git pull

* Support:
  If you need help / support, come over to

Press CTRL-C to stop the server.
Now that you know it's working, you can setup the autostart of the service.

Setup Systemd to automatically start the LaserWeb server

Hint: This method is written for Raspbian >Jessie and might need to be adjusted for other linux distros!

# Move to the directory with the .service file
cd ~/lw.comm-server/

# Create the symlink
sudo ln -s `pwd`/lw.comm-server.service /etc/systemd/system

# Reload the service files so the system knows about this new one
sudo systemctl daemon-reload

# Enable and start the service
sudo systemctl enable lw.comm-server.service
sudo systemctl start lw.comm-server

You can check the status of the server with

sudo systemctl status lw.comm-server

You can restart the server with

sudo systemctl restart lw.comm-server

You can stop the server with

sudo systemctl stop lw.comm-server

(The logs will get added to /var/log/syslog)

Install the frontend

Install the LaserWeb4 executable on your Windows, OSX or Linux PC. This way you get the lastest frontend version.

    Connect your machine to one of the USB ports
    Start the LaserWeb4 app
    Click on Comms tab
    Click on "Server Connection"
    Change Server-IP to `YOUR-SERVER-IP:8000`  (replace YOUR-SERVER-IP with the IP of your LaserWeb Server)
    Click connect

-> You should see a green message "Server connected" in the log area at bottom right.

(Alternative) Frontend via Webbrowser

Insead of installing the frontend, your can alternatively just use a web browser (preferably chrome) to call the server integrated frontend.

  • Connect your machine to one of the LaserWeb Server USB ports
  • Open Chrome Browser (or Chromium) on any PC in your network.
  • Open URL `SERVER-IP:8000`  (replace SERVFER-IP with the IP of your LaserWeb Server)
  • Click on Comms tab
  • Click on "Server Connection"
  • Change Server-IP to `SERVER-IP:8000`  (replace SERVER-IP with the IP of your LaserWeb Server)
  • Click connect

-> You should see a green message "Server connected" in the log area at bottom right.

  • Set the "Machine Connection" dropdown to USB
  • Choose the correct serial port in the "USB / Serial Port" dropdown (ie. /dev/ttyACM0)
  • Check that the baud rate is set to 115200
  • Click connect below

-> You should get a green message "Machine connected"  in the log area, followed by a green line with the detected firmware. If you get some red messages insted of the green firmware line, you probably have selected the wrong port or the firmware is not supported.

Reset on Connect

Some boards need a reset command after connecting (or will disconnect after a few seconds). Therefore the default setting in config.js for resetOnConnect is 1.
If you need to disable it,  set the value at the end of the following line to 0:

config.resetOnConnect = process.env.RESET_ON_CONNECT || 1;

Change Port 8000

If Port 8000 is already in use by something else, you can change the port in the following config.js line:

config.webPort = process.env.WEB_PORT || 8000;

You can proceed with Initial Configuration.