Filament-Loading.mp4
This is a collection of Klipper macros for loading and unload filament and handleing filament runouts and color changes in a similar style to Prusa. What's unquie about these macros if they use Mainsail prompts as a helpful aide.
These macros where designed around the Orbiter Filament Sensor, but it will work with any filament sensor that is a switch. You just need to assign the pin in the config. The Orbiter Filament Sensor also has a button for unload, which many filament sensors do not have. So in this case you would just call the unload macro in Mailsail or the like.
Macros included:
- Filament Load
- FIlament Unload
- Filament Runout
- Color Change M600 (WIP)
- Pause
- Resume
- Cancel
The main features are:
- Lots of helpful prompts that guide you through the process
- Material temperature profiles. Add custom material profiles for whatever you might be printing.
- [Optional] Beep (M300) command can be played at stages of load and unload
- Temperture Checks and temperature recovery if idle timeout is reached.
- Filament Checks during loading to make sure there is acutally filament loaded
- [Optional] Auto Resume after runout
- Persistence storage of material temps; material is remembered even after reboot
- "Retry" feature during filament loading, which unloads the filament if something is wrong.
- [Optional] cooldown hotend to a specific temp after loading
- [Optional] heats bed during loading
- [Optional] homes Z before loading, to make room for purge
- Customizable purge length, purge speed, unload distance, park postion, park lift and park retraction
- Works 100% with Klipperscreen
A short demo because a video is worth a 1000 words
See the wiki for a step by step guide.
Also check out extras
- Long term testing
- Fixing bugs that will probably appear 🙃
- Continuous beep alert during runout / color change
- High temp to low temp material transition - Explained here
- Prevent bed from cooling down during print pause
- Faster "purge more" - It's a bit slow at the moment
- V1.0 - Intital Release
- V1.1 - Optimized material load and unload prompt.
- V1.2 - Added cooldown after loading function. Optimized prompt text and layouts.
- V1.3 - Added working color change (M600), Improved pruge dialogue, Added auto-resume after runout and color change.
- V1.4 - Added persistent storage of temps, "Retry" during filament purge, home Z during loading, tested working with klipper screen
Bugs? Issues? Improvements? Open an issue or make a PR.
To help me understand the logic flow of what's going on at each step, I made block diagramd for each part of this project.