Skip to content

CNC Module Definition

bdring edited this page Dec 17, 2020 · 11 revisions


This is an attempt to define a standard for plug in modules for small CNC machines. These modules could be for....

  • Inputs Connector or terminal blocks for switches. These could have optos, R/C filters, etc.
  • Spindles These could be for RS485 VFDs, 5V PWM, 0-10V analog, etc
  • Accessories Coolant controls, relays, vacuums, toolchangers, etc
  • Motion Control RC Servos, Closed loop DC motors, things that are larger than StepStick footprint.
  • I/O expansion Add more I/O via I2C, etc
  • Displays
  • Whatever

This will allow you to design one controller (motherboard) and support a lot of different machines.


Here is the basic schematic. It has 8 I/O pins, Gnd, 5V and VMot. VMot is determined by the user, but is generally 12V or 24V.

alt text

Most controllers are going to be I/O limited. They may have some GPIO, some input only and some output only pins. Some of the GPIO may be able to do PWM, I2C, etc. In order to make it easiest for controller designers to use the most possible modules, we have some guidelines on how to align the pins with the features of the module.

  • Start with I/O #1 If your module is a simple relay, put the control line on this pin. If a controller designer has limited I/O signals, they could use as many single features modules as possible by many modules with signals only on I/O #1.
  • Put the most desirable features first If your module controls a spindle with PWM and has a PWM output and an enable and direction output, put the PWM first.
  • Put the most complex I/O requirements first Some controller pins might have some input pins, but only a few of them are also analog input pins. Putting the features with the most complex I/O requirement first may help controller designers.
  • Pins 5-8 On the 6 Pack, pins 5 through 8 are being reserved for data buses, like SPI, I2C, I2S, etc. Only the first 4 pins are being used on the current modules. All of the module sockets are connected to the same 4 I/O pins on 5 through 8. Socket #4 also has those same pins doubled up on 1 through 4. This allows you to use a normal module on the pins reserved for data bus pins. If you have a special need to use more than 4 pins on a module, you can, but be aware of the impact on other modules and socket #4.
  • Publish your files as open source PCBs are cheap and easy to make these days. If there is a module that is close to what you need, you can modify it and build your own.

If you need a special voltage, like 3.3V, you will need to generate that on the board. You should pull no more than about 1 amp from either the 5V or VMot. If you need more current, you should bring that in on an edge connector.


Here are the dimensions. The mounting hole is not connected to ground on the controller side. The side opposite the 12 pin connector is assumed to be the board edge side and should have most of the external connections.

alt text

In general you can use both sides of the board. The space between boards is about 9mm.

Module Pitch

Try to put the module sockets on a 1.30" pitch. This could allow for dual wide modules in the future.

Allowable alterations

  • Connectors can be place on the bottom of the module. The distance to the lower board is 11mm.
  • Longer Length. If need, you could go longer than the standard 42mm. This would extend the Module further over the edge of a standard controller. The user would need to deal with this length.
  • Module sockets closer to the edge on controller boards. This would force the module to hang off the edge. There use would need to provide some sort of support.