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*