Citrus CNC
Robotics & Motors


Open source closed loop motor controller for not-so-small machines

$20,362 raised

of $5,000 goal

407% Funded! Order Below

In stock. Order now, ships within three business days.

$40 - $55

View Purchasing Options

Recent Updates

You'll be notified about news and stock updates for this project.

Desktop CNC machinery typically uses stepper motors, often because they result in lower system cost, since they don’t require a position feedback sensor. But there are some situations where having a position feedback sensor is desirable or necessary, and the power output of a stepper motor, specially at high speeds, becomes the bottleneck for those who want a better performing machine.

I wanted to build a desktop CNC mill that was as impressive as some big name industrial machines. I decided to use brushed motors, as good quality and performance, reasonably priced units are easy to find and come in a wide variety of mechanical and electrical configurations. Speeds in excess of 15 m/min or 600 inches per minute and pushing through metal are no problem for a brushed servomotor coupled to a ballscrew, and the position feedback lowers the risk of ruining a machine job.

But it was difficult to find a commercially available, low cost motor controller, as they often have features one does not really need, or they’re built to handle large motors. That’s why I decided to create what would become the Tarocco motor controller.

Who Should Buy Tarocco?

You should consider buying this controller if you:

Tarocco allows the use of brushed motors with CNC machine controllers that communicate using the popular step and direction signal interface. As the controller receives step pulses at certain frequency, it will try to spin the motor immediately while reading the encoder signal, ensuring the number and frequency of encoder pulses correspond to the step signal. It essentially allows to drive a brushed motor as a stepper motor of not just, 800, 1600, or even 3200 steps per revolution, but the resolution of the quadrature encoder you use, which can be any value you need. If the controller, for some reason, cannot make the motor reach the desired position, it will signal the other controllers in the system, allowing them to stop their respective motors in time to avoid messing up the printing or cutting job.

The controller can deliver up to 360 W (36 V 10 A) continuously to a motor, making it a good choice for machines that need to accelerate bigger loads or where high speed motion is required. It also features a current limiting function, useful for protecting the motor from overheating and for controlling the amount of torque exerted on the machine.

Features & Specifications



Comparison with other brushed motor controllers

TaroccoLeadshine DCS303CNCdrive DG4S-08020Geckodrive G320X
Supply Voltage36 V30 V80 V80 V
Continuous current10 A3 A20 A20 A
Input frequency200 kHz200 kHz400 kHz200 kHz
Open SourceYesNoNoNo
Price$55 USD$102 USD$110 USD$127 USD

Support & Documentation

Visit or GitHub for more information.

Ask a Question

Produced by Citrus CNC in Mexico City, Mexico.

Sold and shipped by Crowd Supply.


Includes one fully assembled Tarocco board, wire harness, and standoffs for easy installation.

$55 $8 US Shipping / $18 Worldwide

Include servomotor

Get the 24 V, 4000 rpm servomotor for your Tarocco board(s). Includes 1440-count-per-revolution optical encoder.

$40 $8 US Shipping / $18 Worldwide

About the Team

Citrus CNC

Mexico City, Mexico

I want to make digital manufacturing available for home use.

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects