M5Stack's CoreMP135 brought embedded Linux into the company's compact Core format in 2024. Instead of an ESP32 microcontroller, it uses STMicroelectronics' STM32MP135 with a 1GHz Arm Cortex-A7 processor and 4Gbit of DDR3L memory, a low-power variant of DDR3 RAM built for battery- and thermally-constrained embedded designs. Dual Gigabit Ethernet, CAN FD, RS485, USB, video output, a touchscreen, and DIN-rail mounting position it as an industrial controller and edge gateway.
This is a major shift for M5Stack. Linux can run network services, databases, scripting environments, and existing command-line tools that would be impractical on a microcontroller. CoreMP135 combines that software reach with interfaces used around machines, buildings, and control panels.
Linux changes the development model
A microcontroller normally runs one firmware image with direct control over its resources. Linux adds a kernel, processes, virtual memory, filesystems, users, networking, and device drivers. Applications can be written in several languages and updated independently from the base operating system.
CoreMP135 supports M5Stack images based on Debian and Buildroot. Debian offers a familiar package ecosystem and general-purpose environment. Buildroot creates a smaller customized Linux system by assembling a toolchain, kernel, libraries, and selected packages.
Debian is convenient for exploration and applications that benefit from standard packages. Buildroot is attractive when boot time, image size, reproducibility, and a controlled software bill of materials matter. Neither choice removes maintenance. Teams need a process for security updates, configuration, backup, and recovery.
The STM32MP135's single Cortex-A7 core is not intended to compete with a desktop processor. It is enough for gateways, control interfaces, protocol translation, logging, and moderate edge applications. Workloads should be measured on the actual device, especially when using encryption, databases, video, or several network services together.
Dual Ethernet enables gateway designs
Two Gigabit Ethernet ports let the controller sit between network segments or connect equipment while maintaining a separate upstream link. Possible uses include protocol gateways, isolated machine networks, data collection, or a service interface.
Two ports do not automatically provide safe routing or isolation. Linux forwarding, firewall rules, addressing, and update access must be configured deliberately. An industrial control network should not be bridged to a wider network simply because the hardware makes it easy.
Gigabit interfaces also do not guarantee gigabit application throughput. Processor load, drivers, packet size, storage, and encryption influence the result. Test the actual protocol and traffic pattern rather than relying on connector speed.
For a resilient installation, document static addresses, hostnames, firewall rules, time synchronization, and service ports. Keep a local recovery method in case a network change makes the device unreachable.
CAN FD and RS485 connect industrial equipment
CoreMP135 exposes two CAN FD interfaces and an RS485 connection combined with a 9-to-24-volt power input. CAN, short for Controller Area Network, is a shared bus built to keep working in electrically noisy environments, and it's used throughout vehicles, machines, and embedded systems. CAN FD, which stands for CAN with Flexible Data-rate, extends the classic format with larger payloads and optional faster data phases.
RS485 defines differential electrical signaling that tolerates long cables and noisy environments. Protocols such as Modbus RTU often run over it, but RS485 itself does not define the message meaning. Devices must agree on baud rate, framing, addressing, and protocol.
Both buses require correct wiring. CAN needs appropriate termination at the physical ends, a suitable topology, and a shared reference. RS485 also needs termination and biasing appropriate to the network. Cable shield and grounding practices depend on the installation.
Linux presents these interfaces through drivers and device nodes. SocketCAN gives CAN software a network-like programming interface. Serial libraries can handle RS485 protocols. The software convenience should be paired with electrical checks using schematics and the equipment manuals.
The remaining I/O makes it a complete control host
CoreMP135 includes two USB 2.0 Type-A ports, a USB-C port for power and OTG (On-The-Go, a mode that lets a single USB port act as either a host or a connected device depending on what it's plugged into), microSD storage, and an HD video output. The USB host ports can attach supported storage, input devices, adapters, or instruments. Driver availability remains the deciding factor.
The built-in 2-inch 240 by 320 touchscreen and one-watt speaker support a local operator interface. The screen is well suited to status, setup, alarms, and service information. A larger external display can use the video output where a full dashboard is required.
M5-Bus and two Grove ports preserve links to the wider M5Stack ecosystem. This can accelerate prototypes, although industrial installations should verify connector retention, voltage levels, temperature range, electromagnetic compatibility, and long-term part support.
A real-time clock supports timekeeping and scheduled wake behavior. The AXP2101 manages power, and the device can run from USB-C or a 12-volt supply. Power design should account for attached USB equipment and network activity, not only the controller's idle draw.
DIN mounting signals the intended environment
The supplied DIN-rail plate allows CoreMP135 to mount inside a control cabinet. DIN rail is the standardized metal mounting rail used throughout electrical control cabinets, and it provides an orderly mechanical standard, but a safe cabinet requires more than clipping devices into place.
Separate mains and low-voltage wiring according to applicable rules. Use fused, properly rated supplies, strain relief, wire ducts, labels, and protective earth where required. Maintain ventilation and manufacturer clearances. Work involving mains voltage or machinery safety belongs with qualified personnel.
The published operating range should be checked against the cabinet temperature. A sealed enclosure in sunlight or near drives can become much hotter than the room. Storage media and consumer USB accessories may have narrower ratings than the controller.
CoreMP135 can participate in automation, but it is not automatically a safety-rated controller. Emergency stops, guards, and other protective functions must use hardware and architectures approved for the applicable safety standard.
A practical gateway project
A useful first project is a read-only CAN or Modbus data gateway. Connect one known device, retrieve a small set of values, and display link status on the local screen. Log timestamped readings to storage and expose a limited dashboard on the maintenance network.
Begin without control commands. Verify bus voltage, termination, addressing, byte order, scaling, and units. Record raw frames alongside decoded values during development so unexpected behavior can be traced.
Configure the second Ethernet interface as a separate upstream network with explicit firewall rules. Send only the required data. Disable unused services, change default credentials, and use key-based remote access where possible.
Test cable disconnection, duplicate addresses, corrupted messages, full storage, power loss, and a missing time source. The screen should distinguish a stale value from a current one. A gateway that silently repeats old data is more dangerous than one that clearly reports a fault.
Create a reproducible system image and keep configuration outside ad hoc shell history. Whether the final system uses Debian or Buildroot, another technician should be able to rebuild it from documented sources.
Linux and microcontrollers still have different strengths
CoreMP135 does not replace every ESP32 Core. Linux adds capability but also boot time, storage writes, administration, and a larger attack surface. A microcontroller is often better for fast startup, low power, precise timing, and a single fixed task.
Linux is better when the project needs complex networking, multiple processes, standard software packages, larger storage, remote administration, or rapid application development. Many systems use both: a microcontroller handles deterministic I/O while a Linux host manages data, interfaces, and networks.
CoreMP135 makes that Linux side available in M5Stack's modular physical ecosystem. It is especially attractive for proof-of-concept gateways and compact control terminals where a bare single-board computer would require additional interface and mounting work.
The important change is not simply a faster Core. It is a new class of device, connecting M5Stack's rapid hardware approach to the tools and responsibilities of embedded Linux.
I'd begin with a read-only gateway, one device on the bus and no control commands, so you can check wiring, scaling, and units before anything can go wrong.
Sources and image credits
- M5Stack CoreMP135 documentation, M5Stack, 2024.
- Official M5Stack product image of the CoreMP135, M5Stack official documentation image.
- Square and vertical crops are edited from the same source image.
