I use 3 expansion board 1XD for the 3 endstops (one on each).
For the firmware I use RC1 because I don't find an other version for the 1XD.
And here is my config file:
; executed by the firmware on start-up
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"MultiTool Cartesian" ; set printer name
; Network
M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
; Drives
; Extruders
M569 P121.0 S1 D3 V2000 ; ToolBoard drive 121.0 goes forwards
M569 P122.0 S1 D3 V2000 ; ToolBoard drive 122.0 goes forwards
M584 E121.0:122.0 ; set extruders drivers
M350 E64:64 I0 ; configure microstepping without interpolation for extruder
; speed
M92 E415.00:415.00 ; set steps per mm
M203 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 E250.00:250.00 ; set accelerations (mm/s^2)
M566 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M906 E800:800 ; set motor currents (mA)
;XYZ axis
M569 P40.0 S1 R0 T2.6:2.6:0:5 ; change enable polarity, active = disable drive
M569 P41.0 S1 R0 T2.6:2.6:0:5 ; change enable polarity, active = disable drive
M569 P42.0 S0 R0 T2.6:2.6:0:5 ; change enable polarity, active = disable drive
M584 X40.0 Y41.0 Z42.0 ; set X, Y and Z drivers
;speed
M92 X125.00 Y125.00 Z125.00 ; step per mm
M203 X19200.00 Y19200.00 Z19200.00 ; maximum speeds (mm/min)
M566 X900.00 Y900.00 Z900.00 ; maximum instantaneous speed changes (mm/min)
M201 X2800.00 Y3200.00 Z2800.00 ; accelerations (mm/s^2). théorical max: 6400
M84 S0 ; Disable motor idle current reduction
; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X950 Y1000 Z500 S0 ; set axis maxima
; Endstops
M574 X2 S1 P"40.io1.in"
M574 Y2 S1 P"41.io1.in"
M574 Z2 S1 P"42.io1.in"
; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X20:980 Y20:980 S80 ; define mesh grid
; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
; configure sensor 1 as thermistor on pin 121.temp0
M308 S1 P"121.temp0" Y"thermistor" T500000 B3600 C1.196220e-7 H-12
M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1
M307 H1 B0 S0.35 ; disable bang-bang mode for heater and set PWM limit
M143 H1 P1 S285 A0 ; raise a heater fault if it exceeds 285C
; configure sensor 2 as thermistor on pin 122.temp0
M308 S2 P"122.temp0" Y"thermistor" T500000 B3600 C1.196220e-7 H-15 L-12
M950 H2 C"122.out0" T2 ; create nozzle heater output on 122.out0 and map it to sensor 2
M307 H2 B0 S0.35 ; disable bang-bang mode for heater and set PWM limit
M143 H1 P1 S285 A0 ; raise a heater fault if it exceeds 285C
; Fans de hotend
M950 F0 C"121.out2" Q500 ; create fan 0 on pin 121.out2 and set its frequency
M106 P0 S0 H1 T45 L255 ; set fan 0 value. Thermostatic control is turned on (ON/OFF, no PWM)
M950 F1 C"122.out2" Q500 ; create fan 1 on pin 122.out2 and set its frequency
M106 P1 S0 H2 T45 L255 ; set fan 1 value. Thermostatic control is turned on (ON/OFF, no PWM)
; Fans de sortie
; Tools
M563 P0 S"Extrudeur 0" D0 H1 F0 ; 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
M563 P1 S"Extrudeur 1" D1 H2 F1 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
M563 P2 S"Spindle" F-1 ; define tool 2
G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets
G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C
; Custom settings are not defined
;Z brake
M950 P9 C"!42.out0" ; create output
M42 P9 S0 ; desactivate it
; Triggers
M950 J2 C"!121.button0"
M581 P2 T2 S0
M950 J3 C"!121.button1"
M581 P3 T3 S0
M950 J4 C"!122.button0"
M581 P4 T4 S0
M950 J5 C"!122.button1"
M581 P5 T5 S0
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
M929 P"logs/log.txt" S1 ; start log