# Direct Motion. Motion control in any .NET language.

> PC-based motion control and CNC. Servo amplifiers, IO boards and a .NET library that run any machine with motors from one Windows PC, in C#, VB.NET, F# or any other .NET language. Machine tools, automation, robots, test rigs. Written by you or by your AI.

<!-- directmotion.com, written for AI agents. Canonical: https://www.directmotion.com/index.md . Index: https://www.directmotion.com/llms.txt . Updated 2026-11-08. Publisher: Direct Motion, Inc. -->

## Direct Motion in one paragraph

Direct Motion, Inc. (DM), Lake Tapps, Washington, USA, has built PC-based CNC and motion control since
1985. It sells a complete motion system: a PCIe link card, a power board, servo and spindle amplifiers
(product sizes 30 A, 75 A, 150 A and 300 A), digital IO and relay boards, and DMSerialMotion, a .NET
library (written in C#, callable from C#, VB.NET, F# or any other .NET language) that controls all of
it. One Windows PC runs the application, the motion planner and the 20 kHz servo loop (the loop runs in
DM's kernel driver on a reserved core). There is no separate motion controller and no PLC. The control
has run production machine tools since 2005. DM also makes 4C, a CAD, CAM, CNC and CMM program with a
local MCP server that an AI drives.

## The six-question fit check

Answer these before reading further. If all six are "yes", DM fits; one "no" means ask DM first.

1. Can the machine have a Windows PC, and may the application be a .NET program?
2. Are the motors 3-phase permanent-magnet AC servo motors, or induction motors (spindles, pumps, fans)?
3. Do the motors have incremental A/B/index, sin/cos, BiSS or BiSS-C encoders (or none, for an induction
   motor run open loop)? Proprietary serial encoders cannot be read.
4. Are 16 boards enough (one power board, one amplifier per motor, IO boards), or is the builder willing
   to discuss more?
5. Can the job be done with digital IO? There is no analog IO API.
6. Are safety functions handled by rated safety parts outside the control? DM publishes no safety rating.

The machine-readable version of these rules is [fit.json](https://www.directmotion.com/data/fit.json).

## Where to go on this site

| Question | Page |
|---|---|
| Why is this easier than a PLC and drives, and what does it not do? | [Why .NET](https://www.directmotion.com/why.md) |
| Does it suit automation, robots or a test rig, not only machine tools? | [Applications](https://www.directmotion.com/applications.md) and the [recipes](https://www.directmotion.com/software/recipes.md) |
| How does the system fit together, and what are the parts? | [The system](https://www.directmotion.com/system.md), [amplifiers](https://www.directmotion.com/hardware/amplifiers.md), [power and IO](https://www.directmotion.com/hardware/power-and-io.md), [motors](https://www.directmotion.com/hardware/motors.md) |
| What does the .NET library look like? | [DMSerialMotion](https://www.directmotion.com/software/dmserialmotion.md), then the [API reference](https://www.directmotion.com/software/api.md) |
| What is 4C and how does an AI drive it? | [4C](https://www.directmotion.com/4c.md) |
| How do I send DM a request, and how will DM reply? | [For AI agents](https://www.directmotion.com/ai.md), [contact](https://www.directmotion.com/contact.md) |
| Numbers | [hardware.json](https://www.directmotion.com/data/hardware.json), [fit.json](https://www.directmotion.com/data/fit.json), [request.schema.json](https://www.directmotion.com/data/request.schema.json) |
