UNSOLVED Duex2 Enstops

  • I am trying to utilize end stop E2-E5 on a Duex2 V1.0 for external switches. I have this paired with a duet wifi running firmware 2.05.1. E2 and E3 work as expected but I am unable to get E4 and E5 to function. Indicator lights and voltages are as expected, but the firmware appears to be ignoring them. In the rev notes it mentions that Duex2 V0.8a and later can accommodate 5 additional enstops.

    Is there an additional lines I need in my config file to assign a trigger to E4-E6?

  • Hi,

    Post the gcode you are using to connect the endstops to the triggers.

    You can use the </> icon for entering code.


  • I have the following triggers set up. Everything works as expected except E4. If I switch the sensors plugged into E3 and E4, E4 continues to not trigger.

    M581 E0 T0 S1 C0
    M581 E1 T1 S1 C0
    M581 E2 T2 S1 C0
    M581 E3 T5 S0 C1				
    M581 E4 T6 S0 C1

  • @Eduma said in Duex2 Enstops:

    I have the following triggers set up. Everything works as expected except E4. If I switch the sensors plugged into E3 and E4, E4 continues to not trigger.

    M581 E0 T0 S1 C0
    M581 E1 T1 S1 C0
    M581 E2 T2 S1 C0
    M581 E3 T5 S0 C1				
    M581 E4 T6 S0 C1

    I notice the trigger numbers are 0, 1, 2, 5, 6 as opposed to 0, 1, 2, 3, 4.

    Do you have trigger files for each of those numbers?


  • @fcwilt

    Yes i have a unique trigger file for each.

  • Replaced the Duex 2 with a Duex 5 and it apears to now work correctly.

    Maybe some one with more knowledge of the firmware can confirm but i suspect that the Duex2 does not have the E4-E6 configured out of the box.

  • bump

    I still have not figured out how to utilize the extra end stops on the Duex 2.

  • @Eduma


    I cannot help you because I only have Duex5 boards.

    If the Duex2 boards actually have 5 functioning end stop inputs they ought to work just like the Duex5.


  • Moderator

    Hi, can you send M122 with the Duex2 connected?

    When you say indicated lights and voltages are as expected, what do you mean exactly?

    Do the endstop lights change when the switches are triggered?

    How is the Duex wired to the Duet?

    Also post your entire config.g.

    Are these new boards?

  • @Phaedrux

    Sorry for the delay in responding.

    The indicator lights change as expected when triggered. I measured the voltage in each trigger circuit and they measure as expected.

    The Duex is connected to the Duet with the supplied 50 pin ribbon cable.

    As mentioned I installed a Duex 5 without making changes and everything worked as expected.

    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later + DueX2
    Board ID: 08DLM-996RU-N85T0-6J9FL-3SD6T-1SSVP
    Used output buffers: 1 of 24 (8 max)
    === RTOS ===
    Static ram: 25712
    Dynamic ram: 93832 of which 232 recycled
    Exception stack ram used: 312
    Never used ram: 10984
    Tasks: NETWORK(ready,628) HEAT(blocked,1256) DUEX(suspended,160) MAIN(running,3736) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 00:02:49 ago, cause: power up
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 10984 bytes (slot 3)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 31.5, current 37.6, max 37.8
    Supply voltage: min 24.1, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max not available
    Driver 1: standstill, SG min/max not available
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max not available
    Driver 6: standstill, SG min/max not available
    Date/time: 2020-08-10 08:55:50
    Cache data hit count 510112386
    Slowest loop: 11.44ms; fastest: 0.07ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 160, MinFreeDm: 160, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === DDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle 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: 21.43ms; fastest: 0.00ms
    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 providing access point
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.23
    WiFi MAC address ee:fa:bc:5b:49:04
    WiFi Vcc 3.36, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 24840
    WiFi IP address
    Connected clients 1
    Socket states: 0 0 0 0 0 0 0 0


    ;Configuration file for Duet WiFi 						
    ;Version	1	6/19/2020		
    ;__________DISABLE ALL FANS__________				
    M106 P0 I-1				
    M106 P1 I-1				
    M106 P2 I-1				
    M106 P3 I-1				
    M106 P4 I-1				
    M106 P5 I-1				
    M106 P6 I-1				
    M106 P7 I-1				
    ;__________TURN OFF ALL FAN OUTPUTS__________				
    M42 P20 S0				
    M42 P21 S0				
    M42 P22 S0				
    M42 P23 S0				
    M42 P24 S0				
    M42 P25 S0				
    M42 P26 S0				
    M42 P27 S0				
    ;__________DISABLE ALL HEATERS__________				
    M307 H0 A-1 C-1 D-1				
    M307 H1 A-1 C-1 D-1				
    M307 H2 A-1 C-1 D-1				
    M307 H3 A-1 C-1 D-1				
    M307 H4 A-1 C-1 D-1				
    M307 H5 A-1 C-1 D-1				
    M307 H6 A-1 C-1 D-1				
    M307 H7 A-1 C-1 D-1				
    ;__________TURN OFF ALL HEATER OUTPUTS__________				
    M42 P0 S0				
    M42 P1 S0				
    M42 P2 S0				
    M42 P3 S0				
    M42 P4 S0				
    M42 P5 S0				
    M42 P6 S0				
    M42 P7 S0				
    ;__________General preferences__________				
    G90   				; Send absolute coordinates...
    M83   				; ...but relative extruder moves
    M669 K1 X-1:-1:0:0 Y-1:1:0:0 Z0:0:1:0 U0:0:0:1					;Select CoreXY mode
    M552 S0				;WIFI ON
    G4 S1				;WAIT 1 SECOND
    ;M552 S1                   				;ENABLE NETWORK AS CLIENT
    G4 S1				;WAIT 1 SECOND
    ; __________Drives__________				
    M569 P0 S1				;Drive 0 goes forwards
    M569 P1 S1				;Drive 1 goes forwards
    M569 P2 S0				;Drive 2 goes backwards
    M92 X80 Y80 Z414.4				;SET STEPS PER MM 16X MICRO STEPS
    M350 X16 Y16 Z16 I1				;SETP MICRO STEPPING
    M566 X1000 Y1000 Z2000				;(jerk) Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z6000				;Set maximum speeds (mm/min)
    M201 X1500 Y1500 Z1500				;Set max accelerations (mm/s^2)
    M906 X1600 Y1600 Z1600 I30				;Set motor currents (mA) and motor idle factor in per cent
    M84 S5				;Set idle timeout
    ; __________Axis Limits__________				
    M208 X0 Y0 Z0 S1				;Set axis minima
    M208 X330 Y300 Z105 S0				;Set axis maxima
    ; __________Endstops__________				
    M574 X2 Y2 Z2 S1				;Set active high endstops
    ; __________Tools__________				
    M563 P0 S"TOOL 0" D0				;DEFINE TOOL 0
    G10 P0 X0 Y0 Z0				;SET TOOL 0 AXIS OFFSET
    M563 P1 S"TOOL 1" D1				;DEFINE TOOL 1
    G10 P1 X52 Y0 Z0				;SET TOOL 1 AXIS OFFSET
    M140 H-1				;DISABLE BED HEAT
    ;__________ESTOP I/O__________				
    ;__________DOOR I/O__________				
    M582 T1
    ;__________EXHAUST CHECK__________				
    M582 T2
    ;__________ENABLE COLD EXTRUDE__________				
    ;__________LOW LEVEL__________						
    M581 E3 T5 S1 C0				;DEFINE TRIGGER 5 
    M581 E4 T6 S1 C0				;DEFINE TRIGGER 6

  • Moderator

    @Eduma There doesn't seem to be any configuration reason why the Duex5 would work, and not the Duex2. Therefore if this is a genuine Duet board purchased from an authorized reseller within the last 6 months, I authorize a warranty exchange. Please contact your seller and initiate a warranty claim. Include a link to this forum thread.

  • Moderator

    Curious if the Duex 2 endstops function as actual endstops for an axis.

  • @Phaedrux

    I will do some additional testing with the same duex2 and advise. I will then reach out to filastruder if needed for a return.

  • @Phaedrux

    I tried to trigger E4-E6 on a separate Duex2 in a different machine and it will not trigger. I suspect that the firmware is not looking at the input since there is no stepper drive at these postions.

    Am I correct that in firmware 2.x you can not remap a home sensor to a different axis?

  • Moderator

    Thanks for testing. It would then appear that it's not a hardware issue at all.

    @Eduma said in Duex2 Enstops:

    Am I correct that in firmware 2.x you can not remap a home sensor to a different axis?

    Kind of, but I don't think it affects their usage as triggers.

    Using M584 to map drivers to axes does not affect endstop inputs. In RRF2, endstop inputs XYZ are pre-allocated, after that they are allocated in the order in which axes are created. So if you create just one extra axes (e.g. U), it will use the E0 endstop input. If more than one axis is created in a single M584 command, endstop inputs are allocated to the new axes in axis creation order (see previous item). For example, M584 C5 U6 would allocate endstop input E0 to the U axis and E1 to the C axis.

    RRF3 does have more flexibility in how things are mapped, so if you wanted to test, you could create a very basic config using the online configurator for RRF3, update your firmware to 3.0 and then 3.1.1 and test your triggers. If it works, then you could migrate over, if it doesn't work, then you can reflash to 2.05.1 and use your previous config if you wish.

    I'll ask DC42 again about the Duex2 endstops being used as triggers.

Log in to reply