Does it need to be a mouse wheel interface? I was thinking that all you have to do is put a friction wheel against the moving filament near where it enters the bowden tube or direct drive assembly. Even if it only has one "flag" for reference and with retraction you'd just need to verify that that flag toggles state within 20 seconds or so in order to avoid triggering a pause (typically you'd get quite a few state changes in that time on most printers). This would be a useful way to not only detect a filament break or empty state but also a blocked nozzle or other state that prevents filament from moving as normal. As I said earlier, I'm really surprised that this isn't a standard feature of a majority of printers right now but I guess it isn't.
Mice in the past had a ball and this translated movement to two spoked wheels. Each of these spokes then interrupted isocouplers in the X/Y directions. Most mice now have an LED and optical sensor very close to the bottom without moving parts for this function. The internal circuitry turns this into simple mouse-movement events. The version I hand in mind just used the bottom of the mouse. Presumably, it could be either old-school or new mouse. It does need to be USB-based, however.
And yet, there was a moment where I thought using the scroll wheel on the top of the mouse was the way to go. I imagined pinning the mouse under spring pressure so that the scroll wheel was always in contact with the spool.
I wouldn't put this anywhere but on the spool itself. The lack of spool movement is the earliest warning you have in the case where the filament has just snapped (too dry). Another problem is when you're trying to use flexible filament and the feed gear has just chewed a notch in the filament and it's grinding there without advancement; frankly, either design would have detected this loss. Having looked at all the possibilities and places where problems happen, only detecting spool movement is the one which seems to cover all the bases.
- simple end-of-roll loss of filament
- spool sticking to manufacturer’s poorly-designed spool holder
- cross-threading of the filament on the roll
- hot-spooling the filament at the factory which resulted in filament which sticks together
- filament like carbon fiber—infused which likes to stick to itself
- old filament which is now brittle and breaks as a result
- overall poor design of the spool (boxy) shape itself, resulting in cross-threading
- overall poor design of the filament delivery path itself, resulting in too much force needed to extrude
- filament thickness quality issues as combined with PTFE feed tubing, resulting in stuck filament in the tube
- too-flexible filament as combined with any of the conditions above, resulting in filament notching at the bowden gear
- z-offset too close to the bed, resulting in hotend jamming
- poor first-layer adhesion, leading to a build-up of filament and ultimate hotend jamming