Underextrusion at the Beginning of Print Moves

  • Hey everyone,

    I am facing a strange problem using the last few firmware versions. I am not sure which one was the one I used when the problem occured for the first time. Maybe three sub versions before 1.21 which I use now.

    I very often (not always) get underextrusion at the beginning of a print move. This may be the beginning of a print move after a travel move or even afte a directional change.
    The printer actually extrudes way too little filament and small holes or even larger gaps in the layer in the perimeters are the result. The infill never consists of real lines but looks more like drops in space.

    Holes in perimeters

    This is not caused by the filament, mechanics or slicer settings.
    The settings did not change since the print quality was perfect, the filament is the same and all parts of the extruder (cold and hot end, gear etc.) have been checked and even replaced to be sure.

    I also switched the extruder to another drive.

    The problem can be reproduced perfectly. The errors occur at the same spots every time.

    Has anybody faced a similar problem? Thanks in advance for any help!


  • Seems like a travel without retraction allowing oozing to produce an under run. What slicer?

  • Slicer doesn't matter. Same with Slic3r and S3D.
    It does not only happen after travel moves but after a change of direction/speed within a print move too.

  • Can you post your config.g and the results of an M122 diagnostic report run after the problem happens?

  • Sure. I will do so, as soon as I am back home and have run another test.

  • M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.0(RTOS) running on Duet WiFi 1.02 or later
    Board ID: 08DGM-95BLL-N6PSS-6J1F0-3S86R-90TVM
    Used output buffers: 3 of 20 (9 max)
    === RTOS ===
    Static ram: 28380
    Dynamic ram: 95820 of which 0 recycled
    Exception stack ram used: 388
    Never used ram: 6484
    Task NETWORK ready, free stack 396
    Task HEAT blocked, free stack 1256
    Task MAIN running, free stack 3592
    === Platform ===
    Last reset 00:06:20 ago, cause: power up
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 6460 bytes (slot 2)
    Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0041f000, BFAR 0xe000ed38, SP 0xffffffff
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 25.6ms
    MCU temperature: min 24.0, current 29.1, max 29.3
    Supply voltage: min 11.5, current 11.8, max 12.4, under voltage events: 0, over voltage events: 0
    Driver 0: ok, SG min/max 643/1023
    Driver 1: ok, SG min/max 343/1023
    Driver 2: standstill, SG min/max not available
    Driver 3: ok, SG min/max 0/484
    Driver 4: standstill, SG min/max 0/0
    Date/time: 2018-06-18 16:53:04
    Slowest loop: 74.69ms; fastest: 0.07ms
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 234, MinFreeDm 142, MaxWait: 4024853239ms, Underruns: 0, 0
    Scheduled moves: 466, completed moves: 464
    Bed compensation in use: mesh
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.2
    Heater 1 is on, I-accum = 0.3
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by http
    http is doing "M18 YM122" in state(s) 0
    telnet is idle in state(s) 0
    file is doing "G1 X79.195 Y100.408 E1.0048" in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 44.85ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8

    • WiFi -
      Network state is running
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.21
      WiFi MAC address 2c:3a:e8:0b:17:0f
      WiFi Vcc 3.32, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 12784
      WiFi IP address
      WiFi signal strength -43dBm, reconnections 0, sleep mode modem
      Socket states: 0 0 0 0 0 0 0 0
      === Expansion ===

  • ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Fri Feb 02 2018 20:19:38 GMT+0100

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin
    ; Automatic saving after power loss is not enabled

    M667 S0 ; Select CoreXY mode: Cartesian
    M208 X-45 Y-15 Z0 U0 V0 S1 ; Set axis minima
    M208 X215 Y210 Z230 U230 V230 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 U1 V1 S1 ; Set active high endstops
    M558 P4 B1 H4 F120 T6000 I1 ; Set Z probe type to switch and the dive height + speeds (inversed)
    G31 P600 X-26 Y-40 Z2.700 ; Set Z probe trigger value, offset and trigger height
    M557 X40:160 Y40:160 S40 ; Define mesh grid

    ; Map Drives
    M584 X0 Y1 Z2:4 U2 V4 E3 ; X:0, Y:1, Z:2+4, E:3, U(Z1):2, V(Z2):4

    ;Stall Detection
    M915 X S23 F0 R1 ; Stall detection for X axis
    M915 Y S23 F0 R1 ; Stall detection for Y axis
    M915 Z S-10 F0 R1 ; Stall detection for Z axis
    M915 U S-10 F0 R1 ; Stall detection for Z axis 1 (U)
    M915 V S-10 F0 R1 ; Stall detection for Z axis 2 (V)

    ; Drives
    M569 P0 S1 ; Drive 0 (X) goes forwards
    M569 P1 S1 ; Drive 1 (Y) goes forwards
    M569 P2 S0 ; Drive 2 (Z1/U) goes backwards
    M569 P3 S1 ; Drive 3 (E) goes forwards
    M569 P4 S0 ; Drive 4 (Z2/V) goes backwards

    M350 X16 Y16 Z16 U16 V16 E16 I1 ; Configure microstepping (interpolated)
    M92 X100 Y100 Z400 U400 V400 E100 ; Set steps per mm (interpoloated)
    M566 X600 Y600 Z18 U18 V18 E300 ; Set maximum instantaneous speed changes (mm/min) (Jerk) (A8 Default)
    M201 X2000 Y2000 Z100 U100 V100 E10000 ; Set MAX accelerations (mm/s^2) (A8 Default)
    M203 X24000 Y24000 Z480 U480 V480 E3000 ; Set maximum speeds (feedrate) (mm/min) (A8 Default)
    M204 P400 T1000 ; Set accelerations for print and travel moves (mm/s^2)
    M906 X900 Y900 Z900 U900 V900 E900 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S60 ; Set idle timeout

    ; Pressure Advance
    ;M572 D0 S0.010 ; Set pressure advance

    ; Firmware Retraction
    ;M207 S4.0 F2400 Z0.04 ; Set retraction distance (mm), speed (mm/min) and Z-Hop

    ; Heaters
    ;M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

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

    ; Network
    M550 PAnet A8 Test ; Set machine name
    ;M551 Pxxx ; Set password
    M552 S1 ; Enable network
    M587 S"xxx" P"xxx" I192.168.0.70 ; Configure access point.
    M586 P0 S1 ; Enable HTTP
    M586 P1 S1 ; Enable FTP
    M586 P2 S0 ; Disable Telnet

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; CPU Temperature Calibration
    M912 P0 S-16.5

    ; Load saved Settings
    M501 ; Load config-override.g

  • It seems linke the extruder starts extruding filament a little too late.
    Nobody else faced this problem before?

  • Try setting your motor current to 85% of max minimum and retry.

  • @phaedrux what is the extruder?

    It totally goes away if you revert to a previous firmware version?

  • The motor runs at 900mA which is the current it is rated at.
    I have not tried reverting to an older firmware version. I am not sure how to do this safely.

  • @garv3 said in Underextrusion at the Beginning of Print Moves:

    I am not sure how to do this safely.

    Get whatever version you wish from Github. Follow the normal upload, etc. Depending on exact versions, slight tweaks to configuration may be needed.

    If you somehow get "painted into a corner", follow the fallback procedures here:


    Fallback #3 will ALWAYS work, and can be used to install any release after 1.19. In fact, if you have doubt about "mixed versions" or similar, starting with a blank/formatted card and fallback #3 will ensure everything is in sync. I've done it before, just for "mental comfort".

  • 900ma seems low to me for rated current. Can you post a link to the motor specs?

  • Main Features:

    • Step angle: 1.8 degree
    • Number of phases: 2
    • Voltage: 3.96V
    • Current: 0.9A
    • Resistance: 4.4 ohm
    • Holding torque: 0.34 Nm

    In this case 900mA might be too high for this motor, try 765 instead which would be 85% of rated.

    Running the motor at max current could explain the behaviour seen here if it's overheating. Does the motor feel hot to the touch?

  • During long prints they get warm but not really hot. I set them to 765mA now.

  • Lowering the current unfortunately didn't change anything.

  • Can you post some pictures of your slicer settings?

  • Also, what type of extruder is it? 4mm of retraction may be too much. It really looks like retraction under runs.

Log in to reply