http://www.3ders.org/articles/20170202-38-filament-roller-uses-sensor-prevent-3d-printer-filament-stoppages.html
ここまでやらんでも
Marlinのファームいじればエンコーダーにタイヤ付けてフィラメントに押し当てるだけで済む

フィラメントが無くなったのを検知するセンサー用の入力は用意されてるから
一旦マイコンで受けて一定時間検出しなければ
RUNOUT信号として出せばファーム弄らんでも行ける