
Tinymovr is an affordable motor controller with integrated encoder and CAN bus for precise control of 3-phase brushless motors (PMSMs).
This repository holds the open source firmware, client library, hardware designs and documentation source.
Note
This is the latest stable version of the Tinymovr Firmware and Studio app. For the legacy 0.x.x version, check out the legacy branch.
Getting Started
Please visit the Quick Start Guide
Getting Help
Full documentation is available at Readthedocs.
Please visit the Discussions Page and the Discord Server to ask any questions. If you are unable to find an answer to your question, you are welcome to start a new discussion or ask away at our Discord server.
If you would like to propose a feature or think you have found a bug, open a new issue.
Repository Structure
Note: The main branch reflects the latest release. Development happens on develop.
The repository is organized as follows:
firmware: Firmware for the PAC5527 MCU in Tinymovr
studio: Tinymovr Studio client software and library
hardware: Designs and drawings for related hardware
docs: User documentation source (built with Sphinx)
See also: Developer documentation in root (ARCHITECTURE.md, CONTRIBUTING.md, etc.)
Developer Documentation
For contributors and AI agents working with the codebase:
Additional technical documentation:
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
New contributors: See CONTRIBUTING.md for setup instructions and workflow.
AI agents: See CLAUDE.md for navigation and guidelines.
License
GPLv3
External Links
Tinymovr Website and Store
Blog
Discord server
Project page on Hackaday
BLDC-Design-Help Repository, with lots of useful information and Tinymovr benchmarks