Skip to content

Update LumenPnP Firmware

All motherboards come pre-flashed with firmware from Opulo and should work out of the box without these steps. If you need to update your LumenPnP's firmware, this guide will help you do so.

Update your LumenPnP's motherboard using the STM32CubeProgrammer software by ST.

  1. Download the latest precompiled firmware .bin file for your machine version.

  2. Download and install STM32CubeProgrammer.

    Linux Users

    If you're using Linux, you'll need to do a couple steps before programming.

  3. Open STM32CubeProgrammer.

  4. Select USB from the connection type dropdown on the right. USB Connection drop down
  5. Click on the download tab in the sidebar. Switch to the download tab

  6. Attach the LumenPnP Motherboard to your computer with the included USB cable.

  7. Boot your motherboard into DFU Mode

    1. Press and hold the BOOT button
    2. Press the Reset button and hold for 10 seconds
    3. Release the Reset button and wait for 10 seconds
    4. Release the BOOT button Boot and Reset buttons on the motherboard

    NOTE

    If you have a hard time getting your board to enter DFU mode, instead try unplugging both USB and the barrel jack, holding the 'BOOT' button, plugging in USB and the barrel jack, waiting 10 seconds, then releasing the BOOT button.

    If you're on Windows, try uninstalling STM32CubeProgrammer and reinstalling. This will also reinstall the USB drivers which can fix connection issues.

  8. Click the refresh button in the Port line to detect the motherboard's port. Refresh button

  9. Select the newly discovered USB port from the Port dropdown menu. Select USB Port

  10. Double-check the other fields on the right match the image above:

    1. PID: 0xdf11
    2. VID: 0x0483
    3. Read Unprotect (MCU): Unchecked
    4. TZEN Regression (MCU): Unchecked
  11. Click the green Connect button to connect to the motherboard. Connect to Motherboard button

  12. Delete all the flash on the chip by clicking the "Full Chip Erase" button. full chip earse button

    This might take a while

    Erasing all the flash on the chip takes a few minutes. Wait until you see a confirmation pop-up that the process is complete before continuing.

  13. Click the Browse button and select the firmware image you downloaded earlier. Click the browse button

  14. Click the Start Programming button to upload the firmware to the motherboard. Start Programming the motherboard

  15. Wait until the confirmation pop-up appears that the process has completed. Upload finished

  16. Press the reset button on the motherboard to reboot it.

  17. The machine should show up as a COM/Serial Port on your PC now, and you should be able to access it via OpenPNP. If it doesn't, press the Reset button on the board again, or power-cycle the machine after the flashing is completed.

Compile Marlin (For Developers)

As of this writing (April 2025) the LumenPnP dev team is waiting for an official 2.1.3 Marlin release. Because of how the configuration files are structured and updated with the project, we're building firmware out of a branch until the official release occurs. If you have questions about versions and compiling, please join the LumenPnP Discord Server and we'll help you get it built correctly.

Environment Setup and Compiling

  1. Download the rev05 branch in the sphawes/Marlin fork of Marlin, found here.
  2. Install VSCode and its PlatformIO extension.
  3. Open Marlin firmware's folder in VSCode.

  4. Replace the Configuration.h and Configuration_adv.h files in the Marlin/Marlin folder with config files of the same name in any of the config folders located in the Marlin/Marlin folder.

  5. Select the board you're compiling for. This can be selected by clicking the "env:???????? (marlin)" text in the bottom menu bar, typing the name of the board in the search bar, and clicking the board you want.

  6. Test compiling. this can be done by clicking the checkbox in the bottom icon menu.

  7. After you have Marlin compiling, begin making your edits. Many changes can be done in the Configuration.h and Configuration_adv.h files, especially for wide body mods, default acceleration and speeds, switching to endstops, and other basic config changes.

Uploading

  1. Attach the LumenPnP Motherboard to your computer with the included USB cable (USB C to A for Motherboard 3.0, or USB B to A for Motherboard 4.0).
  2. Boot your motherboard into DFU Mode

    1. Press and hold the BOOT button
    2. Press the Reset button and hold for 10 seconds
    3. Release the Reset button and wait for 10 seconds
    4. Release the BOOT button Boot and Reset buttons on the motherboard

    NOTE

    If you have a hard time getting your board to enter DFU mode, instead try powering off the machine entirely, holding the 'BOOT' button, plugging in power, waiting 10 seconds, then release the BOOT button.

  3. Upload firmware to the board.

    1. via PlatformIO:

      Upload button in PlatformIO

    2. via dfu-util command line utility. PlatformIO puts the built binary in Marlin/.pio/build/BOARD_NAME/firmware.bin.

      dfu-util -d 0x0483:0xdf11 -s 0x08000000:leave -a 0 -D ~/path/to/firmware.bin
      
    3. via STM32CubeProgrammer (process shown above)

  4. When finished, press the reset button on the motherboard to boot the new firmware.

  5. The machine should show up as a COM/Serial Port on your PC now, and you should be able to access it via OpenPNP. If it doesn't, press the Reset button on the board, or power-cycle the machine after the flashing is completed.

Troubleshooting

If you aren't able to upload, you can check to see if your motherboard is booting into DFU mode correctly:

  • Windows:

Device Manager

  • Mac/Linux:

lsusb output

Also, reference the Marlin instructions for uploading.