Products       Learn       Buy       Support       Company
  Home > Products > SMX RTOS

SecureSMX® is our next generation, secure RTOS for Cortex-M systems, using the Memory Protection Unit (MPU). It supports v7M and v8M MPUs and now offers Partition Portals for strong isolation. This is a message-based calling mechanism that prevents clients from accessing any server code or data. SMX middleware has been modified to use portals, so for example, file system calls can be made without any access to smxFS code, data, or I/O registers by the client. Support for other architectures listed below is still offered from the latest codebase, but without MPU security.

SMX® is a Real Time Operating System (RTOS) for embedded systems, which supports ARM, Cortex, and ColdFire. It offers an advanced real time kernel and a broad set of middleware modules that are tightly integrated. Releases are configured, tested, and shipped on any of over 150 common board platforms.

ARM RTOS        Cortex RTOS        ColdFire RTOS       

Kernel and Middleware modules of the RTOS are summarized below. They are efficiently written and thus work well on low cost processors. SMX meets the needs of small to medium-size embedded systems.


smx®  kernel is our preemptive multitasking kernel for hard real-time systems that has been on the market for over 30 years. It is a superior kernel with many unique features, and it is being actively developed — see the v5 page.
smx++ is an optional module that adds a C++ API.

eheap™ is bin-type embedded heap manager for systems running on an RTOS or standalone. It supports multiple heaps and bin configuration to optimize for heap size and application. It has integral block pools for tiny allocations.

smxBSP™, which is included with smx, provides the processor-specific BSP and startup code used by all of our products.

smxAware™ is our powerful debug and monitoring tool with graphical displays to show event timelines, memory map, profiling, stack usage, and the event buffer. It also has text displays for details of objects and queues. It is included with the smx kernel at no charge, to help smx users develop their applications more easily and quickly. smxAware Live is a remote-monitoring version for deployed systems.

See the smx Special Features whitepaper for discussion of smx kernel features.


smxNS™ TCP/IP stack offers a clean, modular design that makes it easy to add networking capabilities to embedded systems. It is ROMable and reentrant to support multitasking operation. Because code and data space are at a premium in small embedded systems, smxNS can be configured to use only those features needed by the application. The minimum con-figuration can fit into as little as 25 KB of flash and requires as little as 12 KB of RAM. smxNS provides a rich selection of protocols, and it has drivers for most popular embedded Ethernet controllers.

smxNS6™ adds IPv6 capabilities to the smxNS TCP/IP stack, thus upgrading systems to the latest network standard and providing access to the new 128-bit network addresses.


smxWiFi™ is our robust 802.11 Media Access Control (MAC) stack specifically designed and developed for embedded systems. Supports 802.11a/b/g/i/n and offers WEP, WPA, and WPA2 security. Supports USB WiFi dongles and PCI cards with Ralink chipsets. It is written in C, and can run on any hardware platform. Requires multitasking, TCP/IP, and USB host. smxWiFi is a mature product, released mid-2008.


USB Device and Host stacks and OTG (On-The-Go) are offered.

smxUSBD™ permits connecting an embedded device to a USB host, such as a PC, and emulating serial, mass storage, or other devices. This permits easy connection for control, downloading files, and other activities.

smxUSBH™ permits connecting USB devices, such as USB thumb drives, human interface devices, and printers, to an embedded device.

smxUSBO™ implements OTG to allow switching roles between device and host. Rich selections of function drivers for smxUSBD and class drivers for smxUSBH cover a multitude of application needs. A large assortment of USB controller drivers creates out-of-the-box solutions for many popular processors and external USB controllers.

File Systems

A range of file systems is available, from a simple data logger to a full FAT file system.

smxFLog™ provides fast, reliable data logging to NAND or NOR flash.

smxFFS™ is our proprietary NAND and NOR flash file system that provides wear-leveling, mapping, power-fail safety, and other essential features.

smxFS™ is our standard FAT file system that supports both removable, Windows-compatible media, and non-removable media such as NAND and NOR flash. Our file systems can coexist and share drivers and can interoperate with our USB and networking products to provide truly comprehensive solutions.


PEG™ is a family of graphical interface development tools and libraries created by Swell Software. It offers a complete framework and toolset for designing and deploying advanced graphical interfaces on embedded systems, providing everything a developer needs to make your UI visions a reality.


GoFast® offers a faster alternative to compiler floating point libraries and a cheaper alternative to floating point hardware. It provides single and double precision IEEE 754 operations. GoFast is implemented in assembly language optimized for each processor.

Secure Boot Loader

uLoad™ is a secure installer and boot loader SDK designed for embedded platforms. Install Defender Edition controls software updates and distribution, authenticates genuine origin, and blocks malware installs.

Register for more information and to be contacted by a product expert.

     back to top
  Register for More Info
  Get SecureSMX News
"The use of the SMX products in our device has been a huge benefit, in many ways. It first and foremost allowed us to rapidly create a working device, but also the support we received from Micro Digital was excellent. Not only were they there to help us on the design side, but they also connected us to engineers who were a pleasure to work with. The SMX products will be an integral part of our designs for years to come."

JR Burningham
Epion Technologies
Ventura, CA

"I use SMX because it has a well-thought-out feature set, excellent APIs, clear and thorough documentation, and excellent support from engineers who really know their products (and embedded systems in general). In addition, the system integration Micro Digital provided between SMX, the PEG graphics library, and the Motorola i.MX demo board was rock solid. I can unreservedly recommend SMX and Micro Digital."

Ethan Grossman
Coast Computer Design
Mill Valley, CA

"We had been using the LWIP network stack in our project and had been running into many problems with it. After spending more than a month updating and fussing with the LWIP code we decided to look for another network stack. Since we already use smxFS and have had great success with it we purchased the smxNS product. It took us less than a week to get up and running and had everything working much better than the LWIP had run in another week. The source code is well documented (something that LWIP lacks) and is well supported by Micro Digital. That is why we like using Micro Digital products."

Christopher Favreau
Marine Sonic Technology, Ltd.
White Marsh, VA

"Thank you again for your help. Your immediate and thoughtful response to my issues allowed me to complete this project on a very tight schedule. It took me approximately 5 days to port your deliverable to our target board and integrate the SMX RTOS, smxFS, and smxFFS with my NAND drivers and deliver a fully working and tested project to my client."

John Sloan
Sloan Development Corp.
Carefree, AZ

"The quality and robustness of the SMX kernel, along with excellent support from Micro Digital, have been important factors in the success of a number of Northstar Technologies marine products."

Rich Fine
Northstar Technologies
Acton, MA
Home       Sitemap       Contact