prinThor logo

prinThor

Free

3DPrinter/CNC/Engraver firmware framework powered by rust embassy for stm32 families and rp2040.

FreeFree tier
Type
Open Source

About prinThor

Printhor is a generic, hardware-agnostic firmware framework for FDM 3D printers, CNC machines, engravers, and robots, written in Rust using the embassy async runtime. It functions as a G-code interpreter that processes streams of commands, computes motion profiles with smooth acceleration and jerk-limited plans in real time, and drives step pulses, PWM signals, or dataframes for dedicated break-out boards. The framework emphasizes robustness, numerical stability, efficient resource utilization, and minimal busy waits through async multitasking and DMA transfers. It provides clean hardware abstraction, vector geometry kinematics, a precise PID thermal control plan, cornering algorithms based on linear algebra, and native simulation for development and benchmarking. The project is intended as a research and experimentation platform rather than a production-ready firmware, aiming to contribute innovative features and state-of-the-art approaches to the community.

Key Features

Clean hardware abstraction for STM32 families and RP2040
Vector geometry and linear algebra calculus for kinematics
Smooth acceleration and jerk-limited motion planning with double S velocity profile
High precision and deterministic kinematics with configurable resolution
Simple and efficient cornering algorithm based on pure linear algebra
Precise thermal control plan with PID
Resource and peripheral sharing with async task coordination using event-based primitives
High behavior customization through configuration
Low-level action distribution leveraging dedicated break-out boards
Wide G-code standard coverage

Pros & Cons

Pros
  • Open-source and free to use with a permissive license
  • Written in safe, modern Rust for reliability and memory safety
  • Hardware-agnostic design supports multiple MCU families
  • Advanced motion planning with jerk-limited profiles and cornering algorithms
  • Precise PID thermal control for heated components
  • Native simulation mode enables testing without hardware
  • Async multitasking ensures efficient CPU usage and low latency
Cons
  • Primarily a research platform; not yet intended for production use by end users
  • Documentation is a work in progress, may be incomplete
  • Requires familiarity with Rust and embedded development to customize
  • Limited community and third-party resources compared to established firmware like Marlin or GRBL

Best For

FDM 3D printing firmware developmentCNC machining and engraving controlRobotics motion experimentation and researchMotion control algorithm prototyping and benchmarkingEmbedded systems education and exploration with Rust/embassy

FAQ

What is Printhor?
Printhor is an open-source firmware framework for 3D printers, CNC machines, engravers, and robots, written in Rust using the embassy async runtime. It processes G-code, computes motion profiles, and drives hardware in real time.
What microcontrollers does Printhor support?
Printhor targets STM32 families and the RP2040 (Raspberry Pi Pico) microcontrollers.
Is Printhor ready for production use?
No, the project is designed as a research and experimentation platform. Its short-term goal is not to provide a production-ready firmware for end users.
Does Printhor support thermal control?
Yes, it includes a precise thermal control plan with PID regulation.
Can I simulate Printhor without hardware?
Yes, Printhor provides a native simulation mode for development and benchmarking without requiring real hardware.