MMC90X Miniature Motion Control Computer
UIROBOT MMC90X Miniature Motion Control Computer based on Raspberry Pi with Linux OS, dual CAN 2.0B interfaces, SDK development library, and gateway program for multi-axis motion control.
The MMC90X is a miniature motion control computer based on Raspberry Pi (Bookworm), designed for multi-axis motion coordination and CAN bus communication. It provides a full Linux computing environment with SDK development library and gateway program, enabling users to control UIROBOT servo stepper motors and I/O modules through a compact industrial platform.
---
## Key Features
:::grid{cols=2 style=card}
**Linux-Based Computing**
Full Raspberry Pi OS (Bookworm) environment with support for Python, C++, and other Linux applications. Run custom software alongside motion control.
**Dual CAN 2.0B Interfaces**
2 independent CAN 2.0B interfaces for connecting motor controllers, I/O modules, and gateways on separate bus segments.
**SDK Development Library**
Pre-installed libUirSdk.so SDK library and gateway program for rapid development of motion control applications.
**Multiple Connection Methods**
StepEva3 GUI software, SSH terminal access, and programmatic API for flexible system integration.
:::
:::grid{cols=2 style=card}
**Wide Power Input Options**
Isolated (18–75 VDC) or non-isolated (9–60 VDC) power input options for various industrial environments.
**Compact Form Factor**
Small footprint suitable for DIN-rail or screw mounting in tight spaces.
**Rich Storage Options**
32GB, 64GB, or 128GB eMMC storage for applications and data.
**SDRAM Options**
4GB or 8GB RAM for different application requirements.
:::
---
## Product Lineup
The MMC90X series offers multiple configurations to meet different application needs.
### Order Code Structure
```
MMC 9 04 S 32
MMC — Miniature Motion Control Computer
9 — Linux OS
04 — 4GB RAM / 08 = 8GB RAM
S — 18–75 VDC Isolated / E = 9–60 VDC Non-Isolated
32 — 32GB Storage / 64 = 64GB / 128 = 128GB
```
### Configuration Options
| Parameter | Options | Description |
|-----------|---------|-------------|
| Series | MMC | Miniature Motion Control Computer |
| OS | 9 | Linux OS |
| RAM | 04, 08 | 4GB or 8GB SDRAM |
| Power | S, E | Isolated (18–75 VDC) or Non-isolated (9–60 VDC) |
| Storage | 32, 64, 128 | 32GB, 64GB, or 128GB eMMC |
---
## Technical Specifications
### Processing
| Parameter | Specification |
|-----------|---------------|
| Platform | Raspberry Pi (Bookworm) |
| RAM | 4GB / 8GB |
| Storage | 32GB / 64GB / 128GB eMMC |
| Operating System | Raspberry Pi OS (Linux) |
| Programming | Python, C++, Custom Scripts |
### Communication
| Parameter | Specification |
|-----------|---------------|
| CAN Interface | 2 × CAN 2.0B |
| CAN Baud Rate | 125K / 250K / 500K / 1M |
| Ethernet | 10/100/1000M RJ45 |
| USB | Multiple USB ports |
| UART | RS232 |
| SSH | Yes (root/uirobot access) |
### Power Supply
| Parameter | Isolated (S) | Non-isolated (E) |
|-----------|--------------|------------------|
| Input Voltage | 18–75 VDC | 9–60 VDC |
| Isolation | 3000V | None |
### Mechanical
| Parameter | Specification |
|-----------|---------------|
| Mounting | DIN-rail / Screw |
| Operating Temperature | –20°C to +70°C |
| Protection | IP20 |
---
## Wiring Guide
### Power Supply Wiring
| Terminal | Signal | Description |
|----------|--------|-------------|
| V+ | Power Positive (18–75 VDC Isolated / 9–60 VDC Non-Isolated) | Connect to positive terminal of DC power supply |
| V– | Power Ground (GND) | Connect to negative terminal of DC power supply |
> **Warning**: Ensure the power supply voltage is within the specified range. Exceeding the maximum voltage may cause permanent damage.
### CAN Bus Wiring
| Terminal | Signal | Description |
|----------|--------|-------------|
| CAN1_H | CAN Bus 1 High | Connect to CAN_H of motor controllers / I/O modules |
| CAN1_L | CAN Bus 1 Low | Connect to CAN_L of motor controllers / I/O modules |
| CAN2_H | CAN Bus 2 High | Connect to CAN_H of secondary bus devices |
| CAN2_L | CAN Bus 2 Low | Connect to CAN_L of secondary bus devices |
| GND | Common Ground | Connect to GND of all CAN devices |
```
MMC90X CAN Bus Wiring Diagram:
MMC90X
+-----------+
| CAN1_H o--+----CAN_H--------+--------+--------+
| CAN1_L o--+----CAN_L--------+--------+--------+ CAN Bus 1
| GND o--+----GND----------+--------+--------+ (Motors)
+-----------+ | |
Motor1 Motor2 MotorN
+-----------+
| CAN2_H o--+----CAN_H--------+--------+
| CAN2_L o--+----CAN_L--------+--------+ CAN Bus 2
| GND o--+----GND----------+--------+ (I/O)
+-----------+ | |
IO1 IO2
```
### Ethernet Connection
| Terminal | Description |
|----------|-------------|
| RJ45 | 10/100/1000M Ethernet for network access, StepEva3 connection, and SSH |
Default IP address: **192.168.1.16**
---
## System Architecture
### MMC90X in a CAN Bus System
```
+-------------------------------------------------------------------------+
| MMC90X |
| |
| +------------------+ +------------------+ +------------------+ |
| | Raspberry Pi | | Motion Control | | I/O Control | |
| | Linux OS | | Engine | | Engine | |
| | Python/C++ | | Multi-axis | | Digital I/O | |
| +--------+---------+ +--------+---------+ +--------+---------+ |
| | | | |
+-----------+-----------+-----------+-----------+-----------+-------------+
| | |
+------v------+ +------v------+ +------v------+
| HDMI out | | CAN Bus 1 | | Digital |
| (Display) | | (Motors) | | I/O |
+-------------+ +------+------+ | (Sensors, |
| | | | Loads) |
+----v-+ +--v---+ +v----+ +-------------+
|Motor1| |Motor2| |MotorN|
|UIM342| |UIM342| |UIM342|
+------+ +------+ +------+
+-------------+ +-------------+
| CSI Camera | | Ethernet |
| (Vision) | | (Network) |
+-------------+ +-------------+
```
---
## Connection Methods
### StepEva3 Connection
1. Ensure your PC IP is in the 192.168.1.xxx network segment
2. Download and run **StepEva3** from UIROBOT website
3. Select **MMC90X** as the device type
4. Enter default IP address: **192.168.1.16**
5. Click Connect
### SSH Connection
The MMC90X supports SSH access for command-line operations.
**Recommended Tool:** MobaXterm
**Connection Steps:**
1. Open MobaXterm
2. Click Session → SSH
3. Enter Remote host: **192.168.1.16**
4. Select "Specify username"
**User Accounts:**
| Mode | Username | Password |
|------|----------|----------|
| Root | root | root |
| User | uirobot | uirobot |
---
## System Directory Structure
The MMC90X system is based on Raspberry Pi 5 (Bookworm). The SDK and gateway files are stored in the `/uirobot` directory.
### /uirobot Directory
| File/Directory | Description |
|----------------|-------------|
| `/uirobot/logfile` | Gateway log files |
| `/uirobot/libUirSdk.so` | SDK development library |
| `/uirobot/PowerUp.log` | Gateway startup log |
| `/uirobot/uicmd` | Instruction control program |
| `/uirobot/UirMmc902Gtwy` | Gateway running program |
:::warning
Do not delete files in the /uirobot directory as it will affect the normal operation of the gateway.
:::
---
## Quick Start
### Step 1 — Power Up
1. Connect power supply (18–75 VDC isolated or 9–60 VDC non-isolated)
2. Connect Ethernet for network access
3. Wait for the system to boot (LED indicator will show status)
### Step 2 — Connect via StepEva3
1. Set your PC IP to 192.168.1.xxx network segment
2. Launch StepEva3
3. Select MMC90X and enter IP: 192.168.1.16
4. Click Connect
### Step 3 — Connect via SSH (Optional)
```bash
# Using MobaXterm or terminal
ssh root@192.168.1.16
# Password: root
```
### Step 4 — Access SDK and Gateway
```bash
# Navigate to SDK directory
cd /uirobot
# List files
ls -la
# Run gateway program
./UirMmc902Gtwy
```
---
## Applications
:::grid{cols=3 style=card}
**Multi-Axis Motion Control**
Coordinate multiple motors through dual CAN bus interfaces. Run custom Python/C++ applications for complex motion sequences.
**Industrial Automation**
Central controller for production lines, combining motion control with I/O management. Connect sensors, actuators, and motor controllers.
**Prototyping & Development**
Full Linux environment for rapid development. Test algorithms, run simulations, and deploy custom control solutions.
:::
---
## Safety Precautions
### Electrical Safety
| Hazard | Precaution |
|--------|------------|
| High Voltage | Ensure power supply is disconnected before wiring. Use only within specified voltage range. |
| Short Circuit | Use proper gauge wiring and ensure no exposed conductors. Install a fuse on the power input line. |
| Isolation | For isolated models (S), the 3000V isolation protects against ground loops. Do not bypass isolation barriers. |
### Operational Safety
| Hazard | Precaution |
|--------|------------|
| Overheating | Ensure adequate ventilation around the device. Operating temperature: –20°C to +70°C. |
| ESD | Use anti-static precautions when handling the device. Discharge static electricity before touching terminals. |
| Mounting | Secure the device firmly using DIN-rail clip or mounting screws. Do not operate with loose mounting. |
### System Integrity
| Hazard | Precaution |
|--------|------------|
| File Deletion | Do not delete files in the `/uirobot` directory — this will affect gateway operation. |
| Power Loss | Unexpected power loss may corrupt the file system. Use a stable power supply or UPS. |
| Firmware Update | Follow the official update procedure. Do not power off during firmware update. |
---
## Resources
:::tip
Download SDK files, sample codes, and user manuals from the [UIROBOT Download Center](https://www.uirobot.com/serve/list-437.html).
:::
- 📖 [MMC90X User Manual V4.7 (PDF)](https://www.uirobot.com/uploads/files/Manual_MMC90X%20V4.7.pdf)
- 📖 [StepEva3 User Manual V4.7 (PDF)](https://www.uirobot.com/uploads/files/Manual_StepEva3%20V4.7.pdf)
- 📖 [uirSDK3 User Manual V4.7 (PDF)](https://www.uirobot.com/uploads/files/f30fdec2ef52855e328edf9abcbd1d4e.pdf)
- 💻 [SDK Development Library (libUirSdk.so)](https://www.uirobot.com/serve/list-437.html)
---
## Related Products
| Product | Description |
|---------|-------------|
| UIM342 | CAN bus smart motor controller |
| UIM342A | CAN bus smart motor controller (absolute encoder) |
| UIM1616 | CAN bus digital I/O controller |
| UIM2513 | RS232 to CAN gateway |
| UIM2523 | Ethernet to CAN gateway |
| UIC320A | USB to CAN 2.0B adapter |
---
*Last Updated: 2026-06-25 | Based on User Manual V4.7*
---
## Video Tutorial
:::video[How to control stepper servo motors using an industrial computer](https://www.youtube.com/watch?v=s7bfVewr1-s)
:::
:::video[UIROBOT- MEDICAL EQUIPMENT Cup Processing System](https://www.youtube.com/watch?v=PgNpDQRI-BA)
:::
:::video[UIROBOT Fanless Mini Pc RasPI5, Industrial Desktop Computer](https://www.youtube.com/watch?v=qGYhKgHtRLQ)
:::
---
*Last updated: 2026-07-01*