This High-Resolution, Non-Contact Filament Sensor Improves Print Quality
Is inconsistent filament diameter causing 3D printing problems for you? Then you might want to check out Mark Yu’s bdwdith filament sensor.
In the early days of consumer 3D printing, poor quality filament was a major cause of poor and failed prints. That filament was inconsistent, resulting in unpredictable extrusion. Over the years, filament quality has improved dramatically and even the most affordable filament available today is usually fairly consistent and usable. But even the highest quality filament isn’t perfect, is a problem for people chasing the best print results. Mark Yu’s bdwidth is a high-resolution, non-contact filament sensor that can compensate for filament imperfections to improve print quality.
Consistency in filament diameter is crucial, because it influences how much material the printer actually extrudes. The slicer and printer firmware must have a filament diameter perimeter to work with in order to perform their extrusion calculations. If the actual filament diameter is less than that, you’ll get under-extrusion. If the actual filament diameter is more than that, you’ll get over-extrusion. Both are bad and affect print quality.
Most people will simply enter “1.75mm” and hope for the best. Those who care more will measure the filament diameter at several different points and then enter the average. But that average doesn’t represent the actual filament diameter at any given point. This bdwidth sensor solves that problem, giving the printer the ability to adjust extrusion as it prints to match the filament diameter at every point.
To prevent the sensor itself deforming the filament, bdwidth has a non-contact design. It contains two sensors: a filament motion sensor that detects jams or runout and a high-resolution CCD sensor that measures the filament diameter. The latter has a resolution of 0.005mm, but the effective accuracy is more like ±0.015mm.
Working with a 3D printer controller running Klipper (with a custom configuration), bdwidth passes along the upcoming filament diameter. Klipper then modifies the extrusion accordingly.
In theory, this should improve print quality. But we haven’t yet seen how much of a difference it will make in the real-world.
The first potential reason why it may not matter is that good filament today is quite consistent. Minor variations don’t cause particularly noticeable defects — and bdwidth’s accuracy isn’t that much better than typical filament tolerances. The bigger potential problem is that bdwidth isn’t capable of measuring the circularity of any given cross section of filament. If that cross section is oval, for example, it could look exactly the same to bdwidth as a perfectly circular cross section — but could actually have more or less area.
Those issues aside, bdwidth seems promising for those chasing 3D printing perfection. The firmware is open source and you can purchase the device itself from PandaPi3D.