XaiJu
The100
The100

patreon


Finding the Ideal SoC Board for Pushing the T250 to Its Limits

Over the last 3-4 days, I’ve run into 2-3 sporadic MCU shutdowns with the Error Message: MCU shutdown: Timer too close. The reason for that error is in most situation a bottleneck caused by the Host CPU. I suspect the combination of speeds exceeding 1000mm/s, High Precision Stepping enabled, Polynomial Input Shaping, PA synchronization, and microstepping set above 16 is simply too much for the SoC on my Orange Pi Zero 3 to handle.

So I thought, this might be a good opportunity to evaluate an SoC with a bit more horsepower.

To kick things off, I’ve started researching the current market, comparing SoCs using PCMark benchmarks to see what’s available and how fast it is compared to the Banana Pi M2 Zero (Allwinner H3) that I recommended 1,5 years back for the T100 and Orange PI zero 3(Allwinner H618) which is part of my current T250 BOM:

For a better understanding of which chip is used on which board, here’s a quick overview:

As you can see, the Raspberry Pi 5 and Orange Pi 5 outperform all the other boards significantly in PassMark benchmarks. I cross-checked these results with the Geekbench database, and the findings were consistent:

While raw performance is a great starting point for narrowing down potential candidates, it doesn’t fully address the specific needs of a 3D printer host board. To get a clearer picture, I went a step further and reviewed multiple sources for each chip, consolidating the findings into a comparison and decision table tailored specifically for 3D printing applications.

At the end of this post, you’ll find a list of all the sources I used. If you’re interested in exploring the topic further, everything you need is right there for your own deep dive!

So what are the main differences:

First up, it’s important to note that Klipper is a single-core application, so its performance doesn’t directly benefit from having more cores. However, additional cores can still play a critical role by offloading tasks handled by the operating system while Klipper is running. For instance, if you’re streaming a webcam feed of your print, the CPU is responsible for transcoding the video, which will block a core.

The "MCU shutdown: Timer too close" error occurs when the CPU usage of the core running Klipper exceeds about 50%. This is where having more cores becomes beneficial: the operating system can distribute aditional workload across all available cores, reducing the load on each individual core and ensuring a lower load on the core Klipper is running.

Another key factor to consider is the process node. This refers to the size of the transistors used in the SoC, with an 8nm process node meaning each transistor is just 8 nanometers in size. Smaller transistors have shorter distances between them, which reduces the power required to drive signals across the chip. This translates into lower power consumption and cooler operation.

A cooler chip also significantly reduces the chances of thermal throttling. This is crucial because when a chip running at, say, 30% load at 2GHz thermally throttles down to 1GHz, the effective load doubles to 60%. But it gets worse. Since Klipper is a single-core application, the operating system cannot split its load. Instead, it interrupts Klipper to perform a cleanup, offloading unnecessary processes from that core to equilize the load over all availible cores. This interruption desynchronizes the MCU and triggers our lovely error message.

Comparison Matrix

As I mentioned earlier, I’ve compiled a Comparison Matrix with all the information I’ve gathered about the potential SoCs I’m considering. This matrix includes everything from raw performance metrics to key factors like thermal efficiency and suitability for 3D printer host boards. You can check it out here: Google Spreadsheet.

The first page focuses on the chips themselves, comparing their specifications and performance. On the second page, I’ve analyzed different boards at various price points, giving a broader perspective on value for money.

Feel free to explore the data and before you read further to get an unbiased view on the data!

Final Decision

Before I dive into the board I’ve chosen to evaluate, here’s a quick disclaimer: When it comes to selecting an SoC, integration is king. It’s not just about raw performance; the most critical question is how well the hardware is supported. For example:

There are countless potential roadblocks when adopting new hardware. Without proper support, even the best-performing hardware can become a frustrating liability. You might end up with a powerful board that’s practically useless due to limited software or driver compatibility.

Overview:

When I started color-coding the table, the first thing that jumped out at me was how poorly the Banana Pi performed—at least, that’s what I thought at first. But as I compared it to the Raspberry Pis, I realized that both actually play in the same league when it comes to performance per watt and performance per euro.

Looking back, my decision 1.5 years ago to integrate my T100 using the BPI-M2 Zero wasn’t such a bad call after all!

However, as soon as you add the Orange Pi Zero 3 into the mix, the argument for sticking with a Banana Pi falls apart. Back then, the Orange Pi Zero 3 was still relatively new, and its integration was very experimental. On top of that, getting your hands on one in the US or Europe was a challenge due to limited distribution. But both of those issues have been resolved, and today, the Orange Pi Zero 3 reigns as the price-to-performance ratio king.

That said, there’s a caveat to consider. Klipper doesn’t require much RAM, so I opted for the minimal configuration of 1GB RAM on the Orange Pi Zero 3. In comparison, the other boards, like the Raspberry Pi 4/5 and Orange Pi 5, start with a minimum of 4GB RAM.

Now, some might argue that going with more RAM, even on the Orange Pi Zero 3, is a smarter, future-proof choice—and I wouldn’t disagree. But for a printer focused purely on high-speed printing (not insane speeds) and running a lean operating system without additional bells and whistles, 1GB is more than enough for the job right now.

Now, back to the main question: Raspberry Pi 5 vs. Orange Pi 5 Pro?

The numbers really speak for themselves. With 2.5x the single-core performance, the Orange Pi 5 Pro gives us a ton of headroom—even for demanding tasks like CPU-hungry Input Shaper algorithms or running 128 microsteps. The almost 3x multicore performance is impressive, though it’s not strictly necessary for 3D printing.

What’s particularly exciting is the inclusion of 4 efficiency cores. These allow the operating system to offload most background tasks, leaving the performance cores—and by extension, Klipper—with more thermal headroom to avoid thermal throttling. Combine this with a more advanced production node that generates less heat, and the Orange Pi 5 Pro should stay cooler on average than the Raspberry Pi 5.

But here’s the catch: it comes at a price. With a cost nearly 4x higher compared to the Zero 3, it’s far from a bargain. Even though it’s more power-efficient, it’s unlikely to offset the price difference through reduced energy costs alone. Essentially, there’s a bit of a "premium tax" you’re paying for the added performance and efficiency.

Still, for those who need the absolute best, it’s a tempting option. If you’re looking at other boards that might be valid alternatives, let me know in the comments—I’d love to hear your thoughts!

So, here’s the deal—I ordered three boards for testing. Thanks to your generosity, I was able to do that… with your money! Seriously though, I really appreciate your support—it means a lot! 😉

References:

Finding the Ideal SoC Board for Pushing the T250 to Its Limits Finding the Ideal SoC Board for Pushing the T250 to Its Limits Finding the Ideal SoC Board for Pushing the T250 to Its Limits

Comments

Check this out. A broad board support and seems pretty active. https://sd-card-images.johang.se/

mathew500

Hi Matt, As Hydos writes, there are multiple mechanisms in the kernel to isolate both tasks and cores. If this is not done, I'd definitely check this out to see how much this affects the klipper process, instead of buying more powerfull hardware.

mathew500

It's not GCode specific, it's the improved calculation of smooth_input_shader / PA_sync and Stepper Compress

Matt the Printing Nerd

did you have a gcode file where you had issues with the specs? or is it just once you hit a specific speed? I'm going to try replicate it on my end i just need a bit more info. Feel free to msh me on discord if you have any files :)

hydos

That’s totally fine—and honestly, it’s a smart choice to start with. No one really knows how well the Orange Pi 5 will perform just yet. For all we know, I might not even be able to build a working THEOS version based on its kernel at all. Waiting for full Orange Pi support could take anywhere from 4–6 weeks in the best case to 1–2 years before all the features we need are ready. I wouldn’t have suggested going for it unless I felt the chances were pretty high that now’s a good time—but, hey, you never know! Plus, getting a printer to the point where the host becomes the bottleneck is a challenge in itself, so I’m confident your Zero 3 will handle the job just fine.

Matt the Printing Nerd

I didn’t dive too deeply into analyzing the code changes Dimi made. From what I observed, the Klipper CPU core had, on average, 15-20% higher load during printing with his modifications. Unfortunately, I haven’t had the time to investigate further. If you’re interested in contributing optimizations, you can check out the Klipper fork with all his modifications—it’s available on the develop branch of MSzturc/klipper.

Matt the Printing Nerd

What part of klipper is causing the massive slow down? Is it related to the stepper move compression C algorithm? I'm sure the pc side can be better optimized could solve the whole timing issue :). Also, there are a few things you can do on the linux side to make sure the process takes the highest priority no matter what which would surely help with the issue.

hydos

Oh No, I just bought an orange pi for my T250! Looks like I have another board for another project now ☺️

yogadude911

Ohh, thanks for the info! I came across the CNX Software summary on the RK3588 too. Honestly, when it comes to Raspberry Pi, it feels like so many developers have just hit a wall of burnout. I was chatting with Mete, the MainsailOS developer, and he really laid it out for me—maintaining an RPi-based system is a massive headache. He even said that if a board isn’t already on the supported list, there’s no way he’d even consider adding it to the distribution. It’s just way too much hassle. He warned me about supporting it as well, and after hearing him out, I totally get his frustration. The Raspberry Pi team doesn’t release their source codes, so you’re basically debugging blind. On top of that, they use kernel modules that aren’t supported by mainstream operating systems, yet. It’s a complete mess trying to work on products based on their platform.

Matt the Printing Nerd

I feel like Rpi 5 is still the better way to go. There are ongoing and new concerns with maintainability of Rockchip support with linux. When building The 100 i gave up on the stupid Banana Pi support and threw in a older RPI 3 over frustration of basic linux support. https://jeffgeerling.com/blog/2024/popular-rockchip-sbc-distro-limbo-after-maintainer-burns-out https://mastodon.social/@geerlingguy/113698847221483936

nemith

Hmm.. based on the documentation of armbian it should work but it needs changes to get all features up running: https://www.armbian.com/orangepi-5/

Matt the Printing Nerd

Both are overpriced boards that are way slower than the Orange PI Zero 3

Matt the Printing Nerd

What about the btt pi and the mellow fly pi?

Ryan Gamble

About a year ago I found an amazing deal on an Orange Pi 5B. Though not mentioned above, would this be a suitable substitute?

Z-Man23


More Creators