This model is based on this forum discussion, notably the ideas and experiments of forum user @kaaaaaaaaaaaaal. But while @kaaaaaaaaaaaaal drilled holes into the stock parts, this model is modified with the required openings for easier reproduction. @kaaaaaaaaaaaaal also proposes a non-destructive modification to the Nextruder filament sensor using magnetic repulsion which is also well worth considering (see the forum discussion for details).
Many users have experienced problems loading flexible materials past the stock XL side filament sensors. The filament passes through a constrained channel while displacing a ball bearing backed by a spring. There is a small cylindrical magnet between the ball bearing and the spring, the movement of which is detected by a hall sensor. The spring force seems unnecessarily high, although perhaps the Prusa engineers had good reason for this, but we just don't know what that reason is. For flexibles, the level of force is a real problem as it's extremely difficult to feed filament past the ball bearing and all the way to the extruder. I have also experienced a lot of loud squeaking (like rusty hinges on an old door) when printing with some naturally glossy PETG filament (eg, black eSUN PETG) which so far seems to be fixed by this mod.
@kaaaaaaaaaaaaal had the idea to remove the spring and instead use magnetic attraction from the opposite side of the filament. I really like this idea as it's a very small change, and only requires reprinting the case part of the sensor. The insert part is printed in PC-CF on recent production machines, and includes captive ball bearings - so reprinting that part is not trivial. It's also difficult for users to reliably source different springs with specific compression characteristics - so that's not an easy option either.
Printing
Follow the PETG printing guidelines for the original model (see here). The holes for the magnets are very small, and do not print to the actual size in the model. The holes in the model have 3.3mm diameter, which gave the correct resulting size on my XL using a .6 nozzle and eSUN PETG. I have included a hole test part. This has 10 holes, the smallest being 3.0mm (in the model), each hole gets 0.1mm larger. You can print this and then find which size gives a comfortable fit for your magnets. You could then modify the included STEP file (eg, using offset face in Fusion). Be sure to print the hole test using exactly the same material and slicer parameters as you will use for the actual parts. You could also just try printing the model as it is and enlarge the holes with a 3mm drill bit if they are too small.
Parts and Assembly
Update 1/1/2024: The magnets I used were sold as 3mm tall, but are actually 2.6mm tall.
You will need some 3mm diameter round/cylindrical magnets. These are easy to find on Amazon, eBay or AliExpress, typically you'll get 10's of them for a few USD/GBP/EUR. In the photos I use two 3mm diameter x 2.6mm tall magnets stacked per hole (so 12 needed in total for a 5-tool XL, or 10 if you don't convert the “spare” sensor). These were sold as 3mm tall, but were actually 2.6mm tall. There does not seem to be much difference in the force from using one versus two of these magnets, so one true 3mm tall magnet is probably fine. The holes are about 4.2 mm deep, so you could also try 3mm diameter x 4mm tall if you can find them.
CAUTION!
Once a magnet is pushed into the hole, if it's a snug fit there's likely no way to get it out again without damaging the printed part. It was not possible to add an opposing hole to push the magnet out as this would interfere with the filament path, but you can do this with a drill if you make a mistake and want to rescue the magnet. So be sure to get the magnet poles aligned correctly. It's also possible to remove the corresponding magnet from the insert part once the spring has been removed. Place a bigger magnet over the spring opening then push the corresponding ball bearing into its hole so the cylinder magnet is moved towards the spring opening. Experiment with the orientation of the bigger magnet until it pulls the little cylinder magnet out of the spring opening. You can then re-insert it with the desired orientation.
Regarding the existing insert part: while the ball bearings are captive (ie, added during the printing process), the magnets are not. Once the springs have been removed, there's enough space for another 3mm magnet to fall into the space where the spring was. If this happens, it's pretty difficult to get the extra magnet out as it will be attracted to the existing magnet. You can try using a bigger magnet to pull the trapped magnet(s) out of the insert part, or try tapping the part quite hard over the edge of something to knock the magnet(s) out, ideally with a magnet below to catch them when they fall out. The safest approach is to temporarily cover the spring holes with tape once the springs have been removed until you've got all the extra magnets inserted into the case part and you are ready to reassemble the sensor.
The only difference between the original and modified sensor case part is seen here. Original on the left, this model on the right. Three small holes have been added. Following the directions below, magnets will be inserted into these holes.
Make sure that the new printed parts are cleared of any stringing and clear any obstructions from the screw holes etc. Ensure that the magnet holes are clear and big enough for the magnets using the blunt end of a 3mm drill bit.
Unload any loaded filament from all tools.
The instructions below refer to a single filament sensor module, but apply to both sensor modules if you have both.
Remove the filament sensor from the side of the printer, and remove the insert from the case. Follow the disassembly instructions here up to and including the “Accessing and cleaning the mechanism” step. Carefully observe how the insert is oriented within the case as you'll need to be aware of this when checking magnet polarity later. The existing case part will be replaced with the printed part from this model, and the existing insert part (and PCB etc) will be reused.
Remove the springs from the insert using a tiny screwdriver, unbent paperclip or similar. Store the springs carefully in case you want to revert to the stock configuration (Prusa support might require this for troubleshooting).
Removing a spring:
With the springs removed:
Put some tape (eg, painters'/masking tape) covering the three holes where the springs came out. This is a temporary precaution to avoid extra magnets ending up inside the insert part (see caution above).
Take a stack of the little 3mm magnets. For each of the three sensor channels:
Check the polarity of the corresponding magnet/ball bearing in the insert part (be sure to have the insert in the correct orientation). The magnets inserted into the case must attract the corresponding magnet and ball bearing.
When you are certain of the polarity, insert the correctly-oriented magnet into the corresponding hole in the case part. If you are using 3mm tall magnets, you can insert two. Push the magnet(s) all the way in.
Partially replace the insert in the case, and check that all the ball bearings are visible and being attracted towards the filament path.
Remove the temporary tape from the insert part, and re-attach the PCB. Fully insert the insert part and check that you can see all three ball bearings when looking through the filament path holes. Then take a length of filament and, for each of the three filament paths, check that the bearing moves out of the way when you push filament past, and returns in place when the filament is removed.
Remove any PTFE tubes attached to the original printed part.
Gently remove the small black PTFE tube retaining collets from the original printed part. They should come out easily by hand (specifically, fingers/fingernails). Be careful, the collets are fragile when not installed.
Gently insert the collets into the corresponding holes on the new printed part. Make sure all four “legs” are entering the hole as you gently push the collet in.
Reassemble and reattach the filament sensor by continuing with the instructions followed earlier.
Recalibrate the filament sensors. From the LCD menu, click Control → Calibrations and Tests → Filament Sensor Calibration.
If the magnets are not a tight fit, and once you are happy with the operation of the modified sensor, consider using a drop of CA glue to hold the magnets in place as they can be attracted to and accidentally removed by passing ferrous objects.