## Bambu Lab X1C Hot End
### Heater
X1C heater has a *JST-XH 2-pin male connector*. It's a little too short to reach the toolhead board.
**Adapter:**
- ~30mm length of [two conductor 24awg silicone wire](https://amzn.to/3JwXhO5)
- 1x JST-XH 2-pin female connector (or straight PCB mount)
- 2x crimp ferrules
- 1x small clear heat shrink to slip over connector end (optional)
### Thermistor
X1C hot end thermistor is *JST-GH 1.25 2-pin male connector*.
**Adapter:**
- ~40mm length of [two conductor 24awg silicone wire](https://amzn.to/3JwXhO5)
- 1x JST-XH 2-pin male connector
- 1x small clear heat shrink to slip over connector end (optional)
- 1x [female 2-pin panel connector](https://amzn.to/4fV4O5b)
## Filament Runout Sensor
- Omron D2F-5L Microswitches
- 5.5mm Stainless Steel Ball
- A CW2 plate that can accomodate it
- examples:
- [UPDATED - Voron 2.4 CW2 (RC1) Filament Runout Sensor Mod by David Relich \| Download free STL model \| Printables.com](https://www.printables.com/model/249290-updated-voron-24-cw2-rc1-filament-runout-sensor-mo)
- TBD if this is using the updated CW2 body?
- [GitHub - thunderkeys/FilamATrix: This is a mod of the Voron Stealthburner which adds a filament cutting possibility!](https://github.com/thunderkeys/FilamAtrix)
-
- Software
- See [Pause/Resume, Filament Swaps & Sensors \| Ellis’ Print Tuning Guide](https://ellis3dp.com/Print-Tuning-Guide/articles/useful_macros/pause_resume_filament.html#m600-filament-change-alias)
```
[@spiffmasterpr_341375](https://www.printables.com/@spiffmasterpr_341375) I worked it out, or at least a method that works for me.
I just installed the LDO Nitehawk board and used the XY endstop GPIOs. I ended up using the ERCF V2 CW2 mod rather than this one, which uses 2 switches, one below the extruder and one above, but the concept is the same.
The header has 5V, Gnd and 2 GPIO pins on a single connector but some boards have different arrangements. The switches only need pins 1 and 3 connected, one to the Gnd and the other to a GPIO (the 5V pin is not used). These work by pulling the connection to ground when switched.
So, for my case I soldered wires to the 1st and 3rd pins only. Then I crimped the wires for the 1st pins together at the plug end (because the X and Y endstops share a header). The 3rd pins each get their own GPIO.
For this mod, with only one switch, just use a spare toolhead board socket that has a gnd and a GPIO.
In Klipper you can then add something like this:
[filament_switch_sensor filament_sensor]
switch_pin: nhk:gpio13 # Upper switch - use your GPIO here
pause_on_runout: True
insert_gcode:
M117 Insert Detected
runout_gcode:
M117 Runout Detected
There are some useful macros for filament changing etc here - [https://ellis3dp.com/Print-Tuning-Guide/articles/useful_macros/pause_resume_filament.html#m600-filament-change-alias](https://ellis3dp.com/Print-Tuning-Guide/articles/useful_macros/pause_resume_filament.html#m600-filament-change-alias)
```
Here's an example code for the printer.cfg file:
```plaintext
########################################
# Filament runout switch sensor
########################################
[filament_switch_sensor runout_sensor]
pause_on_runout: True
runout_gcode:
G91 ; relative positioning
G1 E-2 F2700
G1 Z10
G90 ; absolute positioning
G1 X50 Y50 F3000
G91
G1 E-100 F1000 ; retract 100mm of filament
insert_gcode:
G92 E0 ; Reset Extruder
G1 E50 F600 ; move filament down 50mm quickly
G1 E150 F300 ; extrude 100m of filament slowly to get it through nozzle and purge
event_delay: 3.0
pause_delay: 0.5
switch_pin: P1.28
> **BE WARNED!** This works on my own corexy printer with an SKR 1.3 board and the sensor connected to X+ port. My settings work with a standard V6 hotend. If you use it, do so at your own risk, and update what's needed so it runs on your printer. **I will not be held accountable for any damage to your printer caused by your own actions.**
>
> ```