emNet

The high-performance Dual IPv4/IPv6 IP Stack for Embedded Systems

Optimized for maximum network performance with minimal memory consumption

Supports a wide range of standard protocols for industrial and IoT applications

Efficient design enables strong network performance even on small microcontrollers

Key features

networking-emnet

Networking with or without an RTOS

emNet was created from the ground up to integrate seamlessly with real-time operating systems (RTOSs). Although SEGGER recommends using embOS, emNet can run with any RTOS on the market, or it can run without one.

tcp_ip-emnet

Full TCP/IP Support

emNet is dual IPv4- and IPv6- capable (industry- standard IP stack), making it ideal for modern networking needs. It supports key protocols, such as TCP, UDP, and more via an option to add on additional protocols.

precision_efficiency-emnet

Precision and Efficiency

emNet is optimized for high-volume data throughput, despite having only a small memory footprint. It supports the IEEE Precision Time Protocol, ensuring highly precise, sub-microsecond clock synchronization across network devices. Support for zero-copy technology also improves data path efficiency and overall stack speeds.

Use Cases

emNet is a streamlined, high-performance TCP/IP stack for embedded systems. It is particularly suited to resource-constrained systems with limited RAM or flash memory. Typical use cases focus on network-enabled embedded devices for which reliability, determinism, and a small memory footprint are important.

Embedded Web Interfaces

emNet supports embedded web interfaces that allow device configuration via browser. Supported devices include printers, power supplies, lab instruments, routers, and more. With emNet, users benefit from a very small embedded web server, the ability to operate without an external web framework, support for advanced techniques for dynamic web page generation, and compatibility with widely used web standards based on the HTTP protocol.

embedded_network-emnet

IoT Devices and Edge Nodes

emNet's high-performance TCP/IP stack enables embedded IoT devices to connect to cloud servers, send sensor data (on temperature and location, for example), and communicate bidirectionally with remote systems. It also supports data aggregation with data from multiple local sensors; enables local data filtering, processing, and analyzation; and allows for secure communication for sending summarized data or receiving commands from the cloud.

iot_devices-emnet

How emNet Works

emNet manages network communication by abstracting hardware through a network-interface driver. It uses standard Internet communication protocols and is optimized for real-time behavior and low memory consumption. It sits between a user's application, the real-time operating system in use, and the respective Ethernet or Wi-Fi hardware driver. Applications interact with emNet via a BSD-like socket API.

To ensure reliable communication even under adverse network conditions, emNet is designed to handle high traffic loads efficiently and protect system resources. A single task is employed to manage incoming data packets, and built-in mechanisms such as UDP flood protection prevent excessive load, freeing up CPU time for other tasks.

Layered Architecture

emNet is structured in layers, separating responsibilities for efficient, modular communication.

  • Application Layer - Interface to the application via BSD - like socket API
  • Transport Layer - End-to-end communication using TCP and UDP
  • Network Layer - Addressing and routing via IP and related protocols
  • Link Layer - Connection to physical interfaces such as Ethernet or Wi-Fi
file-emnet

Supported Protocols

Core Protocols

- IPv4, IPv6
- ICMP
- TCP, UDP
- Raw Sockets

Services and Setup

- AutoIP
- DHCP
- (m)DNS

Low-level and Control

- ARP
- Loopback Device

Advanced Networking

- Multicast (IGMP)
- VLAN

Built-In Services

emNet includes a set of ready-to-use network services for common infrastructure and device discovery tasks:

  • emNet NetBIOS Name Service - IPv4 Supported
  • emNet (m)DNS/LLMNR/DNS-SD Server - IPv4/IPv6 Supported
  • emNet DHCP Server - IPv4 Supported
  • emNet SNTP Client - IPv4 Supported
  • emNet NTP Client - IPv4/IPv6 Supported

Available Add-Ons

Add-OnDescription
emFTP ServerFile Transfer Protocol (Server) - You need emFile or Simulate its API with your own file system
emFTP ClientFile Transfer Protocol (Client) - You need emFile or Simulate its API with your own file system
emWebWeb Server
emNet PPP/PPPoEPoint-to-Point Protocol
emNet SNMP AgentSimple Network Management Protocol (SNMPv1/SNMPv2c)
emNet SNMP Agent SNMPv3 USMSNMPv3 User-based Security Model Extension
Requires emNet SNMP Agent
emNet UPnPUniversal Plug and Play Module, requires emWeb
emNet SMTP ClientSimple Mail Transfer Protocol (Client)
emNet Tail TaggingVirtual extension of any single-port CPU to manage interfaces at low cost
emMQTT ClientMessage Queuing Telemetry Transport (MQTT) protocol (Client)
emNet PTP OC SlavePTP (IEEE1588-2008) Ordinary Clock Client
emNet CoAP Server/ClientConstrained Application Protocol (Server/Client)
emNet PTP OC Simple MasterPTP (IEEE1588-2008) Ordinary Clock Master with simple and limited capabilities
emNet WebSocketWebSocket Protocol

Drivers

By design, emNet supports both internal and external Ethernet MACs (Media Access Controls), meaning any standard microcontroller can connect to Ethernet. With emNet, even small, ultra-low-power microcontrollers with minimal flash memory and no on-chip MAC can be used.

With its optional drivers, emNet's list of supported devices is extensive. The few existing hardware dependencies are handled in a single place, and hardware switches are effortless. If a controller is not on the list, support is likely possible via currently available drivers

Ethernet-APL

emNet supports Ethernet-APL, the standardized APL for two-wire data transmission. This means users get consistent and fast IP communication over long cable lengths. Ethernet-APL is specifically designed for applications in highly explosive environments/hazardous areas.

PHY Compatibility

emNet also supports virtually any Ethernet Physical Layer (PHY) transceiver through a flexible PHY driver layer. Included with emNet is a generic PHY driver that is compatible with almost all single-port PHYs on the market that use the IEEE 802.3u standard. Support for other PHY-like devices such as Ethernet switches is also possible.

Licensing

The software is available under various embedded software license models and can be delivered as source code. All commercial licenses are based on a one-time payment, are royalty-free, and include six months of updates and support from SEGGER’s Embedded Experts.

There are no subscription fees, ensuring predictable and fixed costs over the entire product lifetime.

For non-commercial use, evaluation, and educational purposes, the software is provided under SEGGER’s Friendly License.