Skip to main content
  1. The Proforge 4 is powered by Klipper Firmware which is an open source 3D printer firmware developed by the very talented Kevin O'Connor.
    • The Proforge 4 is powered by Klipper Firmware which is an open source 3D printer firmware developed by the very talented Kevin O'Connor.

    • The BTT Pi v2 board is an SoC (System On a Chip) board - essentially a mini-computer. It is what runs Klipper and can be considered the "brain" of the 3D printer.

    • The SKR 3 EZ board is a controller board. It takes instruction from the Pi board and controls the various components on the printer. It can be considered as the "nervous system" of the printer.

    • The SO3 Tool Board is a controller board similar to the SKR board but designed for the print head.

    • The Eddy Probe also needs firmware flashing to it.

    • Each board has its own firmware. In this stage we will flash these four firmware's - starting with the Pi board.

    • Download the ProForge 300 Klipper Firmware Image here.

    • Last updated 12-12-2024

    • Extract the file after downloading.

  2. To Flash the SD card you will need an image writing tool. We recommend using Balena Etcher.
    • To Flash the SD card you will need an image writing tool. We recommend using Balena Etcher.

    • To edit text files you will need a text editor, we recommend:

    • Windows: Notepad++

    • Mac: Sublime Text

  3. Take the included 32GB SanDisk SD card and flash onto it the Klipper firmware image that you downloaded in the previous step. Use Balena Etcher to do this.
    • Take the included 32GB SanDisk SD card and flash onto it the Klipper firmware image that you downloaded in the previous step.

    • Use Balena Etcher to do this.

    • The process will take roughly 10min.

    • After flashing it, keep the SD card plugged in for the next step.

  4. The Flashed SD card should now show up named BOOT, open it.
    • The Flashed SD card should now show up named BOOT, open it.

    • MAC's can sometimes struggle to open this type of storage format - we're working on a way around this so currently you will need to use a Windows device to access this file.

    • Go the system.cfg file.

    • Set the host name to your printers name - ProForge300 (should already be set).

    • Set your timezone. Use the list here.

    • Input your WiFi networks name and password.

    • Make sure the # at the front of the line is removed to activate.

    • Save the file when done.

  5. Open the armbianEnv.txt file to check the touch screen display is enabled via dsi.
    • Open the armbianEnv.txt file to check the touch screen display is enabled via dsi.

    • overlays=dsi

  6. Carefully lay the printer down on its back. Let the base of the printer hang off the tables edge to allow access for the power cable.
    • Carefully lay the printer down on its back. Let the base of the printer hang off the tables edge to allow access for the power cable.

    • The printer should stay on its back like this until we have completed the firmware flashing stage.

    • Insert the flashed SD card into the BTT Pi board as shown.

  7. Check your wiring, in particular the mains wiring from the power port to the two power supplies and the wiring from the power supplies to the control boards. Check that none of the cables are loose from their terminals.
    • Check your wiring, in particular the mains wiring from the power port to the two power supplies and the wiring from the power supplies to the control boards.

    • Check that none of the cables are loose from their terminals.

    • Check the power supplies have their voltage input switches set to your mains voltage, 230V for Europe and 110V for North America.

    • When happy plug the cable into the back of the printer and flip the switch at the front to power up.

    • Be careful when powering up, the electronics will be exposed in this stage - do not touch terminals when powered up!

  8. On first boot the printer may cycle through boot ups. If you have the touch screen installed, you will notice this on the screen.
    • On first boot the printer may cycle through boot ups. If you have the touch screen installed, you will notice this on the screen.

    • When the printer has successfully connected to your network you will also be able to access it through a web browser that's on the same network.

    • You can do this by going to proforge300.local

    • If the .local address is not working, check your router for connected devices to find the IP address of the printer. Use that IP address in place of the proforge300.local.

    • It is normal to see an error here that the printer cannot connect, this is because we still need to flash firmware to the other boards.

    • Check that the electronics fan on the base is spinning.

  9. Do not update components of the firmware - doing so may break certain aspects of the configuration.
    • Do not update components of the firmware - doing so may break certain aspects of the configuration.

    • This is normal, it is a component we have added for print head nozzle calibration.

  10. Download the ProForge 300 config files here. Upload them to the printer.
    • Download the ProForge 300 config files here.

    • Upload them to the printer.

    • HIGHLY RECOMMEDED:

    • We advise everyone to create a GitHub account and follow our repository to get notified every time there is an update to a config file or slicer profile. This will ensure that your printer is always up to date and operating at its best!

  11. Firmware for the SKR board is created using Klipper on the Pi.
    • Firmware for the SKR board is created using Klipper on the Pi.

    • In order to access the Pi we will use a software called Termius. Download it here.

    • The free version of the software is enough for what we need to do.

  12. Install Termius and run through the set up wizard until you reach this dashboard.
    • Install Termius and run through the set up wizard until you reach this dashboard.

    • In the text bar at the top type in the following:

    • ssh makertech@proforge300.local

    • The username and password is makertech

    • Make sure the printer is powered up and the Pi is connected to your local network.

  13. After logging in send the following commands to the terminal:
    • After logging in send the following commands to the terminal:

    • cd ~/klipper/

    • followed by:

    • make menuconfig

  14. You should now see a config menu, use the arrow keys on your keyboard to match the options selected in the image. Double check your control board - some use the STM32H743 chip. The chip model is marked on the chip itself. When done, press Q and then Y to save.
    • You should now see a config menu, use the arrow keys on your keyboard to match the options selected in the image.

    • Double check your control board - some use the STM32H743 chip. The chip model is marked on the chip itself.

    • When done, press Q and then Y to save.

  15. Send a make command to create the firmware file. At the end of the process, you should have a klipper.bin file as shown.
    • Send a make command to create the firmware file.

    • At the end of the process, you should have a klipper.bin file as shown.

  16. Go to the SFTP tab and press Select Host to open up the file browser for the Pi. Navigate to the klipper.bin file by going to:
    • Go to the SFTP tab and press Select Host to open up the file browser for the Pi.

    • Navigate to the klipper.bin file by going to:

    • home -> makertech -> klipper -> out

    • Drag and drop the klipper.bin file to a folder on your computer.

  17. Rename the klipper.bin file to firmware.bin
    • Rename the klipper.bin file to firmware.bin

    • Take the 128mb micro SD card and copy onto it the firmware.bin file.

    • With the printer powered off:

    • Insert the SD card into the SKR Board.

    • Ensure this white switch is in the "popped-up" state.

    • Ensure the USB cable is plugged in.

    • Power back on the printer to flash the board.

  18. Use Termius to SSH back into the printer in order to retrieve the boards serial id.
    • Use Termius to SSH back into the printer in order to retrieve the boards serial id.

    • Ensure that the SKR board is connected to the Pi via USB.

    • Find your unique id by sending:

    • ls /dev/serial/by-id/*

    • The serial id for the SKR board should have stm32h723 or stm32h743 in its name - the other id's are for the eddy probe and print heads.

    • It should be written in the format shown. If you see the word MARLIN or FS_MODE in the id then the board has not flashed correctly - repeat the previous steps. You can also plug the board directly into your pc to copy the firmware.bin file across, bypassing the SD card if it is causing issues.

    • Also note that when flashed successfully the firmware.bin file on the SD card should have renamed itself to firmware.cur.

  19. In mainsail open the printer.cfg file that you previously uploaded. Paste the line that you previously copied here.
    • In mainsail open the printer.cfg file that you previously uploaded.

    • Paste the line that you previously copied here.

    • Ensure to match the format as shown in the image.

    • Click Save & Restart when done.

  20. The firmware file for the Eddy is created in much the same as the firmware file for the SKR.
    • The firmware file for the Eddy is created in much the same as the firmware file for the SKR.

    • Connect to the printer using Termius and enter:

    • cd ~/klipper/

    • Followed by:

    • make menuconfig

  21. After opening the config menu, use the arrow keys on your keyboard to match the options selected in the image. When done, press Q and then Y to save.
    • After opening the config menu, use the arrow keys on your keyboard to match the options selected in the image.

    • When done, press Q and then Y to save.

  22. Before being able to flash the Eddy probe we need to put it in Boot Mode.
    • Before being able to flash the Eddy probe we need to put it in Boot Mode.

    • To do this we will need to unmount the Servo and the Eddy probe.

    • Put Eddy into Boot Mode by:

    • With the printer powered up disconnect the Eddy cable and reconnect it whilst holding down the boot button.

    • Do not remount the Eddy yet, we will remount the Eddy and Servo in the next stage as there are still some more adjustments to be made.

  23. In Termius send the following command: lsusb
    • In Termius send the following command:

    • lsusb

    • It should return with the Eddy in Boot Mode.

    • Note the device ID, in our case 2e8a:0003

  24. Send the following command: cd ~/klipper
    • Send the following command:

    • cd ~/klipper

    • Followed by:

    • make clean

    • make flash FLASH_DEVICE=2e8a:0003

    • Where 2e8a:0003 is your device ID from the previous step.

    • Makertech password is makertech

    • It should take a minute to flash. You may get a failed to reboot error - ignore this. Manually reboot Eddy by unplugging and plugging it back into the Pi.

  25. Send the following to find Eddy's Serial ID:
    • Send the following to find Eddy's Serial ID:

    • ls /dev/serial/by-id/*

    • Copy the Eddy's Serial ID to your clipboard - this will be unique for you. It will be the one with rp2040 in its name.

  26. Insert the Serial ID into the Eddy.cfg file.
    • Insert the Serial ID into the Eddy.cfg file.

    • Make sure it is in the same format as shown.

    • Save and restart when done.

  27. The firmware file for the Print Head Tool Board is created in the same way as the previous boards.
    • The firmware file for the Print Head Tool Board is created in the same way as the previous boards.

    • In Termius enter:

    • cd ~/klipper/

    • Followed by:

    • make menuconfig

    • Learn more about the Orbiter Tool Board here.

  28. After opening the config menu, use the arrow keys on your keyboard to match the options selected in the image. When done, press Q and then Y to save. Before exiting, thoroughly double check that the settings match as shown here, incorrect settings will cause errors.
    • After opening the config menu, use the arrow keys on your keyboard to match the options selected in the image.

    • When done, press Q and then Y to save.

    • Before exiting, thoroughly double check that the settings match as shown here, incorrect settings will cause errors.

  29. Connect via USB just the print head tool board you are flashing - starting with print head 0, the one nearest the front of the printer.
    • Connect via USB just the print head tool board you are flashing - starting with print head 0, the one nearest the front of the printer.

  30. In order to flash a tool board we need to put it in DFU mode. With the printer powered up and the tool head connected hold the following buttons in this order:
    • In order to flash a tool board we need to put it in DFU mode. With the printer powered up and the tool head connected hold the following buttons in this order:

    • Take care when handling a print head - the fan will be spinning.

    • Boot

    • Reset

    • Then release the reset button.

    • Followed by the boot button - the board will now be in DFU mode.

    • The buttons might be a little tricky to access. Hint, use a ceramic screwdriver or simple toothpicks to push the buttons and avoid creating any short over the board with metal tools

    • When in DFU mode the white extruder LED near the nozzle should shine.

  31. Verify DFU mode by sending this command again:
    • Verify DFU mode by sending this command again:

    • lsusb

    • You should see the board in DFU mode.

    • If the board is not showing in DFU mode unplug and replug the USB Hub from the Pi. Wait a moment and check again by re-sending lsusb command.

    • Note the ID, in our case 0483:df11

  32. Send the following command: cd ~/klipper
    • Send the following command:

    • cd ~/klipper

    • Followed by:

    • make clean

    • make flash FLASH_DEVICE=0483:df11

    • Where 0483:df11 is your device ID from the previous step.

    • Makertech password is makertech

    • It should take a minute to flash. You may get an error - ignore this. As long as you have a File downloaded successfully response the board has been flashed

  33. Send the following to find Print Head's Serial ID:
    • Send the following to find Print Head's Serial ID:

    • ls /dev/serial/by-id/*

    • Copy the Tool Boards Serial ID to your clipboard - this will be unique for you. It will be the one with f042 in its name.

  34. Insert the Serial ID into the corresponding so3_x.cfg file.
    • Insert the Serial ID into the corresponding so3_x.cfg file.

    • Where x is 0 for the first print head

    • Make sure it is in the same format as shown.

    • Save and restart when done.

    • Follow from step 28 again and flash the other print heads in the same way.

    • Remember to only plug in the print head you are flashing into the USB hub because each tool board will have unique serial id and this will make identifying print heads easier.

  35. Activate the print heads you have installed by removing the # at the front of the [include so3_x.cfg] line in the printer.cfg file.
    • Activate the print heads you have installed by removing the # at the front of the [include so3_x.cfg] line in the printer.cfg file.

    • Save the config file when done.

  36. In the Variables.cfg file set the number of active print heads.
    • In the Variables.cfg file set the number of active print heads.

    • If you have just one print head installed set the value to 1, and so on...

    • Print heads should be installed in order from the front of the printer. If you are installing two print heads, install them in the first and second position.

    • Save when done.

  37. Check the cameras device ID in the Crowsnest log file. Open the Crowsnest.cfg file. Set device ID to what you found in the Log file: /dev/video9
    • Check the cameras device ID in the Crowsnest log file.

    • Open the Crowsnest.cfg file.

    • Set device ID to what you found in the Log file: /dev/video9

    • Save and restart when done.

  38. After restarting and given you have your board, Eddy Probe and Print Heads flashed correctly they should all be connecting to Klipper as shown.
    • After restarting and given you have your board, Eddy Probe and Print Heads flashed correctly they should all be connecting to Klipper as shown.

    • If you're getting an error you may need to re-flash the indicated component.

    • If you're still stuck you can get support via the Facebook group, discord or emailing us at info@makertech3d.com

    • For klipper related issues google can also be a good resource as klipper is an opensource firmware with many other users.

  39. Go to setting and add a webcam.
    • Go to setting and add a webcam.

    • Name it P300 or anything else you would like.

    • Set the streamer service to UV4L-MJPEG

    • Save when done.

    • If the camera feed drops out intermittently, follow these steps:

    • Try the Adaptive MJPEG-Streamer (experimental) service

    • Ensure the connector is securely mounted and the cable is free of kinks, especially in exposed areas.

    • The cable is shielded, but interference can still occur. Route it away from other cables, especially motor cables, minimizing crossings. For the front left gantry motor cable, run it down the right side of the extrusion. Route the camera cable along the rear.

  40. Ready to move onto the next stage? Click here.
    • Ready to move onto the next stage? Click here.

Finish Line

2 other people completed this guide.

Makertech 3D

Member since: 03/09/2018

50,935 Reputation

137 Guides authored

0 Comments

Add Comment

View Statistics:

Past 24 Hours: 6

Past 7 Days: 26

Past 30 Days: 191

All Time: 665