Anycubic ‘D’ Predator upgrade to Duet – Part 1

After building my printer on the dining room table, I knew I would have to move it out into my workspace in the garage. My wife has a “no wires in the house” policy that I have to abide to.

Whilst moving the predator, which is just about doable by myself, I managed to damage the SD card slot. The main annoyance with this is I won’t be able to update the firmware and I won’t be able to use the printer without plugging it in via USB. I could control it using Octoprint but this wasn’t my ultimate plan. This meant that converting the printer to a duet controller has been brought forwards.

I have a duet 2 ethernet v1.04. It’s a controller that I was using to control my Anycubic Kossel Linear Plus. I was planning on selling the linear plus machine, but seeing it next predator, I may just keep it so I have something a little more portable. At the moment, I’ve fitted the linear plus with an MKS Sbase V1.3 but its not performing as I would’ve liked. I may end up buying either another duet or a Bigtreetech SKR.

Anyway, back on the topic of installing the duet to the predator.


  • There are 4 x motors connections. X, Y, Z and E.
  • There are 3 x optical endstop connectsions. X, Y and Z.
  • There is one probe connection.
  • There is one filament sensor connection.
  • There is one fan connector for cooling the board.
  • There is one fan connector for the 2 sets of fans mounted to the effector.
  • There is one hotend thermistor connector.
  • There is one heated bed thermistor connector.
  • There are bare wires for the heated bed, hotend and power in cables.

Each of the connections need modifying in some way or another to be able to fit them to the duet. One of Anycubics bad habits is to tin the end of the bare wires with solder. This is widely accepted as being bad practice. Therefore, the end of each bare cable needs to be cut off, stripped back and either left bare or crimped with a bootlace ferrule. I prefer bootlace ferrules that are uninsulated so its easier to get them in to the terminals. You’ll also find this applies to the cables which run to the heated bed mosfet.

The endstop wiring needs to be wired differently in the connector to work with the duet. The three images below are from looking at the connector from the top as it it was connected to the board.

The above images show the original connector on the left and the duet connector on the right. Apparently, Anycubic haven’t been consistent with their wire colours so just check your cables match mine. Otherwise use the before and after pictures to help configure yours.

The z probe connector should be wired as shown below. It doesn’t matter whether your wire colours match mine as its just a mechanical switch.

The filament sensor should be wired as shown below. Same principal applies with the original on the left and the duet connector on the right.

The motors can be wired as they are. The duet wiring shows the red and blue connectors the other way round but this doesn’t matter and can be wired in the order they are installed on the trigorilla pro.

Fan connections at the effector end of the wiring

The only connections that need any major change are the fan connectors. The trigorilla connector had both set of fans ran off one connector, but the duet doesn’t have this capability. All three fans are connected together using the positive as shown in. The duet switches the fans on and off using the ground connector so you may be able to split off the negative for the one fan and have that in a single connector. I decided to run another cable and fully separate out the fan. The wires are as follows:

  • Red – Fan 2 (Hotend fan) ground
  • Blue – Fan 0 (part cooling fans) ground
  • Yellow – Positives for all 3 fans wired together.

You can now connect everything to the duet. I separated out all 3 fans. The part cooling fans are connected to Fan 0 and Fan 2 and the hotend fan is connected to Fan 1. The z probe is connected to E0 and the filament sensor is connected to E1. The rest should be self-explanatory and if you get stuck, use the duet wiring schematic here.

Here are my config files for the duet. I now have a GitHub repo with all of my config files. The only one that may need adjusting is the filament sensor as I have not tested this yet and it may need changing from active high to active low.

When turning the machine on, home all the towers. Then go through the delta auto calibration and you should be good to go.


  1. Hallo
    I have a predator, too. Im moment it is defect, no connect to usb and the 2nd leveling ist performing in the middle of the z-axis. Anycubic support will send me a new mainboard , i hope it will run again, when it is installed.
    But i am thinking of installing a duet board , too. Your blog is very helpful for me. But therer were some Questions….
    The duet board can be installed for the trigorilla in the same attachment?
    How about the connections for SD Card and ethernet? Drilling a hole in the casing?
    Hope you can help me…..

    1. The duet board can’t be mounted using the same attachment as the hole centres are different.
      With the way the duet works, once its setup and connected to your network, unless you break something, you never need to connect via USB again and never need to access the SD card.
      So it depends which board you go for. The duet wifi connects via wifi and that’s it, so no external slots needed. The duet ethernet connects via cable so needs an external connection. For now, I am running my predator with the top off but I have ordered a panel mounted ethernet connector. I’ll blog about fitting it once I get it. I’m also going to get round to designing myself a new mount.
      But before you upgrade the board, I suggest we work on getting your predator printing first to make use it all works.
      If you want, we can email etc to see if we can get you sorted?

      1. Hallo
        yes , i think you are right – first i connect the spare board that comes from anycubic. If this works fine , i will think about upgrading , maybe with the Duet ethernet.
        The mainboard now is broken , i think – no connect via USB and automatic bedleveling in the air are no good signs. But i will get the replacement in some days..

  2. Hallo
    Does anyone know more about the trigorilla board in the predator. I would like to do a full reset – possible is it will run again….

  3. Hallo
    Today my patience with anycubic got an end. I wrote to amazon, disassembled the printer and sent it back.
    At Friday i got the spare mainboard from anycubic and it doesn`t work. It was filled with firmware for the I3 Mega and i can`t upload the Predator Soft…
    This was enough- i think you understand this.
    Now i don`t know what to do – switch to Tevos little monster or buy a new predator, or any other big size Printer. What do you prefer?
    Hans – Joachim

  4. Hallo
    Back again, for the last time 🙁
    Anycubic couldn`t help me with my problem , so i disassembled the Printer and send it back to Amazon.
    Yesterday i bought a new one , hope this will be more lucky for me. It is a Flyingbear Tornado 2 , also not a cheap Printer with a big Bed…

    1. Hello, I have a duet 2 wifi board installed according to your instructions. Unfortunately, I can not make a reference ride. The Z engine drives to the limit switch and then it buzzes all the time. The axes x and y do not move at all. When I swap the axes in the firmware, all axes normally drive only in the wrong direction (to the bed). Would be cool if you could help me.

      1. I’m away until Monday. I can give you a hand after then. I’ll email you on the address you registered with.

  5. Hello, I could solve the problem myself – had connected a stepper motor wrong.

    For that I have destroyed the duet now … I was not sure how the fans should be connected. In any case, the board now delivers no 3.3 volts and no more 5 volts. A new board has been ordered.

    Question: can you go back to the cabling of the fans? The best with photos and what you have set in the firmware?

    Thank you!

    1. My firmware is on GitHub although it’s a little out of date in terms of my current setup but should help you if you’re just swapping over the board.
      In terms of fans, if I remember correctly, they are all switched to ground, the same as the duet setup. I ended up rewiring my machine from the board to the effector as I needed more wires. If you follow the wiring guide on the duet wiki you should be ok. Anycubic are known to change their wire colours without warning so make sure you double check before plugging something in.

      1. Initially you said you separated out the part cooling fans to fan 0 and fan 2. How did you control them in RRF3?

        1. I don’t personally have that setup any more but you would add the following
          M950 F2 C"fan2" Q500
          M106 P2 S0 H-1

          And modify the tool code to
          M563 P0 D0 H1 F0:2

          1. Thanks I’ll give that a shot.
            So far everything else is working beautifully.
            I have to take a little more time on the initial set-up for each print but they come out incredibly nice.
            I used the bottom half of to mount the board and the always on fan. Worked out very well.
            Really appreciate your work for this.

  6. Hello I just got the Anycubic Predator and I want to upgrade with Duet 2 wifi 7″ screen.

    Your config files on GitHub can I use them as there are or do I have to edit something in them ?

    I want to say this upgrade is new to me and never done a duet upgrade before.

    1. You should be fine using the config as it stands. The config on GitHub is for a stock machine with no changes other than the board.
      As my machine has a few changes from stock e.g. a BMG extruder, shorter Bowden, 0.9 degree motors and smart effector, I intend to create a separate branch for that config for people to compare against once I’m home.

        1. I can’t remember the exact part number of them. What I can tell you is that they are 42 motors with 2.4 amp phase. I’ve had them for about 9 years from previous 3d printers I’ve made. I’ll make sure I include the part number when I update my blog later on this week.

      1. Hi, I’ve got the same – BMG, shorter Bowden, 0.9 steppers, although no smart effector. Have you the config files as I’m having no luck configuring?

          1. Thanks for getting back to me. Programming is not an issue for me. It’s just what config file does what and where to do the changes for the 0.9 steppers and BMG.

          2. If you’re on the duet, all you need to change is the config.g file.
            You change the standard steps from 80 to 160 on x, y and z.
            If your extruder motor is 1.8 then change the E steps to 415. If its 0.9, change the steps to 830. (you may also need to change the direction depending on which one you got)
            The only other thing you then need to adjust is the motor amperage. This should be 80% of the maximum that your motors can handle.
            E.g. if they are 2A motors, set the amperage to 1.6A and so on.

          3. Think I’ve got it. Now just to get the bed leveled. Having real problems with the head jumping all over the place. First few probes are okay then it goes mental.

  7. HI there. Very new, thinking of diving head first into buying my first printer and it was a toss up between a Tevo LM or the AnyCubic Predator, I notice that the Predator has a few things that the TLM does not have.

    One of those features was the “continue print after power loss” function. If I was to replace the Predators stock board for a Duet Wifi, It would not longer have that feature right?

    Still tossing up pros and cons vs the two? Anyone want to sway my vote?

  8. Hi Jay
    Now I got my Duet 2 Wifi

    I dont know if I did it right but… Got the board and all wires connected like you descripe…
    Used your files from github
    If starts up and I connect with wifi,
    If I HOME ALL then it is only X axis there is going up…
    Okay I did check the wires all seems right so I did push all axis up. Push home it say it is okay.
    I can move all axis XYZ but if I home again then is it only X moving again….

    1. Also check your endstop status with M119 with nothing in them and then with one of the carriages in the home position. The status should match.

      1. M119
        Endstops – X: at max stop, Y: at max stop, Z: at max stop, Z probe: at min stop

        But cant home any of the YXZ axis there is only a homeall button

          1. When I Enter M119 and then slides are a bit Down from endstop the is the message
            Endstops – X: at max stop, Y: at max stop, Z: at max stop, Z probe: at min stop

            The same message if it is in the top

          2. Sorry. Got the wording wrong. If you’re not homed, M119 should say not stopped. As yours say at Max stop, this means your endstops are connected incorrectly.
            The endstops are geeetech opto endstops. I would check your wiring between the duet and each one.

  9. Hi
    Now I got the end stops working… Wierd but all the red wires had a bad connection. So Home all works super now…

    But sadly I think maybe I have made another mistake.. The Autolevel probe dont work…
    Where you have a plug on 3 connections on my board there is a plug for 4 connections.
    If I wire as you. start autolevel with a test G30 then I get this error.

    Error: Z probe already triggered at start of probing move

      1. ahh that make sence :-)…. Now it works just one thing I want to make more points or less on the autolevel where do I do that ?

        And thank you so much for your help and support on this 🙂

        1. The bed file controls auto calibration.
          I find that a smaller diameter tends to work better than the full bed.
          You need to either calibrate as a factor or 6 or 8. The wiki entry for G30 tells you all about it. I use 8.
          A bed file can be generated here
          The file on GitHub is the one I use now.

  10. Do you know why I get this error when I start to print ?

    File Retraction.gcode selected for printing
    Resume-after-power-fail state saved
    Printing paused

    File Retraction.gcode selected for printing
    Resume-after-power-fail state saved
    Printing paused

    M563 P127 D-1 H-1
    File Retraction.gcode selected for printing
    Resume-after-power-fail state saved
    Printing paused

    M563 P127 S”” D0 H1
    File Retraction.gcode selected for printing
    Resume-after-power-fail state saved
    Printing paused

    1. I know that this “M563 P127 D-1 H-1” is deleting tool number 127 and then this “M563 P127 S”” D0 H1” is creating a tool using drive 0 and heater 1 as tool number 127.

      My config file has this
      ; Tools
      M563 P0 D0 H1 ; Define tool 0
      G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
      G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

      I would suggest something somewhere is defining another tool which shouldn’t be there. We only need 1 tool defining.

      1. I have the same in the config file

        ; Tools
        M563 P0 D0 H1 ; Define tool 0
        G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
        G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

        ; Automatic saving after power loss is not enabled

        ; Custom settings are not configured
        M572 D0 S0.1 ; Pressure Advance
        M591 D0 P2 C4 S1 ; Activate filament sensor
        M404 N1.75 ; Set for print monitor
        M592 D0 A0.07772 B-0.00029 ; Nonlinear extrusion. Set parameters for extruder drive 0

        ; Miscellaneous
        M501 ; Load saved parameters from non-volatile memory

        When I start a print it is heating up. Start to make a purge line moves in to the middel and then it pause “Resume-after-power-fail state saved” if I push resume it makes make purge line again and then the outline and then pause “Resume-after-power-fail state saved”

        Also Z Baby stepping is not saved

          1. To be honest, I don’t use the filament sensor as I kept getting false triggers with it.
            Try commenting it out

  11. Okay I did commenting it out the filament sensor and it works now…

    But how do I get it to save my Z baby steps ?

    if I forget to raise it then it scracts the bed

    1. Baby steps are only stored for the time the printer is on. Once you power down baby steps are gone.
      You need to go through the calibration process to set your trigger height as detailed here

  12. I’ve followed your guide, and have the z probe connected to the E0, and its wired like a mechanical switch, the Duet wifi Always shows zprobe 1000 even if nothing is plugged in to e0.

    Any ideas?

    Firmware 2.x, Duet3d Wifi

    1. I am dealing with the same issue. Z probe is connected to e0 as you’ve wired it but it won’t react on the interface or while performing g29. signal is reaching the board though as an LED flashes when it is pressed.

  13. Hi Jay
    Have you had a look on the Release 3.0RC1 ?
    It look pretty okay but all the changes on the config.g files I dont really get what to chance to what on the Predator…. I have used your still stock setup

    1. I’ve not had a chance to look at updating my predator yet.
      Its being used a lot to print parts for my new corexy so I don’t want to mess with it.
      Its running well on the duet 3 though.
      Once I’ve got that sorted, I will look at moving across to duet 3 and will add a branch to my repo when I do.

      1. Okay 🙂 …. I’am running the Duet 2 wifi and was thinking about update to the Release 3.0RC1… but I’am kind of lost with the change I have to do in the config.g file and I think also in the gcode

  14. Have you considered upgrading firmware to reprap firmware 3.0, or could you see any reason to doing so? I have my predator running 2.05 currently and the tempeture graph doesnt display tempetures and was wondering if that may solve the issue. I also have the gcode to do a wipe befor a print if anyone needs it.

    G92 E0 ; reset extrusion distance
    G1 X-184 Y0 Z0.4 F6000 ; move to arc start
    G3 X0 Y-184 I184 J0 E40 F1200 ; lay arc stripe 90deg
    G92 E0 ; reset extrusion distance
    G1 X0 Y-50 Z4 E-2 F6000 ; get off the bed

    copy and paste to your start gcode in slicer, does a wipe on the outer most line of the bed.

      1. Hi Jay,

        I am using the stock everything except with BMG extruder. what do i need to change to make it work. I am on RRF3.1

  15. Hello Jay!
    Im trying to upgrade to RRF3.1 but i got issues defining the zprobe in my config.g, its wired just like in your guide on to e0stop and was working with RRF2. My duet just cant find it anymore whatever i tried.
    :Z probe 0 not found

    M558 P4 C”e0stop” H3 F120 T6000

    Amazing work and thanks for the help

    1. My guess would be the P4, which is no longer supported in RRF3
      Change to below

      M558 P5 C”e0stop” H3 F120 T6000

  16. Couple things, the wiring for the filament sensor is not consistent between printers, I would recommend referencing this image:, instead of what you currently have, as my printer and another guide I found for the predator were different from your wiring. Thankfully nothing got fried when I hooked mine up with your instructions, it did reboot the board when I inserted filament which freaked me out a bit,

    Also a much bigger concern for me is, I get a “Error: G0/G1: target position not reachable from current position” message if I don’t have the printhead in the home position when I reboot or turn on the printer, if it’s at or near the home position I can at least move the print head without getting that message, but the tool position is never the same after homing. I would imagine the tool position should be based off the home location, not where it was at before homing plus the home position(for example if the nozzle was touching the build plate and I home the printer it will show a 910mm z height instead of 455). I’m not really sure if this is a problem, or not, but my gut is telling me it is. Also if the print head location is never the same if I for example home it, reboot it and then home it again, it’s usually off by plus or minus .2 mm suggesting I will need to change the z height offset every time I power off the printer which is annoying, but manageable, but I personally feel this shouldn’t be an issue, this is supposed to be an upgrade…

    I am using FW v2.05 if that makes any difference, I didn’t realize that your and the other availible configs for the predator where for v1.21. I did try to create my own config for 2.05 and I didn’t see any differences that may cause the problem I am having with the tool position.

    1. I don’t own the predator any more and the filament sensor is junk anyway.
      And my configs are for RRF2 or RRF3.
      I would upgrade to RRF3 and start again as I never had those issues.

      1. Considering that the sensor is a 1-3 dollar part I have no real complaints, I did have to pull apart and bend the metal tab once so my printer wouldn’t beep erratically, but it’s been g2g since.

        I did realize a way to fix my problem, which is to just run a G92 Znnn command and just set the z position after the printer homes in my slicer’s start g-code, though I may still upgrade to v3. After that I did my first print and it looked good, nozzle temp seems to be a bit hotter than what it should be, but that’s about it.

Leave a Reply to Thomas JensenCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.