CNC controllers are computer numerically controlled (CNC) devices that control machines and processes. They provide capabilities ranging from simple point-to-point linear control to highly complex algorithms with multiple axes of control. CNC controllers are used to retrofit many types of machine shop equipment. Examples include horizontal mills, vertical mills, lathes and turning centers, grinders, electro discharge machining (EDM) equipment, torch tables, automatic welding machines, and inspection equipment. Some CNC controllers include machine retrofit kits for converting a manual machine to a CNC machine. These kits include common components such as software, cabling, and one or more signal generators, controllers, and motors. Servo motors can be precisely controlled and use motor position feedback via encoders or resolvers. Stepper motors provide incremental motion (steps) in response to pulses of current which alternately change the polarity of the stator poles.

Specifications for CNC controllers include number of axes, configuration, and features. Some CNC controllers are configured as computer boards. Others are housed in stand-alone cabinets. Desktop controllers allow machine operators to control equipment and processes from separate, nearby offices. Rack-mounted CNC controllers have tabs for mounting controller components on vertical rails inside a standard rack. Pendant controllers hang from an arm attached to the machine. Pedestal controllers sit on top of an arm attached to the machine. Products with integral displays, touch screens, key pads or touch pads are also available. Features for CNC controllers include alarms and event monitoring, diskette or floppy storage, tape storage, zip disk storage, multi-program storage, and simultaneous control. CNC controllers may also include tape readers, behind tape readers (BTR), and self-diagnostic features.  

CNC controllers differ in terms of industrial communications protocol. Common types include: attached resource computer network (ARCNET), controller area network bus (CANbus), control network (ControlNet), Data Highway Plus (DH +), DeviceNet, Ethernet 10-Base T or 100-Base T, and the process fieldbus (PROFIBUS®). PROFIBUS is a registered trademark of PROFIBUS International. Parallel protocols include IEEE 1284, a bi-directional standard from the Institute of Electrical and Electronics Engineers (IEEE). Serial interfaces transmit data one bit at a time and include RS232, RS422, and RS485. Some CNC controllers use the universal serial bus (USB), a 4-wire, 12-Mbps serial bus for low-to-medium speed peripheral device connections to personal computers (PC). Others can be interfaced to the World Wide Web (WWW). 

Language and operation are important considerations when selecting CNC controllers. Choices for CNC controller language include: bitmap, conversational, drawing exchange format (DXF), G code or M code, Hewlett-Packard Graphics Language (HPGL, HP-GL®), and ladder logic. HP-GL is a registered trademark of Hewlett-Packard. Choices for CNC controller operation include: polar coordinate command, cutter compensation, linear or circular interpolation, stored pitch error, helical interpolation, canned cycles, right tapping and auto-scaling. Polar coordinate command references all of the coordinates to a specific pole. Linear and circular interpolation uses the programmed path of the machine. Stored pitch error compensation improves machine precision by correcting for lead screw pitch error and other mechanical positioning errors. Helical interpolation is used to make large-diameter holes in workpieces. Canned cycles are machine routines such as drilling, deep drilling, reaming, tapping, and boring that involve a series of machine operations, but are specified by a single G-code with appropriate parameters. Rigid tapping is a CNC tapping technique which feeds a tap into a workpiece at the precise rate needed for a perfectly tapped hole. Auto-scaling translates the parameters of the CNC program to fit the workpiece.