The instructions on this page are out of date!

Commissioning and Troubleshooting instructions for Duet electronics-based kits (Ormerod 1 and 2, Huxley Duo and Mendel 3) have been moved to a new, combined section. Please click the following links for the most up to date version:


You can also find the new instructions on the ‘Operating instructions’ tab of the Documentation page. The instructions below will be deleted in the coming weeks.

Electronics problems

Duet power problems


  • No light turns on next to the USB socket on the Duet, when Duet plugged into USB
  • No light and/or fan when PSU is turned on
  • No USB or COM port appears on PC

Check the lights on the board

  • When USB power is applied to the board, a red LED should turn on on the board, next to the USB socket. If power is supplied by 12V power, and no USB is connected, this does NOT illuminate.
  • If the Y endstop wiring is connected, the LED near the Y endstop connector may turn on, if the y-carriage is away from the endstop. This will illuminate with USB power, and 12V power.
  • If the ethernet is connected, you should get a green light illuminate on the ethernet socket. This will illuminate with USB power, and 12V power.
  • When PSU power is applied to the board, and with the wiring connected, the hot end fan should start spinning. There may be no other indication that there is power to the board, if ethernet and the Y endstop wiring are not connected.

Test voltage

Test the voltage of the 12V, 5V and 3.3V lines. Test 12V at the large green screw terminals; using a multimeter, put the probes on the two screw terminals. If connected by USB, you will get 0V here, otherwise 12V. Test the 5V by using the probes between ground (the top of the SD Card holder is useful for this) and pin 1 of the expansion header, then 3.3V on pin 3 – these are the pins closest to the heated bed connection, just under the ‘SION’ of ‘EXPANSION’. Be careful when doing this – you don’t want to bridge the 5V to the 3.3V.


  1. When the USB lead is plugged in, a red LED should turn on on the board, next to the USB socket. If no light appears on the Duet next to the USB socket when plugged in via USB, check the cable, then check the USB socket. The USB cable may be faulty; try another, if available.
  2. If you have the PSU connected, and you get 12V on the green terminals, but no 5V or 3.3V without the USB plugged in, check that a jumper is in place on JP10 (ATX_5V_EN). If it is, contact support; the 5V regulator may have failed.
  3. If the voltage is not as expected on 12V, 5V and 3.3V, contact support with your readings; there may be a short circuit in your wiring, your Duet board may have a fault with the 5V or 3.3V regulator, or there may be some other fault. Disconnect wiring and check the pins on the back of the board are not touching anything that may short circuit the board.
  4. Check to see if the main ARM processor on the board is getting warm/hot, under USB only power or with the PSU connected. If there is a fault with the board, it can represent itself by causing heat in the processor. There could be a short circuit in your wiring, or a fault with the board itself. Test again with all connections to the board removed, with just power applied to the Duet.
  5. We have seen issues with Mac OS X, where the Duet will show up when the firmware is erased, then disappear from the USB list when the firmware is updated. This should have been fixed in newer Arduino IDE software versions.


Duet software connection problems


  • Duet is listed as a USB or COM port, but can’t connect


  1. When the USB lead is plugged in, a red LED should turn on on the board, next to the USB socket. Check the ‘Power problems’ section above if not.
  2. Check that, when connected, the Duet is showing up in the Device Manager (Windows) in the ‘Ports (COM & LPT)’ section. It may also be seen as an ‘other device’. If the Duet does not show up at all, check the USB cable is fully inserted. The USB cable may be faulty; try another, if available. Check the voltages on the board – see the ‘Power problems’ section above.
  3. Make sure you are using the latest version of the Arduino IDE (1.5.8 BETA as of October 2014) – from . On Windows, it should not matter if you use the Windows ‘Installer’ or ‘ZIP’ version. However, the ‘Installer’ version may not have the up to date ‘bossac’ program for firmware flashing in it (to be confirmed).
  4. If the Duet is showing up in the Device Manager (Windows) in the ‘Ports (COM & LPT)’ as ‘bossa program port’, the firmware has been erased, and not replaced. Follow the firmware update instructions here:
  5. If the Duet is showing up in the Device manager as ‘Arduino Due’ but you can’t access it by the Arduino IDE (and you are using the latest version), usually it’s because the device drivers haven’t installed, or are marked as ‘unsigned’ by Windows. You can try manually installing the driver, as described in the Arduino instructions here: . On Windows 8, you may have to disable Windows Device Driver Digital Signing; see
  6. If the Duet is seen as something else, eg ‘GPS Camera’ or other device, there may be a clash between two devices on the computer, and both may have been assigned the same COM port. You will need to disable or change the COM port that has been assigned to the other device, or the Duet board. It may also be due to software installed on the computer, which is incorrectly identifying the Duet board, and taking over the communication, so that neither the Arduino IDE Serial Monitor not Pronterface can connect. See the step above about manually installing the driver.
  7. In the Device Manager (Windows) in the ‘Ports (COM & LPT)’ section, right click on the ‘Arduino Due’ and open ‘Properties’. Check the ‘Port Settings’ tab. Windows sometimes sets the ‘Bits per second’ incorrectly – it should be 115200. Change this manually, or clicking ‘Restore Defaults’ should set it correctly.
  8. On Mac/Linux, the port settings are automatic. However, there is little indication if the firmware has been erased. It’s possible that the when you go to Tools->Port menu and see the list of ports, the Duet should be named something like ‘dev/ttyACM0 (Arduino Due (Native USB))’. If the firmware has been erased, this takes some time to show up, and then shows as ‘dev/ttyACM0’ only. Try updating the firmware.
  9. Open the Arduino IDE and go to Tools->Board menu and select ‘Arduino Due (Native USB)’ at the bottom of the list. If this is greyed out, check the device drivers have been installed.
  10. Then go to Tools->Port menu and select the USB port for your Duet board; it’s usually named ‘Arduino Due (Native USB)’
  11. Make sure the settings are correct in the Arduino Serial Monitor – speed is set to 115200 (bottom right) and that Newline is selected (next to the speed).
  12. Also, remember it will take 1 minute to show up in the Serial Monitor, if you don’t have the ethernet connected.
  13. Check the voltage supplied by USB, as described here:
    If the voltage is below 4.7V on the 5V line, try powering the Duet from the power supply – for the moment, remove the heated bed cable and hot end connector. Put a jumper on JP10 (ATX_5V_EN) and connect the PSU, turn on, and test communication.
  14. Check to see if the main ARM processor on the board is getting warm/hot, under USB only power or with the PSU connected. If there is a fault with the board, it can represent itself by causing heat in the processor. There could be a short circuit in your wiring, or a fault with the board itself. Test again with all connections to the board removed, with just power applied to the Duet.
  15. There is also the chance that the USB socket is faulty, or there is some other fault on the board. If this is the case, contact support.


Firmware update problems


  • Cannot update firmware
  • After firmware update, Duet no longer visible


  1. Check the instructions, and follow them carefully
  2. If the ‘bossac’ command fails, make a note of the error, and contact support
  3. If the error is to do with the port not being found, try sending the update command without this part: ‘–port=COMxx -U true’
  4. If the board is inaccessible following a firmware update, but then does reappear after the ‘erase’ and ‘reset’ buttons are pressed. When you send the bossac command, leave the ‘-R’ off the end. Once the flash has completed, wait for 10 seconds, then press ‘reset’ button on the board, and see if the board shows up correctly


Hardware problems

Micro SD card

If you have SD problems, try a different SD card, and writing files to it with a different adaptor. We supply Kingston 4GB Class 4 Micro SD cards, and have had very few problems with them; they come with a guarantee from the manufacturer.

SD cards come in a variety of sizes; we have tested cards up to 8GB. They should be a FAT32 formatted disk. It’s also possible you have a faulty Duet board, but please do the tests on this page before returning your Duet board for a warranty replacement; it will be quicker for you than a miss-diagnosed problem with the Duet board when the real problem is with the SD card.

  • When you insert the SD card into your PC, you should see three folders – ‘gcodes’, ‘sys’ and ‘www’. These need to be the first thing you see, that is not in another folder on the SD card. If you have been doing the axis compensation, make sure that you haven’t deleted config.g from the ‘sys’ folder, or moved or mis-named it.
  • The SD card only goes in one way into the Duet SD card slot. Facing the Duet board, with the back cover off so you can see the processor and other components, the writing on the SD card should face towards you as you insert it. You can damage the SD card slot if you force it in the wrong way.
  • Have you pushed the SD card in fully? You need to poke it in past the Duet enclosure, with a small screwdriver or something similar. It should ‘click’ in. To remove it, push it in again gently until it ‘click’s again, then release and it should pop out.
  • Test the SD Card as described in the Commissioning instructions HERE
  • If it’s working at startup, it’s generally safe to assume it will work the rest of the time.
  • If it isn’t working, update your firmware if it is an old version (we have improved the firmware to help with the problem of slow cards)
  • We now supply high quality Kingston 4GB Class 4 micro SD cards, and have experienced virtually no problems with these. If you have an old, non-Kingston card, try a different micro SD card – these are widely available and quite cheap.
  • It could be dirt or dust in the SD card socket. Try cleaning the SD socket – see this message on the forum regarding cleaning –,309685,310840#msg-310840 .
  • Are you running on USB power only? If so, see the note at the start of commissioning, regarding USB 5V power: . If the voltage is below 4.7V on the 5V line, try powering the Duet from the power supply – for the moment, remove the heated bed ribbon cable and hot end connector. Put a jumper on JP10 (ATX_5V_EN) and connect the PSU, turn on, and test.
  • Is the main ARM processor getting warm/hot? We’ve had a couple of people report that the SD card has shorted out the processor, due to manufacturing defects. Unfortunately, this is usually terminal.

When you send the M503 command, you may get an error code. Here’s a list of the error code definitions:

  • Error code: 0 – Succeeded
  • Error code: 1 – A hard error occurred in the low level disk I/O layer
  • Error code: 2 – Assertion failed
  • Error code: 3 – The physical drive cannot work
  • Error code: 4 – Could not find the file
  • Error code: 5 – Could not find the path
  • Error code: 6 – The path name format is invalid
  • Error code: 7 – Access denied due to prohibited access or directory full
  • Error code: 8 – Access denied due to prohibited access
  • Error code: 9 – The file/directory object is invalid
  • Error code: 10 – The physical drive is write protected
  • Error code: 11 – The logical drive number is invalid
  • Error code: 12 – The volume has no work area
  • Error code: 13 – There is no valid FAT volume
  • Error code: 14 – The f_mkfs( – aborted due to any parameter error
  • Error code: 15 – Could not get a grant to access the volume within defined period
  • Error code: 16 – The operation is rejected according to the file sharing policy
  • Error code: 17 – LFN working buffer could not be allocated
  • Error code: 18 – Number of open files > _FS_SHARE
  • Error code: 19 – Given parameter is invalid


Ethernet connection

Physical connection problems
If you get no green light on the Ethernet connector, either there is no power to the Duet board (via USB or from the PSU – it can’t be powered from the Ethernet connection), or the Ethernet cable is not making contact/isn’t working, or there is a problem with the Duet board. Check power and the Ethernet cable. If you still get no green light, contact support.

Testing the connection in isolation

For testing, disconnect your computer from the rest of your network, i.e. the router/hub/wifi connection, and connect an Ethernet lead directly from your computer to the Duet. This leaves a network between just your computer and the Duet. Set up the Ethernet port of your computer so it is in the same range as the IP address of the Duet. If you are using the standard config.g, the Duet is on (if using an SD card) and has a firmware default address of Set the Ethernet port on your computer to, netmask, so it does not clash with either of the Duet addresses. Power the Duet just from USB, and you should be able to ‘ping’ the Duet, to test it actually works.

To ‘ping’ a network address: open a command prompt/terminal window, and type ‘ping’ (or the IP address you set in config.g). You should receive a list of sent/received data packets, which will show if the Duet is on the network. Even without an SD card, you should be able to ping and get a response from the Duet.

You won’t be able to access the printer web interface, because your computer is not connected to the internet, but it will prove that the network interface of the Duet works. If it does not, contact support

Check network settings

To connect to the Duet, you need to edit the settings in config.g so the Duet’s networks settings are in the same range as your network, as described in the commissioning instructions HERE. The standard SD card IP defaults – from sys/config, SD-Image here are:

M552 P192.168.1.14; Set the IP address
M553 P255.255.255.0; Set netmask
M554 P192.168.1.1; Set the gateway

Edit the config.g on the SD card to suit your network. If you have more than one Duet board on your network (ie more than one printer), you will also need to change the MAC address of one of the printers, as described in the instructions HERE.

Establishing connection

  1. If you disconnected your computer from the network, reconnect it.
  2. Make sure you have a working SD card (see HERE), and check the network settings.
  3. Connect ethernet cable to router, then to the Duet.
  4. Connect USB lead to Duet (this is needed for power, and can help with diagnosis), or turn on the PSU, and check that JP10 (ATX_5V_EN) has a jumper on it.
  5. The GREEN LED on the ethernet connection should light up on the Duet. The ORANGE LED is a indicator light for 10base-T connections – most ethernet hubs/routers/switches are 100base-T or gigabit, so it will stay switched off.
  6. You should be able to ping the Duet, on the IP address you set.
  7. You should then be able to connect to the web interface, using Google Chrome or Firefox, by typing the IP address you set in the address bar.


Resolving connection problems

  1. If you can ‘ping’ the Ormerod ip address, the Duet is on the network, and the problem is most likely with the SD card or browser. If you cannot, it may be a problem with the Duet, or the network. Try changing the ip address in config.g.
  2. How is the Ormerod set up on your network? Is your network quite complex, ie an office network, rather than a simple home network? To remove network issues as a source, connect the printer directly to your PC, via a spare ethernet port. You can then set up the printer and ethernet port on the PC on it’s own subnet, separate from the rest of the network. So long as you can still access the internet from your PC too, you should be able to ping the Duet, and then connect via the web interface.
  3. Clear the cache in your browser. It may be caching javascript code or settings of the wrong version, or corrupt. For Chrome, clear the cache, particularly any downloaded files/site data: . In Firefox, clear the settings by clearing Preferences > Advanced > Network, then clear Cached Web Content.
  4. It’s possible that the files on the SD card have corrupted. You may need to reformat the card (use the official formatting tool: ) and refresh the files on it. If possible, try another micro SD card. You MUST use the same version of the web server that is supplied with the firmware.
  5. Make sure that your router allows the Duet to run as a web server or service on your network. If it is blocking it, you would still be able to ping the Duet, but may not get a coherent response from the web interface.
  6. If you experience disconnections, this usually happens with poor internet access (some of the files for the web interface are fetched from the internet; the host computer MUST have internet access), or there are network issues (going through multiple routers, hubs and over wifi). Usually, when it happens, resetting the Duet and closing the browser tab, then reopening, is enough to get rid of the problem, and allow connection.
  7. If the above still doesn’t help, and browser produces any error messages, please contact support with any pertinent information.


Temperature sensing


  • Temperature reports as -273oC, or below -10oC, or no temperature (eg T:B:25.1)
  • Hot end end and/or bed temperature read 60oC at room temperature (eg T:59.5 B:63.6)
  • Firmware reports a ‘temperature fault on heater …’
  • Hot end or heated bed never turns on
  • During printing, the heater turns off unexpectedly


Pronterface reports the temperatures in the bottom left of the window in the form ‘T:15.7 B:21.8′. ‘T’ is for the ‘Tool’ (the hot end) and ‘B’ is for the heated bed. If either temperature is below about -10oC, the firmware will report a temperature fault, and disable the heater. You will not be able to turn the heater on until the problem has been corrected, and the temperature fault has been reset. Reset the fault by resetting the Duet (press the reset button on the Duet) or, you can send ‘M562 P0’ to reset a bed temperature fault, or ‘M562 P1’ then ‘T1’ to reset a hot end temperature fault (see the reprap gcode list HERE).

Test the wiring. Most commonly, incorrect temperature readings are a result of a poor connection in the thermistor wiring loom. This can happen at the connection with the thermistor, at any of the crimped connections, in any of the housings in the wiring loom, or even a break in the wires of the loom. The quickest way to test is to use a multimeter, and measure the resistance at the end of the wiring loom, where it connects to the Duet.

Thermistor test 02  Thermistor test 04

(Pictures from Ormerod 1, but Ormerod 2 is similar)

It should report the ambient (room) temperature. The following resistances relate to the following temperatures.

Hot end / Bed = Temperature
200k ohms / 20k ohms = 10oC
160k ohms / 16k ohms = 15oC
125k ohms / 12.5k ohms = 20oC
100k ohms / 10k ohms = 25oC
80k ohms / 8k ohms = 30oC

You can also replace the thermistor with a known-value resistor, to test the wiring loom. Unplug the thermistor from the wiring loom, and plug in the resistor, then measure the resistance again at the end. If it reports correctly, the thermistor may be damaged. If you don’t get a sensible reading, look for damage or failure along the wiring loom.

Test the thermistor. It is possible for the thermistor to break, so test it as close to the thermistor itself as possible.

Thermistor test 01  Thermistor test 03

(Pictures from Ormerod 1, but Ormerod 2 is similar)

Test the Duet. If the wiring tests okay, you can test the Duet by connecting a known-value radial resistor  directly to the thermistor pins, and see the temperature it reports (you can also do this using the wiring loom, and connecting the resistor in place of the resistor). For the hot end, find a 100k resistor, touch it to the thermistor pins on the Duet, and press the reset button on the Duet. Then connect to the Duet with Pronterface, or the web interface, and check the temperature. The temperature should report around 25oC.

Thermistor test 05

If you have a number of different value resistors, you can check the temperature across the range. Common resistor values give the following temperatures:

100k ohm = 25oC
47k ohm = 42oC
10k ohm = 84oC
1k ohm = 173oC
470 ohm = 212oC
220 ohm = 261oC
100 ohm = 321oC

You can do the same thing to test the bed temperature, but use a 10k ohm resistor. The following resistors should give these temperatures:

10k ohm = 25oC
1k ohm = 86oC
470 ohm = 113oC
100 ohm = 181oC

The above tests should show if the problem is with the wiring, the thermistor, or the Duet.


  1. If you temperature is reported as ‘T:59.5 B:63.6’ or similar at room temperature, see THIS SECTION in the commissioning instructions.
  2. If the thermistor appears to be broken, contact RepRapPro for a new thermistor.
  3. If there is a short circuit, or poor connection in the wiring, check/repair/replace the damaged wiring.
  4. The wiring loom may not be making good contact with the Duet header pins. If you have a Duet with no keyed headers (a little plastic part around the pins that aligns the wiring connection) the crimp in the loom housing can easily get distorted. The crimps in the housings are standard Molex KK 2.54mm crimps (eg ), and are a ramp-style connector. If the housing is not put on the pins straight, the ramp (the ‘curly’ part of the crimp) can get bent back, and a poor connection can result. You can remove the crimp from the housing quite easily, and bend them back so they have better contact. You can also bend the pins on the Duet a little, to improve contact. You can, of course, replace the crimps and housings with anything you deem better, such is the nature of a kit build.
  5. If you have a Duet where the hot end temperature reads -273oC, or some other very low temperature, even with a 100k ohm resistor connected, there may be a fault with your Duet. You do need to the tests above to check it is not just a broken thermistor or poor wiring, though. If a 100k ohm resistor reads below 15oC, we will replace the Duet under warranty. This fault is caused by manufacturing differences within each ARM processor at the heart of the Duet; the Analogue to Digital Converters (ADCs) on board the ARM processor can give quite variable readings at the limit of their sensitivity.


Endstop and homing problems


  • Homing of X, Y and/or Z does not work correctly
  • Axis moves the wrong direction when homing
  • Axis does not stop before hitting the end


  • Check that the motors are wired correctly; they need to be on the correct axis, and the right way around, on the Duet. See:
  • If homing the X axis causes the x-carriage to hit the end, make sure you have put a ‘reflector’ (a piece of paper or adhesive label, like that used on the bed) to the top of the bar that sticks out from the x-motor-mount. This triggers the sensor for the X axis homing. for the sensor to work consistently.
  • Check Y axis endstop wires are connected to the correct place on the Duet – it is easy to connect them to the wrong pins. They should be connected next to the Y axis motor. See:
  • Check that the wiring loom is connected to the Y axis endstop microswitch correctly; it should connect to the outer two pins of the microswitch, NOT the central pin.
  • See the following section to troubleshoot problems with the proximity sensor, particularly for Z homing problems.


Proximity sensor problems


  • Homing of X and Z axes do not work properly
  • Response from G31 is inaccurate, or varies, or doesn’t change


  1. Check your wiring of the proximity sensor, at the sensor end and the Duet end. See:
  2. Some looms were shipped with the green and yellow wires swapped where it connects to the probe. Check the order of the wires in the 4-way housing, it should be red, yellow, blue, green. If you look at the housing, as in this picture (top right), you can see the crimps. Each one is held in by a small plastic tab that is part of the housing. If yours are in the wrong order, you can correct this yourself. Using a thin, sharp point (like the tip of of a craft knife), lift the tab a mm (but no more, or it will snap off!), just enough to allow the crimp and wire to pull out. You can then swap the position of the wires, and test the probe.
  3. Some looms were shipped with the red and blue wires swapped, which connect to the Duet, as shown in this picture (bottom right). For these, press a small point into the rectangular hole in the housing to disengage the tab on the crimp, then you can pull on the wire to remove the crimp from the housing. Swap the positions of the red and blue. Before reinserting, bend the tab on the back of the crimp back up a little, so the crimp stays in the housing once it’s replaced.
  4. Updated your firmware, and update the files on your SD card, with the files from ‘SD-Image’ in the firmware folder. These should be kept on the same version. This should update any firmware behaviour that may be causing homing problems. See:
  5. Check that your SD card is working AT STARTUP. This is crucial, because it effects the behaviour of the proximity sensor:
  6. Check that there is no big Infra Red source near the printer, this will upset the proximity sensor. See the noted below the picture here:
  7. Check the values you get from the probe. With axis a long way from the bed, send G31. The result should be a low number, like 10. Put a piece of white paper under the sensor, very close, and send G31. The result should be a very high number, like 950. This is the normal range for the sensor.
  8. If you get 0 or 1023 from G31, or it varies only within a small range (ie 250 to 400) check your wiring – most likely you do not have the wires connected to the correct pins, or there is a poor connection in the wiring loom or the crimp has a poor connection to the pin on the Duet. See:
  9. If you get a constant value from G31, the board may be damaged.

If the homing seems inaccurate after all of the above, check that the Z axis is moving correctly; there could be backlash or lack of lubrication that are causing problems. Check:

  • Look for binding or stalling in the z-gears
  • Stiff movement of the Z axis up and down
  • The z-runner-mount should only be lightly gripping the extrusion, or that will cause problems for the Z axis movement

Further testing

To test the Duet is working correctly, first check the voltages on the pins where the wires from the proximity loom connects to it (see ). Disconnect the proximity sensor loom from the Duet, and test the voltage between the pins which the Green (+3.3V) wire and Yellow (Ground) wire connect to; this should be around +3.3V. You can do this with the Duet powered just from USB.

Then test the Duet is sensing the range of readings correctly. Short circuit the pin that the Red (sensor reading) wire connects to, to ground (the metal cover of the SD socket) with a piece of wire; the G31 response should be ’0 (0)′. Then put a jumper between the Red (sensor reading) pin and the pin next to it, which the Blue (modulation) ; the G31 response should be ’1021 (1021)′.

Reconnect the proximity probe and wiring. You can test the voltage on the proximity board with a multimeter. Measure the voltage with the red multimeter probe on the pins on the back of the Proximity sensor board, where the wiring loom connects to the board, and the black probe on ground, eg the metal SD card cover. Make sure the probe is in ‘4-wire’ mode by sending ‘M558 P2’. You should get something like the following:

Probe reading: 3 (4) (50mm of space under probe)
Red (sensor reading): 20mV
Yellow (Ground): 2.5mV
Blue (modulation): 1.29V
Green (+3.3V): 3.27V

Probe reading: 953 (955) (white paper close to the probe)
Red: 1.53V
Yellow: 2.5mV
Blue: 1.29V
Green: 3.27V

The red wire, which carries the sensor reading, reads half of the voltage at full saturation, as it is turned off half the time, as the probe modulates. The Blue wire carries the modulating voltage to the infra red LED in the sensor, so it also shows half the voltage. There is a voltage drop on the Blue wire, as it powers the LED.

You can also turn the modulation off, and measure the voltage on the pins of the probe. Send ‘M558 P1’, then check the voltage. You should get similar readings to these:

Probe reading: 1 (50mm of space under probe)
Red: 25mV
Yellow: 5.6mV
Blue: 2.56V
Green: 3.27V

Probe reading: 955 (white paper close to the probe)
Red: 3.06V
Yellow: 5.6mV
Blue: 2.56V
Green: 3.27V

This should show if there is a problem with the sensor, or if there a problem with a poor connection on one of the wires, or if it is the Duet.


Motor problems


  • Motor does not move when commanded, when other axes do move
  • Motor shudders, vibrates, or moves erratically
  • Motor moves, but stops or stutters as it moves on the axis

Testing and solutions

NOTE: If you are connecting/disconnecting motors from the Duet, make sure the motors have NO POWER. Disconnecting a motor with the power on may destroy the stepper driver on the Duet.

NOTE – Extruder axis not moving? From firmware v1.04 or later, cold extrusion is prevented by default. The extruder drive will not move if the hot end temperature is less than 170C. You can override this behaviour, by sending M302. See the Calibration instructions HERE.

If there is a particular motor moving randomly, vibrating, or not moving at all, there are three areas to check:

  1. The motor. These are generally very reliable – we have sent out over 10,000 of them, and had about 10 faulty ones.
  2. The wiring. This is also generally very reliable, but it’s possible it has been put together incorrectly, or there is a break in the wiring.
  3. The electronics. The Duet may have suffered damage to the stepper driver.

To test, turn off the power to the printer, and swap the wiring at the Duet between two axes, eg X and Y, or Z and extruder. Make VERY sure you have connected the wiring correctly; check the wiring diagram. Turn on power, connect, and test BOTH axes. If the problem stays with the same motor as before, the issue is with the motor or wiring; if it swaps to the other motor, the problem is with the Duet.

If the problem follows the motor, turn off the printer, and replace the motor wiring on the correct pins. Then:

Check the motor wiring loom. Check that your motor wiring looms are connected to the correct pins on the Duet. We have had a few cases (in nearly 2000 kits!) where the motor loom is incorrectly wired. Compare the wiring loom, at both ends, with another, known-working motor loom; check that the colour order is the same, check that the wires are connected to the right pins of the plug into the motor. The crimps are quite easy to release from the housing, and put in the correct order.

If you have a Duet with no keyed headers (a little plastic part around the pins that aligns the wiring connection) the crimp in the loom housing can easily get distorted. The crimps in the housings are standard Molex KK 2.54mm crimps (eg ), and are a ramp-style connector. If the housing is not put on the pins straight, the ramp (the ‘curly’ part of the crimp) can get bent back, and a poor connection can result. You can remove the crimp from the housing quite easily, and bend them back so they have better contact. You can also bend the pins on the Duet a little, to improve contact. You can, of course, replace the crimps and housings with anything you deem better, such is the nature of a kit build.

Check the motor. It is possible there is a problem with motor, but this is rare. Connect the motor to a known-working wiring loom, and test it. Also, with the motor removed from the printer, rotate the motor shaft in your fingers. Does it feel notchy? There may be debris in the motor. The motors are quite simple; you can open them up by removing the 4 screws, then pull the end caps off. You can also check the soldering on the small PCB in the back of the motor. We’ll replace any motor that is faulty, under warranty, if you are unable to repair it yourself.

If the above doesn’t resolve the problem, the Duet may be faulty, most likely the stepper driver has failed. The main reason for this is a poor connection, or disconnecting the motor wiring when the motor has power going to it; for the technical explanation, see this page on the reprap wiki. If the axis has never worked, we’ll replace the board under warranty.


Random disconnections during printing

If the printer is resetting, and stopping mid-print, the cause is likely to be related to power interruption to the printer. Double-check that the 12V power input wires and the heated bed power wires are well-seated in the screw terminals; they should be really solid. They have to carry a lot of current, and a loose connection here will generate heat, and possibly cause a disconnection/reset if the contact is poor. Once you are satisfied with this, check that you are getting 12V from the power supply when under load. Test at the 12V power input screw terminals, turn on the bed, and see if the voltage drops. A small voltage drop of 0.5 to 1V is to be expected, but more than that can cause a problem.

If the printer is losing the USB connection, check the soldering on the USB connector.

If the printer is losing the USB connection and the soldering is okay, there can be a variety of causes. USB is quite prone to Electro Magnetic Interference (EMI), via the power line. Large motors (in air conditioning, fridges, fans, drills and other hand tools etc) starting and stopping on the same ring main can cause power spikes, while other high current devices, unstable mains supply, or poor USB power connectivity on the host PC can knock out the USB connection. If the printer seems to continue working without resetting (for example, if you are printing from SD card, it continues to print), this is the most likely source of the problem. Check that the USB cable is connected properly, and for any damage – a poor connection will be more susceptible. Customers have found that adding a surge suppressors, power conditioners and/or UPSs to smooth the mains supply, and/or using a USB cable with a ferrite core, can help if your mains is noisy.


Printing problems

Poor or no extrusion


This could be due to a number of reasons:

  • Initial construction problems (if the nozzle has never successfully extruded)
  • The nozzle is partially or fully blocked
  • Extruder motor does not move much but makes a squeaking noise.
  • Extruder motor rotates, but the gears do not.
  • Extruder drive motor and gears rotate, but the filament does not feed.
  • The extruder gears squeak, rub and/or get stuck as the big gear turns.
  • The Bowden tube comes out of the brass unions

Testing: Hot end or extruder problem?

Hot end testing:

  1. Disconnect the Bowden tube from the extruder. If there is no filament in the hot end/Bowden tube, insert a piece. Check that it runs through the tube and into the nozzle smoothly. If it does not, see ‘Construction problems’ below. Check the filament diameter is within tolerance (1.75mm, +/-0.1mm).
  2. Heat up the hot end to operating temperature (200C for PLA), and push filament down the Bowden tube, by hand, to extrude. It should extrude filament with a small amount of pressure, and the extrusion should be smooth. If not, see ‘nozzle blockage’ below.
  3. Check the temperature of the aluminium cooling block – it should be cool to the touch, which the heatsink and fan are designed to do. If it gets hot, filament will melt further up the nozzle than it is designed to, and the pressure needed to extrude increases. See ‘Construction problems’ below. You may have to disassemble the hot end if there is a ‘plug’ of filament in the hot end.

Extruder testing:

  1. Disconnect the Bowden tube. With no filament in the extruder, and the extruder motor turned off, turn the large gear by hand. Does it stick at any point? If so, most likely the gears are a little tight.
  2. Load filament into the extruder. Turn the large gear by hand again. Does it turn smoothly and easily?
  3. Hold the filament tight, and turn the large gear. Does the filament slip? Check the hobbed insert is clear of filament in it’s teeth. Check the filament diameter is within tolerance (1.75mm, +/-0.1mm).
  4. Using Pronterface or the web interface, command the printer to extrude (you may have to send M302 to allow for cold extrusion). Does the motor move correctly?
  5. For all of the above, see ‘Extruder problems’ below.


Construction problems

  • Hot end cooling: Check that the hot end fan is on ALL THE TIME. If the hot end fan turns off, heat can travel higher up the nozzle, and the force of extrusion increases, eventually stopping extrusion. The hot end fan MUST run all the time (it should be wired to the +12V directly), and there should be good contact of the heatsink to the heatsink block.
  • Hot end cooling: Make sure the heatsink is installed so that the fan can blow air through it!
  • Hot end construction: Check that the brass tapered nut is tight against the heater block on the nozzle. Tighten with spanners – more than finger tight! This will ensure the threads make good contact with the nozzle, and heat transfers well.
  • Hot end construction: If the ptfe nozzle liner is not cut square, or cut too short, and there is sufficient gap that fills with molten filament, again the force of extrusion increases. Cut a new piece of ptfe tube, 8mm long, with square ends.
  • Hot end construction: There should be space between the heater block and the cooling block; the heater block should not be up against the cooling block.
  • Bowden tube: If the Bowden tube is tight into the brass unions, and the filament has difficulty moving through the tube, this increases the force needed for extrusion. The tube should be 10mm into the brass unions, then run a 2mm drill into the ends to clear them. Push a piece of filament through to check it is smooth, and to clear out any debris.
  • Extruder: If the teeth of the hobbed insert have slipped on the filament, there may be pieces of plastic in the teeth, which the filament will slip on. Remove the filament, take out the big gear with the hobbed insert, then check and clean the teeth of the hobbed insert – a small wire brush is good for this.
  • Extruder: Check the idler bearing has a washer on it between the bearing and the motor, or the bearing will have difficulty turning

Nozzle blockage (also for changing filament)

To ensure the nozzle and melt zone are free from contamination, follow these steps:

  1. Heat nozzle to operating temperature (200C for PLA)
  2. Extrude a little filament, like 10mm (if possible) by hand or via the interface, then set temperature to 100C
  3. Wait for the temperature to drop to 100C, then reverse filament until it comes out of the extruder drive (about 380mm). You can do this at 600mm/min, or by hand if you wish.
  4. This should pull out the filament from the melt chamber, hopefully down to the nozzle, along with any contamination.
  5. Cut the contaminated end from the filament, and drive or feed the filament to just before the hot end.
  6. Set temperature to operating temperature
  7. Command the filament to extrude short lengths, 5mm at 200mm/min, until it squirts out of the nozzle.
  8. Repeat steps 1 to 7 as necessary, usually at least a couple of times. If there is not improvement after 5 times, you may need to disassemble and clean the hot end.
  9. If you have to disassemble the hot end, try to clear all of the filament out of the hot end before reassembly. You can heat the nozzle up with a lighter (hold it with pliers) to soften the filament, and pull it out. If the filament has broken off inside the nozzle, heat it up and gently remove it with a 2mm drill.

Extruder problems

If the extruder motor does not move as expected, but makes a squeaking noise or just vibrates, it may mean it does not have enough torque to drive the extruder feed mechanism, because it is stuck or jammed.

  1. Check that the nozzle is not blocked (see solution above)
  2. Check that the idler bearing can rotate freely (there should be an M3 washer between the bearing and the motor)
  3. Check the diameter of your filament is not too wide (over 2mm in diameter will not feed through the extruder)
  4. If the motor vibrates rather than turning, even with no load on it, the stepper driver chip may be damaged or the motor connections may be faulty.

Extruder gear rotates, gears do not

  1. It is unlikely the small gear will rotate on the motor shaft. If it does, contact RepRapPro support for a replacement.
  2. On the big gear, check that the hex head bolt is not rotating in the hex hole. If it is, again, you will need a replacement. As a temporary fix, you may be able to use epoxy glue or superglue to get the hex head to hold again.

Extruder drive motor and gears rotate, but the filament does not feed. There are a number of potential reasons for this:

  1. The teeth of the hobbed insert have plastic in them. This will cause the teeth to slip on the filament. Clean the teeth with a pointy tool.
  2. The nyloc nut on the back of the large gear has come loose, and the hobbed insert is unwinding
  3. The filament may be too thin, or it is trying to grip on a section where filament has been worn away. Remove filament and check diameter.

The extruder gears squeak, rub and/or get stuck as the big gear turns:

  1. There may be printing artefacts on the large and small gear, or they have been printed too ‘full’, so that they mesh very tightly. You can use sandpaper to improve the fit, or contact support to send you new gears.
  2. The large gear may be rubbing on the surface of the extruder body, or catching on the lower part of the small gear. Put a second M3 washer between the large gear and the first bearing, on the M3 hex bolt. This will lift the large gear away from the extruder body.

The Bowden tube comes out of the brass unions

  1. If the PTFE tube pushes out of the brass union, it is probably not screwed in far enough into the union. It should have about 10mm of thread. Remember to drill, with a 2mm drill, into the brass union with the PTFE in place, or there may be a tight spot that the filament can’t push past.


Filament doesn’t stick or parts warp


  • If the first layer does not adhere well enough to the heatbed, there is a chance the component(s) will warp during printing.


Bed surface: Some people are lucky, and seem to be able to print directly onto the glass bed, and the PLA sticks. Most, it seems are not so lucky; for them we provide a roll of Kapton tape. Kapton can be applied to the glass surface in strips – try to keep the air bubbles out, and put the strips as close together as possible. Kapton is durable: we use it in the production of kits, and will last at least a couple of months of 24/7 printing. Usually it peels up before the PLA won’t stick to it. Blue painter’s tape can also be used. PLA doesn’t stick as strongly to it, and the surface isn’t as flat or durable as Kapton, but it is more widely available, and often in wider widths.

Cleanliness of build surface: The bed surface needs to be completely free of all oil and grease (including finger marks), otherwise your prints won’t stick to it. Set the heatbed to a temperature of 45C and wait for it to settle there. Clean the surface with nail polish remover (containing acetone, glycerine, and as few other ingredients as possible, and definitely ”’not”’ lanolin or any other oil or grease) using a lint free cloth. Set your heatbed to your print temperature ready for printing. Other products that also work include pure acetone, isopropyl alcohol, white methylated spirits, white vinegar. All of these dissolve oil and grease before evaporating. Don’t use Windex/Windowlene or polish; they often have a non-stick component!

Setting Z zero: At the Z ‘home’ position, where Z=0, the nozzle should be just touching the bed. Follow the instructions laid out in the Commissioning and Calibration instructions

Bed temperature: For PLA, try a setting of 50-60C. If you go too hot, the PLA will stay liquid and can be pulled away from the bed by the cooling of subsequent layers. Too cold, and it won’t stick. For ABS, the bed temperature needs to be much higher, at around 100C. See the ABS printing guide later.


Bed levelling and G32 issues


  • Prints stick to bed in some areas, but not in others
  • Bed equation fits points show a strange shaped bed, eg [35.0, 0.0, -0.136] [35.0, 180.0, 0.963] [210.0, 180.0, -0.231] [210.0, 0.0, 0.577]


Make sure the bed is as close to mechanically level as possible first; see the manual bed levelling section on the Calibration page.

The example G32 output is saying the bed is ‘saddle’ shaped, rather than flat, though this is more likely to be due to the movement of the axes, or incorrect measurement, rather than the bed NOT being flat. However, to check for a flat bed, put a flat edge (eg metal rule) across the bed diagonally, and see if there is light under the ruler, either in the centre, or the centre is holding the ruler off at the corners.

Check that your G31 setting in config.g set to something like ‘G31 Z2.3 P600’. The important thing is to have the P-value set to around 600; this is where the sensor is most accurate. G32 uses the P-value from config.g as it’s trigger value for bed levelling. If you have set it to something like ‘G31 Z0 P900’, you have misunderstood setting the Z homing, and both your Z homing and your bed levelling will be inaccurate.

Do a repeatability test; if you run G32 multiple times, do the readings stay consistent? This would prove if the sensor is working correctly, and there is something else effecting it. We have found that there is an offset difference across the whole bed between the first and second time you run G32 (which we’re looking into), but after that it is consistent.


Generally, incorrect bed measurement is not due to the accuracy of the sensor; it is just triggering when it hits the value set by your G31 command in config.g. More likely, it’s a mechanical problem, and the sensor is not being given the same conditions sensing at each corner. This could be caused by:

  1. Wires pulling on the back of the probe changing the reading at the different points.
  2. Probing missing the target, or on the edge of a target, effecting the reading. Make sure the probe is measuring at least 5mm inside the edge of each target.
  3. Poor or sticking movement of Z axis (lubricate the linear bearing and z-threaded-rod; see
  4. Either, or both, of the X and Y axes may be twisted:
    • If the X axis is twisted, it changes the sensor height relative to the nozzle as it moves along the X axis. Look along the back of the x-axis-plate, and check it isn’t twisted, as shown in the last couple of steps here:
    • If the Y axis is twisted, the two Y smooth rods won’t be parallel, so the bed is rising and falling as it moves back and forth. Levelling this is usually a case of twisting the y-axis ends one way (or the other…), and tightening them in place once straight.
    • If both X and Y are twisted, you’ll see an error in the probing.
  5. Movement to the extreme of the X axis causes the hot end to lift slightly, effecting the reading. The shape of the x-axis-plate causes the hot end to lift slightly at the far end of travel. Reduce the X high probe position by 5mm.
  6. Are you using the new probe in ‘modulated’ mode? When you send G31, you should get a response such as ‘500 (550)’, ie two number with one in brackets. If you only get one, you’re using the probe in ‘unmodulated’ mode, so ambient light could effect the reading.

In the end, if you have mechanically levelled the bed to within a tight tolerance (+/-0.1mm), you may not need to use the G32 automatic bed compensation.


Hot end parts hit print


  • Fan/nozzle duct is closer to the bed than nozzle
  • Proximity sensor is closer to the bed than nozzle
  • Parts that are being printed are knocked off the bed


This can have a number of causes, in construction, and set up/adjustment. The bottom of the cooling nozzles and the proximity sensor should be about 1mm ABOVE the tip of the nozzle. To achieve this, a number of things need to be set correctly.

  1. When constructing the hot end, the brass Bowden tube union that screws into the aluminium cooling block needs to screw ALL THE WAY IN. If it is not, the nozzle will be lifted slightly, in relation to the sensor and the fan duct.
  2. The hot end need to sit on the x-carriage so it is vertical. If it leans forward, the fan duct will be lower. Change this angle by adjusting the bearing on the back of the x-carriage. If there is not enough adjustment, you can elongate the adjustment slot that the bearing sits in, or replace the bearing with a larger one (the standard is a 9mm bearing, replace with a 10mm 623 bearing if available), or put a ‘runner’ on the back of the x-axis plate for the bearing to run on – some people have used a hacksaw blade.
  3. If the hot end changes angle as it moves along the X axis, the x-axis-plate may be twisted, so the whole x axis arm has a twist along it’s length. Look along the arm, and rotate it until it is straight. Tighten the 8 screws in the x-motor-mount, and the screw in the x-idler to hold it in position.
  4. If the proximity sensor is too low, check that the MDF spacer is inserted between the nozzle-mount and aluminium cooling block. You can add an extra couple of washers if you need more clearance.
  5. It’s also possible that the y carriage bed is a long way out of level with the x-axis. You may need to adjust the corner screws of the heated bed to get it more level with the x-axis.


Axis sticking problems


  • Axis doesn’t move smoothly
  • Motor stalls when moving (sometimes okay at low speed, doesn’t move far enough at high speed)


  1. Make sure rods are clean and linear bearings run smoothly. A little light oil (like 3-in-1 oil) will help lubricate the bearing seals. Make sure you don’t drop oil on the bed, or prints will not stick! Smooth rods can be cleaned with wire wool or kitchen scourer to remove stubborn lumps.
  2. On the Y and Z axes, where two linear bearings are used, they may ‘cam’ against each other as the bearing clamps are tightened, and the axis may not feel smooth as you move it. Slacken the screws that hold the bearings and bearing mounts, and then re-tighten while moving the axis back and forth. This will let the bearings settle in the right place, and ensure the axis runs smoothly.
  3. On the Z axis, make sure the leadscrew is clean and well-lubricated. The motor may be stalling due to resistance to turning. Also check that the z-gear and z-driven-gear mesh cleanly; if they are tight, the motor may stall when trying to move.
  4. On the X and Y axes, check that belt alignment is correct, and the belt is not rubbing unduly on belt guides or anything else.
  5. Check stepper motor current is not set too low in config.g. As standard this is set to 800 milliamps by this line (sometimes Y is set to 1A):
    M906 X800 Y1000 Z800 E800 ; Motor currents (mA)
  6. Check there is no mechanical obstruction to the movement of the belt, or bearings on the smooth rods.
  7. Check that the linear bearings are not contaminated or damaged. Do the bearings run smoothly on the rods individually, when removed? If the bearings still does not run smoothly, there may be contamination in the bearing. You can clean these out quite easily; washing them in petrol is usually easiest, and then put a little lubrication (see for recommendations) in the bearing before fitting.
  8. If the bearing appears to have a manufacturing fault, contact support for warranty replacement.


Wobbly Z walls and non-circular circles


  • Vertical walls are not accurately printed on top of each other
  • Variability in layer height causes vertical walls not to be smooth
  • Circular objects print out square


Generally we lump these problems together under the term backlash. This can happen on any of the axes, or a combination of them.

  1. Check belts are tight enough. On the longest free length, i.e. the side not attached to the carriage, pluck the belt. It should make a just audible, low pitch, twang. Tighten or loosen as needed.
  2. Check pulleys are not loose on stepper motor shafts (X and Y axis) – hold the motor shaft with pliers, then try moving the carriage, while looking at the pulley
  3. Check that the axes are moving freely: see ‘Axis sticking problems’ above
  4. Check extrusion is consistent: see ‘Poor or no extrusion’ above


Stepped layers


Partway through a print, the next layer appears to have slipped by a millimetre or two (or much more) causing a step which should not be there. This can be caused by:

  • Axis belt slipping where it is attached to the carriage.
  • Print head snags on part of the print, usually the print curling up or lifting off the bed. This can cause the belt to skip on the pulley, or the motor to stall.
  • Axis snags on something. For example, the wiring catching/getting in the way of movement. This can cause the belt to skip on the pulley, or the motor to stall.
  • Stepper driver overheats and temporarily shuts down.


Belt slipping in carriage

  1. This usually happens on the y-carriage. To test, hold the motor pulley tight and try and move the carriage. If it slips, secure it in place more positively. The quickest fix is to put cable ties around the two ends of the belt on either side of the attachment to the carriage, and tighten them.

Nozzle hitting printed part

  1. The printer should generally have the power to overcome hitting a part while printing, and the hot end can flip up a little. However, if printed parts are curling up, particularly on overhangs or bridging, reducing the extrusion temperature 5°C at a time will usually help.
  2. If the parts are curling up from the first layer, see ‘Filament doesn’t stick or parts warp’ section above.

Belt skipping on pulley

  1. Check belts are tight enough. The actual tension required comes with experience, but should be at least tight enough to produce a low frequency, just audible ‘twang’ on the longest section of belt. Over-tensioning the belts can also be detrimental, as the motors will have to work harder.
  2. Check that the belt is running smoothly and in line, and the edge of the belt is not snagging on the motor and idler ends. With the motors off, check the axis moves smoothly – if not, see the ‘Axis sticking problems’ section above.
  3. Check all wires, pulleys and belts whilst printing and reposition/realign anything impeding the smooth movement on all axes.

Stepper motor stalling

This is a result of the motor not having enough torque to move the axis (temporarily, since the print continues at the new position).

  1. Check that the motors are being supplied with sufficient current to meet the demand; check the setting in config.g
  2. Use a secondary cooling fan to cool the electronics if they are getting too hot (this should only happen when printing in very extreme environments).


Printing ABS


  • Concerns about printing ABS
  • Heated bed takes a long time to get up to 100C, or never reaches it
  • ABS doesn’t stick


Important: all the supplied printer parts are made from PLA. Long term exposure to the heat of ABS printing will cause some of them to fail. If you plan to print a lot of ABS, you should first reprint some of the parts from ABS, specifically (and in this order) the x-carriage, z-runner-mount, extruder-body and the rest of the extruder parts, nozzle-duct, fan-duct.

When printing ABS without upgraded parts, at the start of the print leave the x-axis high above the bed (at least 100mm) so that it is not getting hot while the bed heats up.

Heated bed

Check the voltage of the power supply, particularly under load. Ormerod PSUs should supply around 12V, but may be supplying a voltage below this. Some customers have replaced the supplied PSU with ones that can supply 13V, which allows the heated bed to heat up quicker and get to a higher temperature. However, don’t go beyond 13.5V, or the heated bed will draw too much current.

The heated bed can max out at around 100C, due to the thermal mass of the aluminium and glass. This is a designed limit, and is generally okay for the ABS we have tested. You can increase this to around 110C by covering the bed with an insulator while it heats up. In the past, we’ve used a foil-fronted piece of MDF, which reflected heat back onto the bed, but was held off the surface by the clips, so didn’t heat up. Remove it to start printing; the first layer will then be a bit hotter, so should stick better if it’s being difficult, and the temperature will drop during printing to hold at around 100C. Another improvement suggested by a customer is to put aluminium/kitchen foil between the heatbed PCB and MDF insulator. This also decreased warm up time. Be VERY careful not to short the main power connections through the aluminium foil! ABS shouldn’t need heating to more than 110C anyway, as this is beyond it’s glass transition temperature; it’s like printing PLA onto a bed at 80 degrees – the PLA stays so soft it gets pulled off the bed. ABS generally does this above 110C.

Other considerations

Also, keep draughts to a minimum, and try to keep the area around the printer at a reasonable temperature – above 25C minimum. This should help to prevent the part warping as it prints. You can build a small ‘greenhouse’ to cover the printer, but be careful it doesn’t get so hot (over 45C) that the PLA parts of the printer melt!

Another source of draughts is the hot end fan. The current Ormerod fan-duct (with the nozzle pointing at the hot end) is primarily designed to help with bridging across voids with PLA filament; we have had good results by removing the fan-duct, but leaving the heatsink-duct in place, for ABS printing. Otherwise ABS can suffer from delamination (the layers splitting) during printing as it cools too quickly.

It should be noted there are plenty of other problems getting ABS to stick at any temperature, and there are quite a few workarounds; the favourite around here are super strength hold hairspray (it can contain both PVA and acrylic) or making a slurry of some ABS dissolved in acetone, applied to the bed at 50C, and wait for it to dry before printing. Joseph Prusa shows how he does it HERE (follow the pictures in the ‘Older’ direction). And then some people have no problem with ABS at all! It’s a bit of a dark art, but probably depends on the quality of your ABS filament.