



DIY Smart Filament Sensor with custom Setup App & Klipper Clog Detection — Going Open-Source Soon!
Hi everyone!
I'm wrapping up a DIY Smart Filament Sensor project that's going fully open-source soon. It catches nozzle clogs, filament slips, and runouts with high precision, costing under $10 to build!
🛠️ Bill of Materials (BOM):
| Category | Component Name | Qty | Description / Technical Details |
|---|---|---|---|
| Electronics | ESP32-C3 Super Mini | 1 | Main microcontroller (WiFi/BLE enabled, ultra-compact form factor) |
| Electronics | AS5600 Magnetic Encoder Module | 1 | Contactless filament movement tracking (Must include a diametric magnet) |
| Electronics | WS2812B Neopixel 5050 RGB LED | 1 | Status indicator (Single round PCB format) |
| Mechanical | Grooved Bearing (U604ZZ) | 2 | OD: 13mm, ID: 4mm (The pulley/bearing the filament rides on) |
| Mechanical | Dowel Pin (3mm x 15mm) | 1 | Smooth steel pin used as the central axle/shaft for the bearing mechanism |
| Mechanical | O-Ring / Seal Ring | 1 | OD: ~11mm (Stretched over the bearing to grip the filament and provide friction) |
| Hardware | PC4-M6 Pneumatic Fitting | 2 | 6mm thread, used as entry/exit guides for the PTFE tubing |
| Hardware | Compression Spring | 1 | Pen-style spring to apply tension on the bearing |
| Hardware | M3 Screws | As needed | For main housing assembly and structural mounting |
| Hardware | M2 Self-Tapping Screws | As needed | For securing the ESP32, AS5600, and Neopixel PCBs |
🚀 Key Features:
- USB-Only Klipper Integration: Plugs directly into your Raspberry Pi/host via USB. No motherboard wiring needed!
- Zero Cumulative Drift: Uses a differential sliding window algorithm. It matches commanded extrusion vs. actual movement, resetting drift automatically to prevent false-positive print pauses.
- Custom Setup App: A sleek React/Electron companion app for 1-click calibration, live measurement, and adjusting noise/sensitivity settings over serial.
- Smart RGB LEDs: Smooth status breathing/pulsing states via FastLED.
I am finalizing the enclosure STLs and polishing the code to release it all on GitHub soon.
I’d love to hear your thoughts and suggestions!