This the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.


How to test your LumenPnP after building

Now that you’ve got your LumenPnP built up, it’s time to test it!

What you’ll need

  • Computer
  • CNCjs
  • Your completed LumenPnP
  • USB-C cable

1 - Connect to the Computer

Instructions on how to test connecting your machine to the computer


  1. Connect your LumenPnP to your computer using the motherboard’s USB-C port.

  2. Manually move the Y gantry all the way to the front of the machine, and the X gantry all the way to the left.

  3. Plug in the power supply to power up the machine

  1. Now, it’s time to check and see if your computer recognizes the motherboard. We’re going to use CNCjs to check this, but feel free to use any other tool you’d like. Download CNCjs, install it, and open it.

  2. In the Connection widget, select the Marlin tab.

  3. Click the refresh button next to the Port dropdown, and click the dropdown to see if your computer found the board.

    • If you’re on Windows, the port should look like COM1 or something similar
    • Mac should look like /dev/tty.usbserial00000
    • Linux should look like /dev/tty.ACM0
  4. Keep the Baud Rate at 115200, and click the Open button. If you see boot text enter the Console widget, you’ve successfully connected to your LumenPnP!


We also need to check connecting to the cameras. CNCjs has a webcam feature, so we’ll use it for this test too.

  1. Find the Webcam tab in the bottom left of the window

  2. Click on the module using the little slider icon

  3. Open the widget using the carrot icon

  4. Finally, click the gear and look for detected webcams in the dropdown under “Use a built-in camera or a connected webcam”. You should find “PnP Top Camera” and “PnP Bottom Camera” in the dropdown. Select each one and test out the camera feed.

Next steps

Continue to testing the motors.

2 - Motor Check

How to check the motors on your LumenPnP

Now that you’re connected to your LumenPnP, we’ll walk you through testing the motors and automatic homing.

Test the limit switches

Before telling the machine to move, it’s important to make sure that your limit switches are connected properly. This will make sure the machine can correctly home and prevent damage. For each of the three limit switches on the machine, tap the switch closed and watch for a red LED to light up on the limit switch PCB. If all three do, proceed with motor movement testing. If not, double check your limit switch connections.

Manually home the machine

One more step before having the machine move: manually move the the machine’s head to the lower left corner of the machine. Don’t move it completely into the limit switches, leave a few centimeters of space.

Doing this makes sure that the machine head does not crash into the build plate during the homing and motor tests.

Home each axis individually

Now you’re ready to test the machine’s motion. You’ll do this one axis at a time to limit any possible damage due to motion issues.

You’ll start with the Z axis (the nozzle head). Send the following lines of Gcode one-by-one:

G91   ; absolute positioning
G28 Z ; home the Z axis

The Z axis should move to the limit switch and then back off. If it doesn’t, make sure you have the motor cable for the Z axis connected correctly at both the motherboard and the motor.

Before continuing, move the Z axis to “safe” Z, which prevents it from colliding with the staging plate:

G0 Z 31; Move the Z axis to safe Z

Next, you’ll home the X axis. Send the following Gcode:

G28 X;

The machine’s head should move to the left, touch the limit switch, and back off. If it doesn’t, double check the X axis motor’s connection.

If the X axis homes correctly, you’re ready to home the Y axis:

G28 Y;

The machine’s head should move to the front of the machine, touch the limit switch, and back off. If it doesn’t move correctly, double check that you soldered the Y2 connector opposite of the silkscreen as noted in the motherboard section.

If the X, Y, and Z axis all moved and homed correctly, excellent! If not, reach out to us for assistance.

Nozzle rotation

Next we’ll check the left nozzle rotation stepper motor:

G0 A90

You should see your nozzle stepper rotate 90 degrees. If not, double check motor connections and make sure that the vacuum hose isn’t obstructing movement.

Next steps

Continue to testing the actuators.

3 - Actuator Check

How to check the actuators on your LumenPnP


The first and most important actuator on your LumenPnP is the vacuum pump. We can check this by sending more Gcode to the machine. Send the first line to turn on the pump, and the second one to turn it back off.

M106 ;turn MOS1 on
M107 ;turn MOS1 off


We can also check the blowoff valve. This can be tested using the Gcode below. Listen for a slight click when each of the commands are run; this is the sound of the valve actuating!

M106 P1 S255   ;turn MOS2 on
M107 P1        ;turn MOS2 off

It’s worth noting that MOS3 and MOS4 can be actuated using the following commands (when something is plugged into those ports):

M106 P2 S255   ;turn MOS3 on
M107 P2        ;turn MOS3 off
M106 P3 S255   ;turn MOS4 on
M107 P3        ;turn MOS4 off

Ring Lights

Check the ring lights using the Gcode below. Note that both lights are controlled together, with the same command. You can edit the color of the lights by adjusting the R, U, and B terms in the command, and you can edit the brightness by editing the P term. For more information, check the Marlin Docs page on M150.

M150 P255 R255 U255 B255   ;turn on ring lights
M150 P0                    ;turn off ring lights

If you’d like to change the brightness that your ring lights actuate to during a job, you can edit the P value in this section of the “Machine Setup” tab in OpenPnP:

Vacuum Sensors

Now we can check the vacuum sensors. First, check the value from the first vacuum sensor before and after a vacuum is pulled to check that it’s working correctly. You should see that the values are different by about 200.

M3426 G4 C1 I1 A110   ;read vac 1 value
M106                  ;turn on the pump
M106 P1 S255          ;turn on the valve
;cover the nozzle with your finger and wait two seconds
M3426 G4 C1 I1 A110   ;read vac 1 value again
M107                  ;turn off the pump
M107 P1               ;turn off the valve

It’s also worth noting the command for reading the second vacuum sensor. Until pneumatics for a second nozzle are plumbed in, the second one will only ever read ambient pressure.

M3426 G4 C2 I1 A110  ;read vac 2 value

4 - Feedback

Let us know how your build went

You’re done with the build! We’d love if you let us know how it went (the form takes less than a minute). We want to make it as easy as possible to build a LumenPnP, and your feedback helps us do that.

LumenPnP Build Survey Here