Skip to main content

Introduction

Check the trouble shooting FAQ page here if you having any issues, you may be able to find a solution.

  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.

    • BTT/Raspberry Pi

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

    • BTT Octopus MAX EZ Control Board

    • The Octopus 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.

    • Each board has its own firmware. In this stage we will set up the two firmware's - starting with the Pi board.

  2. Download the Klipper firmware image here.
    • Download the Klipper firmware image here.

    • You will also need to download an image writing software. We recommend using Balena Etcher.

    • You will also need a text editor:

    • 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.
    • 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 15min.

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

    Before flashing, I get a format prompt, which in turn fails to process. After the flashing, the system automatically disconnects the drive, which I think corrupts it. So every time I try to reinsert the drive I get a fix error/corrupt prompt, which also fails. At this point I've lost 3 cards and out $20. Please advise.

    Dean Mabalot - Reply

    You should not need to "fix" the drive after it's done flashing. it should show up as boot for you to access in the next step. If a drive is corrupted then the partition will need to deleted and reset. This can be done with something like mini-tool-partition-wizard on windows. It's very unlikely that your SD card will need to be binned.

    Makertech 3D -

  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.

    • Go the system.cfg file.

    • Set the host name to proforge4

    • Set your timezone. Use the list here.

    • Input your WiFi networks name and password.

    • Make sure to remove the # at the front of the line to activate each section.

    • Save the file when done.

    • It is very important to safety eject the SD card when removing it. Not doing so could corrupt it.

    Make sure to remove the "#" symbol at the beginning of each of the edited lines.

    Pete Pubben - Reply

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

  6. Double check the wiring, in particular the mains wiring from the power port to the two power supplies and the wiring to the control board. Make sure that everything is wired correctly and also that none of the cables are loose from their terminals.
    • Double check the wiring, in particular the mains wiring from the power port to the two power supplies and the wiring to the control board.

    • Make sure that everything is wired correctly and also that none of the cables are loose from their terminals.

    • Double check the power supplies have there 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.

  7. 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 proforge4.local

    • It is normal to see an error here that the printer cannot connect, this is because we still need to upload our config files.

    • Also check that the electronics fan on the base and the print head fans are all spinning.

    If it were not for having the touch screen, I'm not sure how I would have gotten this to work. I could not connect to mainsail. Using the touch screen I went through and updated what showed out of date. Moonraker among other things needed a hard recovery which basically cloned into the repo to install it. This got it working. For some reason I couldn't even ping the host before that

    Darren - Reply

    despite changing the hostname as instructed, i had to type in "http://btt-cb1.local/", NOT "proforge4.local".

    you can doublecheck the host name under the wifi settings.

    my screen resolution remained wrong until i was connected to wifi.

    Paul - Reply

    I'm stuck at this point too. Any updates?

    Dean Mabalot - Reply

    Are you having trouble loading the interface or with updating the firmware?

    The SD card shrinking is normal.

    Makertech 3D -

    I also noticed that the SD card has shrunk in capacity as well, to less than 300 MB

    Dean Mabalot -

    I have this issue but how do you upload the file? No wifi connected and no usb working at this stage

    Xavier GUERIN - Reply

    I think without internet you cannot proceed. but once connected to internet you can also update from the touchscreen GUI itself.

    Paul -

    At this point, if you get an error "Include file generic-bigtreetech-xxx.cfg does not exist", don't worry about it. Follow the instructions to upload the actual printer.cfg file from github (Step 7), and then initiate a firmware restart.

    Trees - Reply

    Thank you for letting me know. I was concerned and about to report this in!

    roger james -

  8. Before starting anything else we need to update the OS to the latest version. Do this by going to machine and then search for updates.
    • Before starting anything else we need to update the OS to the latest version.

    • Do this by going to machine and then search for updates.

    • Then hit update - this can take few minutes and you may need to restart the process if there's an error which is normal, it will eventually complete.

  9. Download the config files from here. In the machine section click on the upload file button.
    • Download the config files from here.

    • In the machine section click on the upload file button.

    • Upload the printer.cfg, macros.cfg, variables.cfg and S2DW.cfg files. Upload the Orbiter Filament Sensor config files also, if you have those sensors installed.

    If you encounter an error 'ADC out of range' and are building 2 toolheads and not 4, be sure to disable extruder2 and extruder3 by commenting them out in the printer.cfg file, then saving and restarting the firmware.

    Without disabling those sections, the BTT Octopus Max will try to read non-existent thermistor data, which will usually give a value in the couple of million degrees Celsius and thus trigger the 'ADC out of range' error.

    Trees - Reply

  10. The firmware file for the Octopus board is something that needs to be created by Klipper on the Pi.
    • The firmware file for the Octopus board is something that needs to be created by Klipper on the Pi.

    • It's important that before starting this step you are running an up-to-date version of Klipper.

    • Major updates to future Klipper versions may require you to re-generate the Octopus boards firmware. Just follow these next few steps again in order to do this.

    • Download Termius.

    • Termius is an incredibly useful SSH software that will allow us to access the Pi in order to generate the firmware for the Octopus board.

  11. 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:
    • 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 biqu@proforge4.local

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

    If, like me, you had some issues with the domain - replace "@proforge4.local" with your domain. see my comment in step 8.

    Paul - Reply

  12. Enter biqu for both the username and password. After successfully logging in you should see a screen like this. After successfully logging in you should see a screen like this.
    • Enter biqu for both the username and password.

    • After successfully logging in you should see a screen like this.

    I highly recommend updating the login credentials when you get a chance for security purposes

    Darren - Reply

  13. After logging in send the following commands to the terminal: cd ~/klipper/
    • After logging in send the following commands to the terminal:

    • cd ~/klipper/

    • followed by:

    • make menuconfig

    • After hitting enter a config menu should pop up. Use the arrow keys on your key board to match the options selected in the image.

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

    Pay close attention to the items below the blue highlighted line. You will need to go down to some of these lines and toggle them to match.

    roger james - Reply

  14. 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.

  15. Whilst we're here we also need to get something called a USB Serial ID - each one is unique to each Octopus control board.
    • Whilst we're here we also need to get something called a USB Serial ID - each one is unique to each Octopus control board.

    • Make sure that Octopus board is connected to the Pi board Via USB before starting.

    • Find yours by sending:

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

    • Copy the output to a notes or word file for now. We will need it later.

    Use CTRL+Shift+C to copy to the clipboard

    roger james - Reply

  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: home -> biqu -> klipper -> out
    • 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 -> biqu -> klipper -> out

    • Drag the klipper.bin file over 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 micro SD card that came with the Octopus MAX control board and copy onto it the firmware.bin file.

    • Power off the printer and insert the SD card into the Octopus Max control board as shown. Power on the printer again to flash the board.

    it's the 128 mb SD card that's referred to here - plenty large enough.

    Paul - Reply

    Mine doesn't come with the Micro SD, and is it packed separately?

    Ryan Lim - Reply

    Double check the packaging, a black micro SD card should be there. If not you can use the other 32GB card here temporarily by transferring the files, inserting the card and powering up to flash the board, powering down and then removing the SD card for use in the next step. You can also copy the firmware file to the board by directly by connecting the board to your PC - remember to always safety eject.

    Makertech 3D -

  18. In mainsail open the printer.cfg file that you previously uploaded, by clicking on it. Paste the line that you previously copied here, after serial:
    • In mainsail open the printer.cfg file that you previously uploaded, by clicking on it.

    • Paste the line that you previously copied here, after serial:

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

    • Click Save & Restart when done.

  19. If you have less than all four of the print heads installed, you will need to comment out sections of the printer.cfg file as shown.
    • If you have less than all four of the print heads installed, you will need to comment out sections of the printer.cfg file as shown.

    • If you have just one print head, leave just the {extruder] section uncommented. Use a # infront of each line of the remaining [extruder1..2..3] sections that you don't have installed to de-activate them.

  20. After restarting Klipper you should now have a connection with the printer.
    • After restarting Klipper you should now have a connection with the printer.

    I had an error that relative_reference_index is no longer valid in the bed mesh section of the printer.cfg file, so I've commented it out – hope that is the right thing to do. Googling tells me it was deprecated for a while, but now its gone completely and so causes an error which stops Klipper from starting up.

    Mark Wheadon - Reply

  21. In the mainsail dashboard check that you are receiving the correct temperature readings for all installed print heads and heated bed - i.e. room temperature
    • In the mainsail dashboard check that you are receiving the correct temperature readings for all installed print heads and heated bed - i.e. room temperature

  22. Set the part cooling fan to 100%
    • Set the part cooling fan to 100%

    • Set the static cooling fans to 100%

    • Set the filter fan (if installed) to 100%

    • Check that all of the fans are spinning.

    @makertech3d minor, but - pink and blue arrows are inversed in the image

    Paul - Reply

  23. Make sure that none of the endstops on the printer are being mechanically triggered. In the Mainsail console send the command QUERY_ENDSTOPS
    • Make sure that none of the endstops on the printer are being mechanically triggered.

    • In the Mainsail console send the command QUERY_ENDSTOPS

    • The end stops should all return open.

    • One by one, trigger the end stops and the probe (by placing a metal object under it) and resend the QUERY_ENDSTOPS command.

    • Verify that each endstop and the probe are functioning correctly.

    If you don't see the end stop states reported in the status area below the command line, scroll up or down. It may be hidden out of view

    roger james - Reply

  24. Scroll down the dashboard on Mainsail.
    • Scroll down the dashboard on Mainsail.

    • You should then see in the Miscellaneous box Filament Sensor readouts.

    • Load filament in to trigger the sensors and check that these are correctly updating.

    • Sensor 0 is the first extruder (nearest the front of the machine).

    • Sensor 1 is the second extruder.

    • Sensor 2 is the third extruder.

    • Sensor 3 is the fourth extruder.

    The filament sensors will not show up in miscellaneous if you skipped ahead and already did step 25

    Darren - Reply

    On my machine with Orbiter V2 filament Sensor, the ^!PFx (where x is the specific print head), caused the sensor to give a false positive when no filament was present. I had to change it to read ^PFx to indicate correct status.

    roger james - Reply

    Printer.cfg file has been updated

    Makertech 3D - Reply

    If your main filament sensor (or one of the extras) reads "active" when there's nothing inside of it, check the printer.cfg file and ensure that the switch pins are set to ^! and not just ^:

    [filament_switch_sensor filament_sensor]

    switch_pin: ^!PF4

    pause_on_runout: True

    Trees - Reply

  25. If you have the Orbiter Filament Sensors installed you will need to activate them in the firmware. Check first that you have the OrbiterSensor.cfg files uploaded. They can be found here. Go to the printer.cfg file and remove the # from the front of the sensors you have installed.
    • If you have the Orbiter Filament Sensors installed you will need to activate them in the firmware.

    • Check first that you have the OrbiterSensor.cfg files uploaded. They can be found here.

    • Go to the printer.cfg file and remove the # from the front of the sensors you have installed.

    • Scroll down and add a # to the sensors you have installed.

    • Orbiter Sensors will auto-load filament and push button unload filament when the print head is selected.

  26. Manually move the tool head to roughly the centre of the print area. Also make sure that the platform is not set all the way to the top or bottom, but somewhere safe in the middle.
    • Manually move the tool head to roughly the centre of the print area. Also make sure that the platform is not set all the way to the top or bottom, but somewhere safe in the middle.

    • Send the command: STEPPER_BUZZ STEPPER=stepper_x

    • This will move the front left and rear right motors clockwise by a small amount and then return it to its original position. It will do this several times.

    • Send the command: STEPPER_BUZZ STEPPER=stepper_y

    • This will move the rear left and front right motors anti-clockwise by a small amount and then return it to its original position. It will do this several times.

    • If the above described movements do not occur, power down and double check you wiring.

  27. Send the command: STEPPER_BUZZ STEPPER=stepper_z
    • Send the command: STEPPER_BUZZ STEPPER=stepper_z

    • This will move the the z-motor in the front left corner anti-clockwise by a small amount and then return it to its original position. It will do this several times.

    • Send the command: STEPPER_BUZZ STEPPER=stepper_z1

    • This will move the the z-motor in the back left corner anti-clockwise by a small amount and then return it to its original position. It will do this several times.

    • Send the command: STEPPER_BUZZ STEPPER=stepper_z2

    • This will move the the z-motor in the back right corner anti-clockwise by a small amount and then return it to its original position. It will do this several times.

    • Send the command: STEPPER_BUZZ STEPPER=stepper_z3

    • This will move the the z-motor in the front right corner anti-clockwise by a small amount and then return it to its original position. It will do this several times. If the above described movements do not occur, power down and double check you wiring.

    Be careful to check if the coupler might be loose; otherwise you might not see the motion even though it is happening!

    Paul - Reply

  28. Before starting make sure that the bolts holding the drive shaft onto the servo are loose so that the servo shaft can move freely inside it. Go to the macros section in the control tab and set the servo angle (Cam Position) to 0 and hit enter. You should hear the servo move.
    • Before starting make sure that the bolts holding the drive shaft onto the servo are loose so that the servo shaft can move freely inside it.

    • Go to the macros section in the control tab and set the servo angle (Cam Position) to 0 and hit enter.

    • You should hear the servo move.

    • Set the angle to 135 and then back again to 0.

    • With the servo positioned at zero and the servo cam flat, tighten the bolts on the drive shaft down onto the servo gear.

  29. Test the servo by sending a command to move it to 135 degrees.
    • Test the servo by sending a command to move it to 135 degrees.

    • The cam should rotate anti-clockwise.

    • Send another command to move it back to 0 degrees.

  30. Manually move the tool carriage to a print head and slot the cam head into the tool plate. Send a servo command to rotate the cam to 135 degrees. The tool changer should pick up and hold the print head.
    • Manually move the tool carriage to a print head and slot the cam head into the tool plate.

    • Send a servo command to rotate the cam to 135 degrees.

    • The tool changer should pick up and hold the print head.

    • To release the print head, send a 0 command to the servo.

  31. Before starting ensure the spring steel flexplate is placed onto the platform.
    • Before starting ensure the spring steel flexplate is placed onto the platform.

    • Attach to the carriage manually the first print head.

    • Move the print head over the print platform and manually raise the z-axis to meet it.

    • Adjust the probe height so that it triggers (red LED shines) before the tip of the nozzle touches the bed.

    • The bottom of the probe should be above the tip of the nozzle. But the probe should trigger before the nozzle touches the bed.

  32. Check that all axes home correctly.
    • Check that all axes home correctly.

    • Home X, Y and finally Z.

    • Before attempting to home the Z axis, be sure the flexible steel build plate is installed. The inductive sensor will not pick up the bed correctly without it.

  33. The pick up positions for each print head should be as follows: Print head 0  -  X:-70 Y:14 Print head 1  -  X:-70 Y:108
    • The pick up positions for each print head should be as follows:

    • Print head 0 - X:-70 Y:14

    • Print head 1 - X:-70 Y:108

    • Print head 2 - X:-70 Y:201

    • Print head 3 - X:-70 Y:296

    • Use mainsail to check that these positions line up on your build and that the tool carriage is able to pick up all of the print heads and place them back.

    • Move the tool head incrementally as you get close to these positions, checking that the cam is safely slotting into each tool plate.

    • If you find that these positions need adjusting, they can be done so in the variables.cfg file.

    Warning! before attempting to home the Z axis, be sure the flexible steel build plate is installed. The inductive sensor will not pick up the bed correctly without it and you will not get a proper bed detection and will place strain on the gantry as the bed pushes up against it.

    roger james - Reply

    Added this point to the step, thanks!

    Makertech 3D -

  34. Use the macros to select and dock the print heads. Run through all of them making sure that the printer is able to safely select and dock each print head.
    • Use the macros to select and dock the print heads. Run through all of them making sure that the printer is able to safely select and dock each print head.

    • Note, take care when manually selecting and docking to avoid a crash. i.e. Do not select a print head whilst another is already selected!

  35. At this point we can do some fine tuning of the printer by measuring input shaping values.
    • At this point we can do some fine tuning of the printer by measuring input shaping values.

    • Follow the Input Shaping tuning guide here. Come back to this stage when done.

  36. Heat up the print heads and heated bed as shown.
    • Heat up the print heads and heated bed as shown.

    • The thermistor values should increase as the hotends and bed heat up.

    • Keep an eye on your printer during this step.

    • The hotends and bed will be hot enough to cause burns, take care when operating.

  37. With the hotends hot, re-tighten the nozzles. This is called hot tightening and should be done when a new nozzle is installed to prevent leaks.
    • With the hotends hot, re-tighten the nozzles. This is called hot tightening and should be done when a new nozzle is installed to prevent leaks.

    • The hotend will be hot enough to cause burns, take care and never touch the hotend directly with your fingers!

  38. With the hotends hot, check that the extruders are all functioning. Select and dock tool heads to cycle through the hotends.
    • With the hotends hot, check that the extruders are all functioning.

    • Select and dock tool heads to cycle through the hotends.

    • Use the extrude button to turn the extruder.

    • After sending an extrude command the extruder should rotate clockwise.

    • Note, that the extruders will only turn when the hotends are hot (150C).

    • We recommend marking the front of the extruder here to be able to see clearly the direction the motor is turning.

    Oddly enough for me, the extruders did turn without the hotends being hot (at 32°C).

    Do I need to fix this?

    MrZeRoXaS - Reply

    Firmware has been updated with 150 min extrude temp

    Makertech 3D -

  39. Whilst the bed and first hotend are still hot we can set up the probe offset. Home the printer and Select T0. Move the print head to the centre of the bed.
    • Whilst the bed and first hotend are still hot we can set up the probe offset.

    • Home the printer and Select T0.

    • Move the print head to the centre of the bed.

    • With the print head now in the centre of the print area and with the hotend and bed hot send the command PROBE_CALIBRATE

    • Place a piece of paper between the nozzle and the platform. Use the wizard to raise/lower the nozzle. Stop once it grips the paper.

    • When happy hit accept. Send the SAVE_CONFIG command to save the offset.

  40. Attach the spool holders to the left side of the frame. The spool holders are made up of the following:
    • Attach the spool holders to the left side of the frame. The spool holders are made up of the following:

    • M5 x 100mm Bolt

    • M5 Penny Washer

    • M5 T-Nut

    • These bolts were missed out from the first batched have since been shipped to everyone that has a machine from the first batch. If you have not received a separate packet with these bolts please get in touch with us at info@makertech3d.com.

Finish Line

9 other people completed this guide.

Makertech 3D

Member since: 03/09/2018

43,952 Reputation

110 Guides authored

2 Comments

If you've got it lying on its side, install the rear panel as well

Paul - Reply

Add Comment

View Statistics:

Past 24 Hours: 0

Past 7 Days: 40

Past 30 Days: 238

All Time: 1,849