I want to design a filament selector system for a Ender 3 Pro printer - Ideally it will be controlled by a ESP32 that interfaces with the Raspberry via serial (etc...). What design do you recommend?
I want multiple filament automated selection.
I was thinking something like a revolver cylinder which rotates to present filament id1-15 to a jaw that contains the extruder. Ideally as the cylinder rotates, only one filament would be in area for extruder to grab... So that jaw closes and it pulls the selected filament through a feeder tube to the extruder on the printer. Those jaws open (by means of a stepper and worm gear) and filament advanced until it hits the nozzle and stalls. Then extruder on printer jaw closes and it continues to print with that filament. Cura specifies the printhead settings for each "extruder". Whenever a "extruder" changes in gcode the esp will be notified filament will retract fully by means of opening both jaws and backing up filament until it exits the first extruder jaw, then rotate...
Of course it won't rotate more than ~354 deg. The ports for each filament will kink in a way to apply friction to allow slack to back up and end stays in place and therefore doesn't shoot forward after it's retracted, nor shall it pull out and tangle!
I'll have to fix the extruder on the ender3pro as it is misaligned, this is a common issue and makes threading filament a pain.
The raspberry will need to send extruder changes to the esp and the esp will need to pause the print until the change is processed.