How to Set Up and Use the Rotrics DexArm with LightBurn

How to Set Up and Use the Rotrics DexArm with LightBurn

Table of Contents

The Rotrics DexArm is a quirky and intriguing addition to the world of 3D printing and laser cutting. Unlike traditional laser cutters, it’s a 4-axis desktop robotic arm with modular versatility, allowing it to switch seamlessly between roles like laser engraving, 3D printing, plotting, and even gripping objects.

This flexibility comes with its own challenges, particularly when integrating it with software like LightBurn, which is primarily designed for conventional setups.

Unfortunately, if you don’t already own one, I can’t recommend buying it. Rotrics abandoned its product a while ago, leaving only the sales running. The Rotrics Studio software is notoriously buggy and feature-poor. But if you’re one of the lucky (or unlucky) DexArm owners, don’t worry—there’s hope!

Today, I’ll guide you through setting up the DexArm on LightBurn, a powerful software for laser cutting and engraving. This post is an update of the LightBurn Configuration page on the fandom wiki.

Important

Linux users

Support for LightBurn on Linux ended after version 1.7.00. If you’re running Linux, keep this in mind before eventual purchase.

First Step

When you first open LightBurn, it might automatically prompt you to create a new device. If not, you can access the device setup dialog manually. Just click on the Devices button located in the sidebar within the Laser panel.

Devices

TL;DR: Import file

If you’re short on time and want a quick setup, you can skip the manual process and use my pre-configured file. Download and import it into LightBurn:

Import Device

And that’s it! You can skip directly to how to use the configuration.

Manual Setup

Create a New Device

Create Manually

Select the option to Create Manually using the wizard.

Controller Type

For the controller type, choose Marlin. The DexArm firmware is a customized version of the open-source and popular Marlin firmware.

Name and Dimensions

Next, give your device a name (e.g., “DexArm”). Set the dimensions to $300\,\text{mm}$ (X-axis) and $220\,\text{mm}$ (Y-axis). This configuration ensures compatibility with LightBurn’s workspace warnings, even if the arm can’t physically reach the furthest corners.

Laser Origin

For the laser origin, choose Rear Right. Although not exact, it’s the most intuitive option given LightBurn’s limitations.

Configure Device Settings

Navigate to Edit > Device Settings to tweak some important settings.

Device Settings
  • Enable Z Axis control
  • Enable laser fire button
  • Optional: Enable Laser on when framing and set laser power to 0.50%.
  • Select M03/M05 as laser on/off commands
  • Set/verify the baud rate to 115200
  • Set Transfer mode to Synchronous
GCode Settings

In the GCode tab, you might want to add the M2000 command at startup to ensure the arm operates in linear mode. While LightBurn primarily uses G1 commands, this acts as an extra safety measure.

Macros

Activate the Console Panel via the Window menu. In the Console tab, you can enter custom G-code commands or set up convenient macros (buttons that execute commands).

Console Panel

To configure a macro, right-click a button in the Console Panel and input a title and G-code content.

Console Macro

Configure the following buttons:

Button LabelMacro contents
Home Reset
M1112
M888 P1
G92 X150 Y130 Z0
Linear Movements
M2000
Rapid Movements
M2001
Stow Arm
M894 X1400 Y1 Z878

Important

For the Stow Arm macro, you may need to customize the values. Power off the arm, place it manually in its stowed position, power it back on, and send the M893 command in the Console Panel. The arm will return the M894 command with the required values.

Stow Arm

Use

Get Ready

Power up the DexArm and open LightBurn.

If you did not yet, in the Window menu, ensure to activate the Console Panel. Now in the sidebar, you have a new tab called Console.

In the Laser panel, select the correct communication port (e.g. /dev/ttyACMx on Linux, COMx on Windows, /dev/tty.x on Mac) and choose the DexArm device.

Also ensure that Start From is set to Absolute Coords.

Laser panel

Using the Console panel, click on Home Reset. ⚠️ The arm moves! This will place the arm at the center of the work area.

Info

The Home Reset macro ensures the arm is aligned with LightBurn’s coordinate system. It

  • M1112: Moves the arm to the factory home position
  • M888 P1: Sets the current tool to be the laser. This information is needed by the arm, when it translates the Cartesian coordinates to the axis rotations, because the exact position of the tool’s output is slightly offset depending on whether it is the laser beam, the extruding nozzle, the pencil holder, etc.
    Note: Despite some older documentation suggesting M880, newer firmware requires the command M888 for tool selection.
  • G92 X150 Y130 Z0: Shifts the working coordinates to make the current position be $X = 150\,\text{mm}$, $Y = 130\,\text{mm}$, $Z = 0\,\text{mm}$

The arm is ready to be used.

Work Area

Even though we’ve configured the work area to a size of $300\,\text{mm} \times 220\,\text{mm}$, note that the arm will not be able to move below $Y = 10\,\text{mm}$ when it is positioned straight ($X \approx 150\,\text{mm}$).

However, the corners located at the top of the workspace in the LightBurn window will be accessible ($(0, 0)$ and $(300, 0)$). Finally, while the arm can easily reach $Y = 220\,\text{mm}$ directly in front of it, the furthest corners (at the bottom of the screen) will not be accessible ($(0, 220)$ and $(300, 220)$).

Move Tool

You can use the positioning tool in LightBurn to check whether the farthest and closest points on your engraving are accessible with the arm before starting the actual print.

Refer to the LightBurn Print and Cut documentation, or the video

Info

The DexArm has two movement modes that you can select using the macro buttons Rapid Movements or Linear Movements. When using Linear Movements, the head of the laser draws a straight line between the starting point and the end point. This is of course necessary for printing. However, from the rotation axis perspective, this may imply a form of “back and forth” movement, which is not necessary when all you want is just move the arm from one point to another.

Select Rapid Movements for adjusting and calibration. Select Linear Movements when really engraving or cutting. The device is set up to automatically select Linear Movements at the beginning of a print.

Stowing the Arm

Before powering off the DexArm, use the Stow Arm macro. This ensures the arm retracts to a safe position, preventing damage when powered down. (When torque is released from the motor, and the arm is extended, its weight can make it knock the table or the finished work, damaging both the arm and the support.)

And there you go—your DexArm is all set up and ready to create!

Related Posts

Rust is a systems programming language that aims to provide memory safety, performance, and concurrency. It achieves this through a combination of features such as ownership, borrowing, and lifetimes, which allow it to enforce memory safety at compile time without needing a garbage collector. This makes Rust particularly suitable for performance-critical applications and systems programming, where manual memory management is typically required. Rust’s zero-cost abstractions promises that high-level features do not incur runtime overhead, further enhancing its performance. The language’s concurrency model is designed to be safe and efficient, making it easier to write concurrent code without the common pitfalls of data races.

Read More

Manjaro is a fantastic way to get a fully-featured Linux desktop up and running in minutes. Its graphical installer, sensible defaults, and curated package selection making it a great choice for both newcomers and power users. However, over time, I found that Manjaro’s repositories lagged behind Arch, and—at least for the XFCE flavor—stability was not what I expected. I wanted to keep my working setup, but move to a system that is easier and more stable to maintain: pure Arch Linux.

Read More

Last week, I was preparing a data analysis report using Jupyter, Pandas and Matplotlib (to only quote a few bricks of this wonderful framework). One of the figures had two subplots, the second being an enlargement of a region of the first. To make it obvious, and at the same time show the old MATLAB Fanclub how so 90 they were, I decided to put an arrow from the first to the second subplot.

Read More