This circuit illustration adds a scrolling paper feeder to the bed of a laser cutter. In the video after the break you can see that the actual assembly is put on the bed of the laser cutter. After the laser has cut out the specified pattern, the scroll is wound to move an un-cut portion into place. It uses a servo motor to drive one of the spools.
An Arduino Uno with a servo shield is being used for this application. It has one button which winds one spool for a pre-programmed period of time. There’s a few issues with this setup, namely that it’s not tied into the CNC program that runs the laser. There’s also a lack of precision when using a continuously rotating servo like this. If it were upgraded to use a stepper motor and patched into the CNC hardware this would make cutting new scrolls for your player piano a breeze.
Here’s a project that does the opposite, it takes old player piano rolls and digitizes them.