OctoPrint – Flashforge Creator Pro 2

Before we start, it’s important for you to note that this isn’t a supported setup for the Flashforge Creator Pro 2 to work with OctoPrint, it’s more of a work around. So it’s completely at your own risk.

I’m presuming you already have OctoPrint setup, if not, take a look at the be below article:

How to install OctoPrint / OctoPi on a Raspberry Pi

Also make sure that everything is up to date.

Setup an OctoPrint Printer Profile for the Flashforge Creator Pro 2

Select the settings / spanner icon, and select ‘Printer Profiles’.

Click ‘Add Profile’, and enter the values as shown below:

Click ‘Confirm’.

Set the new profile which we just created, as the default, by clicking the start icon:

Unless you need to keep the default printer, delete it.

Click ‘Save’.

Install the Flashforge plugin

Select the settings / spanner icon, and select ‘Plugin Manager’.

Click the ‘Ger More…’ button below the list of already installed plugins.

Search for Flashforge and install the below plugin:

If asked to restart, do so.

Setup the serial port

Select the settings / spanner icon, select ‘Serial Connection’, and set your settings as below:

General

Intervals & timeouts

Firmware & protocol

Behaviour

Click ‘Save’.

First attempt to connect

On the OctoPrint home page, click the refresh icon in the connection section, make your selection like below, and click ‘Connect’:

You will see an error like this:

If you select the ‘Terminal’ tab, you will see some errors and instructions to allow the Flashforge plugin permissions.

Add permissions for Flashforge plugin

For this, you will neet to SSH to your OctoPi, I like to use Putty, as it’s free and easy. So these instructions are based on using Putty.

1 Open Putty, and enter the IP address of your octopi, or you can use octopi.local instead, select ‘SSH’ and click ‘Open’.

2 Say ‘Yes’ to trusting the host and key:

3 Login to the terminal window.

The default username and password, if you haven’t changed them are:
Username: pi
Password: raspberry

4 Run the below command to open the text editor, so we can edit the file 99-octoprint.rules:

sudo nano /etc/udev/rules.d/99-octoprint.rules

If asked for your password again, enter it.

The file will most likely be blank, so add the below text to it:

SUBSYSTEM=="usb", ATTR{idVendor}=="2b71", MODE="0666"

Save the changes by press CTRL + X, then press ‘Y’ and press enter to confirm the save.

5 Verify the file permissions are set to “rw-r–r–” by typing the below, and pressing enter:

ls -al /etc/udev/rules.d/99-octoprint.rules

It should show as below:

Reboot OctoPi by typing the below and pressing enter:

sudo reboot

After the reboot, your should see your the serial port has changed to the actual name of your printer.

Amend the serial port

Select the settings / spanner icon, select ‘Serial Connection’, and set your settings as below:

Click ‘Save’

That’s it, you can now use OctoPrint.

Final notes and caveat

Now as I said at the start, this isn’t an official or supported path, but for the post part it does seem to work. However, twice I have had it stop printing mid way through, complaining about the connection being lost. I haven’t tried replacing the USB cable yet, but it could just be that.

Please feel free to comment below about how it works for you, and if you have anything to add to make the setup better.

Good luck and enjoy.

12 Comments

  1. I wasn’t able to get this tutorial to work. If you are willing and able to help, please drop me a line.

    • Sorry, just seen your comment in between a ton of spam ones. What part did you have issues with?

    • Thinking about this a little more, if you have the GPX plugin enabled, please disable it and restart.

      • Disabling the GPX plugin made it work for me. But don’t I need the GPX plugin to send files for printing?

  2. Hi, Great detailed write up!

    Quick query – Have you been able to use the IDEX features of the Creator Pro 2 via OctoPrint to produce mirrored or duplicated prints? I.e. can you succesfully print in mirror/duplicate mode or is it limited to only being able to print with a single extruder at a time?
    If you have had this working succesfully, what slicer are you using and have you needed to use any special GCODE commands in either the slicer or OctoPrint for this to work correctly?

    • Unfortunately not sorry, but I’ve not really had much time to try it either sorry. I think the plug-in will need to be updated, to handle the idex, as it does heat the other extruder, but doesn’t print.

      If I make any progress, I’ll update you.

  3. Thanks for this! Finally connected FFCP2 to OctoPi thanks to this.
    I’ve had so much trouble getting the FFCP2 machines to connect to anything. Even via USB to PC. Running 6 machines 12+ hours a day. I need a solution that’s better than physically updating SD cards and running around inserting them.
    The challenge, as with the guy above, I almost exclusively use both extruders to duplicate prints.
    I wonder how difficult it would be to add IDEX support on the FlashForge plugin. I am a reasonably competent coder, but wouldn’t even know where to begin with this. Any ideas?

    • Unfortunately I haven’t had time to try this again since, but it may be worth connecting with the plugin creator, as they may be able to update it to enable IDEX support. Let us know how you get on.

  4. I have followed each step and have successfully had the serial connection but only for a period of about 30 seconds. After the connection times out the serial connection becomes unknown and unless I reboot and switch usb ports on the pi it remains so. Here are my current terminal logs:

    Changing monitoring state from “Offline” to “Detecting serial connection”
    Performing autodetection with 1 port/baudrate candidates: FlashForge Creator Pro 2 3D Printer, port:1:5@115200
    Trying port FlashForge Creator Pro 2 3D Printer, port:1:5, baudrate 115200
    Handshake attempt #1 with timeout 2.0s
    Connected to: , starting monitor
    Send: M601 S0
    Recv: CMD M601 Received.
    Recv: Control Success.
    Recv: ok
    Changing monitoring state from “Detecting serial connection” to “Operational”
    Send: M115
    Recv: CMD M115 Received.
    Communication timeout while idle, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
    Send: M105
    Communication timeout while idle, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
    No response from printer after 3 consecutive communication timeouts, considering it dead. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
    Closing down send loop
    Changing monitoring state from “Operational” to “Offline (Error: Too many consecutive timeouts, printer still connected and alive?)”
    Connection closed, closing down monitor
    Changing monitoring state from “Offline” to “Opening serial connection”
    Changing monitoring state from “Opening serial connection” to “Connecting”
    Connected to: , starting monitor
    Send: M601 S0
    Unexpected error while reading serial port, please consult octoprint.log for details: FlashForgeError: ‘USB Error readraw() (LIBUSB_ERROR_PIPE [-9])’ @ comm.py:_readline:3831
    Unexpected error while writing to serial port: FlashForgeError: ‘USB Error write() (LIBUSB_ERROR_PIPE [-9])’ @ comm.py:_do_send_without_checksum:4686
    Changing monitoring state from “Connecting” to “Offline (Error: FlashForgeError: ‘USB Error write() (LIBUSB_ERROR_PIPE [-9])’ @ comm.py:_do_send_without_checksum:4686)”
    Connection closed, closing down monitor
    Changing monitoring state from “Offline” to “Opening serial connection”
    Changing monitoring state from “Opening serial connection” to “Connecting”
    Connected to: , starting monitor
    Send: M601 S0
    Unexpected error while reading serial port, please consult octoprint.log for details: FlashForgeError: ‘USB Error readraw() (LIBUSB_ERROR_PIPE [-9])’ @ comm.py:_readline:3831
    Unexpected error while writing to serial port: FlashForgeError: ‘USB Error write() (LIBUSB_ERROR_PIPE [-9])’ @ comm.py:_do_send_without_checksum:4686
    Changing monitoring state from “Connecting” to “Offline (Error: FlashForgeError: ‘USB Error write() (LIBUSB_ERROR_PIPE [-9])’ @ comm.py:_do_send_without_checksum:4686)”
    Connection closed, closing down monitor

    Any help would be greatly appreciated. Octoprint 1.5.2, Python 3.7.3, Octopi 0.18.0

    • If you have the GPX plugin enabled, try disabling it. Probably worth checking your USB cable. Also, OctoPrint will not connect when showing auto, you have to select the specific printer.

  5. I have this same issue. It connects and then shortly thereafter disconnects. It goes to unknown device shortly after connecting. Ran a print and it lost connectivity after 5 hours so job failed.

Leave a Reply

Your email address will not be published.


*