THEOS 1.0.0 Release: Putting all pieces together
Added 2025-01-02 16:28:23 +0000 UTCDear Supporters,
Over the past two weeks, I’ve made significant steps forward in developing our 3D Printer Operating System, THEOS. Thanks to your support, I’ve implemented new features in Klipper, enhanced configuration options, and expanded device support. Below is an overview of the latest developments:
🚀 New THEOS Features
1. OrangePI Zero 3 Image Based on Armbian/Bookworm
My primary goal with THEOS has always been to maintain simplicity and efficiency. Originally, I built THEOS on a multi-distribution foundation (MainsailOS, OrangePI-OS, Armbian OS, and Raspi-Lite-OS), which introduced potential sources of errors and made support more complex. To optimize the development workflow and reduce complexity, I decided to remove OrangePI-OS and now base the OrangePI Zero 3 image exclusively on Armbian/Bookworm. This change ensures a more stable and maintainable build environment, enhancing overall reliability and compatibility.
2. Expanded Support for Raspberry Pi 3/4/5
I’ve noticed that many of you have unused Raspberry Pi units, so I’ve expanded THEOS to support Raspberry Pi models 3, 4, and 5. Although these devices use proprietary bootloaders and network drivers, which may be slightly less stable compared to Banana Pi or Orange Pi boards, they offer a versatile and widely accessible platform. This expansion allows a broader user base to utilize existing hardware and benefit from THEOS’s enhanced features.
⚙️ Klipper Enhancements
1. TMC Driver Tuning
One of the standout features I’ve been working on recently is the automatic TMC Driver tuning. I won't go into detail about its functionality here, as I covered it in a previous Patreon post. The key update is that it is now fully integrated into THEOS, providing an auto-tuning configuration specifically for the T250 printer. Here’s a quick performance snapshot:
Wanta 42BYGHW811:
With Custom TMC Driver: Approximately 78% more performance compared to stock Klipper
Manual tuning: 122% performance increase with a manually tuned TMC driver profile
Exotic Motors (LDO Superpower 2804):
With Custom TMC Driver: Up to 168% performance improvement
Manual Hysteresis Tuning: Up to 251% performance increase compared to stock Klipper
Future Developments: I see significant potential to further refine the Driver Tuning Algorithm. My goal is to develop a sophisticated tuning program that measures vibrations caused by suboptimal hysteresis and identifies optimal "sweet spots" that exceed current estimates based on the TMC5160 datasheet.
2. Fully Rewritten Configuration Parser
A key objective for me was to create a modular configuration system for 3D printers that is easy to maintain, scalable for future developments, and adaptable to various printer models. To achieve this, I completely rewrote the Klipper configuration parser. I provided an overview of the main features of the new Config Parser in a previous Patreon post. Since then, there have been new developments. Here is an overview of the new enhancements:
Default Values: Setting default values when a variable is missing to prevent configuration errors.
Min/Max Operations: Constraining values within defined limits.
Abs/Round Operations: Supporting additional mathematical functions for greater flexibility and precision.
Value Overwrite: Prioritizing printer.cfg values over sub-configurations for better customization options.
This new parser is fully integrated into THEOS and utilizes THEOS-Configuration as a comprehensive repository for both the T250 and T100 printers.
🧩 Configuration Improvements
1. Automatic Twist Compensation
To improve bed leveling, I’ve integrated automatic twist compensation into the Z-tilt process. This feature corrects distortions along the X and Y axes caused by shrinkage, warping, or other frame-related issues. While improving print quality, it's important to recognize that twist remains a significant challenge for speed and acceleration. Although a warped frame cannot be entirely eliminated, this process substantially minimizes its impact on the final print quality.
2. Screw Adjustment Module
I have enabled Klipper’s Screw Adjustment module to provide an easy method for adjusting all the screws of the T250 and T100 print beds. While the Z-tilt and twist algorithms can correct misaligned screws, maintaining a straight bed from the outset is still crucial. This feature reduces the number of passes required for bed calibration, thereby speeding up the overall calibration process and ensuring a more accurate setup.
3. Skipping Dwell Time Upon Reaching Temperature
The standard implementation of M109 and M190 commands not only waits until the bed or hotend reaches the target temperature but also ensures that the temperature has stabilized. Even with proper PID tuning, it takes an additional 15-20 seconds for temperature overshoots to settle at the desired point. Since heating is the first step of our homing procedure, followed by homing, Z-tilt, twist compensation, and bed mesh measurement, waiting for the temperature to fully stabilize is unnecessary. The new implementation bypasses the dwell time once the target temperature is reached, saving approximately 45 seconds on each print start cycle.
🛠 Try THEOS Today
I’m excited to announce the release of THEOS v1.0.0!
Thank you for your continued support and feedback. Your contributions make these advancements possible. Stay tuned for more updates on the T250 and THEOS – more features and improvements are on the way.
Best regards
Matt
Comments
I have an old android phone laying around (OnePlus Nord 2). How big would be the hassle to get Theos running on such a device? Would be great to reuse it with it's touchscreen and maybe also the internal camera.
Felix Kühn
2025-01-04 20:21:23 +0000 UTCAbsolutely, you’re right! I’m currently preparing my printer for a beta announcement video. It will still take a couple of days but hopefully by the end of the week it's ready, stay tuned!
Matt the Printing Nerd
2025-01-04 11:34:02 +0000 UTCI feel like this is a prerequisite for another release. Soon, hopefully 0:)
yogadude911
2025-01-04 10:21:32 +0000 UTC*stares at parts of The 100 that have been printed out for a while* alright.... I guess it's time. :)
Graye Williams
2025-01-02 17:59:29 +0000 UTC