XaiJu
The100
The100

patreon


THEOS 1.0.0 Release: Putting all pieces together

Dear 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:

Exotic Motors (LDO Superpower 2804):

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:

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!

👉 Download 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

Absolutely, 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

I feel like this is a prerequisite for another release. Soon, hopefully 0:)

yogadude911

*stares at parts of The 100 that have been printed out for a while* alright.... I guess it's time. :)

Graye Williams


More Creators