

The Acorn CNC by Centroid is a compact and affordable CNC controller designed for hobbyists and small businesses. It provides a user-friendly interface and robust performance, making it an excellent choice for those looking to control CNC machines such as mills, lathes, routers, and plasma cutters. The Acorn CNC is known for its easy setup, compatibility with a wide range of CNC machines, and support for Centroid's powerful CNC12 software.








The Acorn CNC controller is designed to deliver reliable performance while being easy to integrate into various CNC systems. Below are its key technical specifications:
The Acorn CNC controller features a well-labeled pinout for easy wiring. Below is the pin configuration:
| Pin Name | Type | Description |
|---|---|---|
| IN1 - IN8 | Input | Optically isolated inputs for limit switches, etc. |
| OUT1 - OUT8 | Output | Relay outputs for controlling devices like coolant. |
| +24V | Power Input | 24V DC power supply input. |
| GND | Ground | Ground connection for the power supply. |
| Motor Outputs (X,Y,Z,A) | Motor Control | Step and direction signals for stepper/servo motors. |
| Ethernet Port | Communication | Connects to PC for CNC12 software control. |
| Axis | Step Pin | Direction Pin | Description |
|---|---|---|---|
| X | X_STEP | X_DIR | Step and direction signals for X-axis motor. |
| Y | Y_STEP | Y_DIR | Step and direction signals for Y-axis motor. |
| Z | Z_STEP | Z_DIR | Step and direction signals for Z-axis motor. |
| A | A_STEP | A_DIR | Step and direction signals for A-axis motor. |
The Acorn CNC controller is designed for ease of use, but proper setup and configuration are essential for optimal performance. Follow the steps below to integrate the Acorn CNC into your CNC system.
While the Acorn CNC is primarily controlled via the CNC12 software, it can also interface with an Arduino UNO for custom applications. Below is an example of how to send step and direction signals from an Arduino to the Acorn CNC:
// Example Arduino code to control the X-axis of the Acorn CNC
// Connect Arduino pins to the Acorn CNC's X_STEP and X_DIR pins
#define STEP_PIN 2 // Arduino pin connected to X_STEP
#define DIR_PIN 3 // Arduino pin connected to X_DIR
void setup() {
pinMode(STEP_PIN, OUTPUT); // Set STEP_PIN as output
pinMode(DIR_PIN, OUTPUT); // Set DIR_PIN as output
digitalWrite(DIR_PIN, LOW); // Set initial direction (LOW or HIGH)
}
void loop() {
// Generate step pulses for the X-axis motor
digitalWrite(STEP_PIN, HIGH); // Set STEP_PIN HIGH
delayMicroseconds(500); // Wait for 500 microseconds
digitalWrite(STEP_PIN, LOW); // Set STEP_PIN LOW
delayMicroseconds(500); // Wait for 500 microseconds
}
No Communication with CNC12 Software:
Motors Not Moving:
Limit Switches Not Detected:
Relay Outputs Not Working:
Q: Can the Acorn CNC control more than 4 axes?
A: No, the Acorn CNC is limited to 4 axes. For more axes, consider Centroid's higher-end controllers.
Q: Is the Acorn CNC compatible with third-party software?
A: The Acorn CNC is designed to work with Centroid's CNC12 software. Third-party software compatibility is not guaranteed.
Q: What types of motors are supported?
A: The Acorn CNC supports both stepper and servo motors with step and direction control.
Q: Can I use the Acorn CNC for plasma cutting?
A: Yes, the Acorn CNC is suitable for plasma cutting applications with proper configuration.
By following this documentation, users can effectively set up and operate the Acorn CNC controller for a variety of CNC applications.