The InFiDEL is a cheap (< $5) filament diameter sensor intended for use with FDM 3d printers.

Order PCBs:

Compare PCB Prices:

Buy Parts

Adjust quantity:
... 5 more lines
View All

Inline Filament Diameter Estimator, Lowcost (InFiDEL)

Originally created by Thomas Sanladerer

A cheap, yet precise filament diameter sensor, intended to compensate for filament diameter deviations in real-time.

The InFiDEL is a cheap (< $5) filament diameter sensor intended for use with FDM 3d printers. The sensor can be calibrated to provide surprisingly precise filament diameter readings in real-time. The main idea is to use the sensor to correct for filament diameter deviations while printing.

Based on this proof-of-concept:

Detailed documention for InFiDEL:

  • Flash board with calibration.ino
  • Connect a host via I2C (see provided host-example.ino)
  • Insert each calibration drill bit shafts and replace the lookup table entries in driver.ino with your own measurements
    • Measure the actual diameter of the shafts and fill second column
    • Use the host's output *1000 to fill first column
  • Finally, flash driver.ino with your values filled out
  • Hub should now output exact diameter values

Analog output is currently not enabled in driver.ino (I2C and FAULT pin only)

1 Block 1 Lever

Parts should preferably be printed in PETG, ABS or ASA as PLA may creep significantly over time.

There are two board variants included in this repository, either can be used to assemble the InFiDEL. PCBs and electronic components can be easily ordered via the Kitspace project page as it can auto-fill carts and get pricing on PCBs and electronic components from common suppliers.

Choose one:

  • SMT control board (which is populated; Gerber files and component specifications are included)
  • THT control board

Also required:

  • Suitable programmer for ATTiny85 (eg USBtinyISP)
  • 1 SS495A linear hall effect sensor (or comparable)
  • 2 M3x8 screws (eg ISO 4762 M3x8)
  • 1 3x24mm pin (eg DIN 7 3x24mm, for mating lever to the block)
  • 1 3x16mm pin (eg DIN 7 3x16mm, for roller bearing in lever)
  • 1 3x18mm pin (eg DIN 7 3x18mm, for idler bearing in block)
  • 6 M3 threaded inserts
  • 1 M6x5 or M6x8 grub screw (eg ISO 4026 M6x5, for pre loading spring)

Pins may be replaced with screws or grubscrews, which may result in decreased precision.

  • 1 6x2mm magnet (eg N35)
  • 4 623 bearings (preferably 623-2Z / 623-ZZ)
  • 1 Ballpoint pen spring (or other soft 4mm spring)
  • Short length of PTFE tube
  • 1 1.5mm drill bit
  • 1 1.7mm or 1.8mm drill bit
  • 1 2mm drill bit
  • Calipers for verifying drill bit shaft diameter

Drill bits may be replaced with similar diameters. Measured diameter is to be written to firmware lookup table.