prinThor
Free3DPrinter/CNC/Engraver firmware framework powered by rust embassy for stm32 families and rp2040.
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
Pros & Cons
- 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
- 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