Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Silicon Vendors
  • Support
  • About Us
  • Blog
  • Forum
  • Search
  • Jobs
  • Newsletter
  • Blog
  • Contact
  • Shop
  • emUSB-Device
  • CDC-ECM Class

    CDC-ECM class

    Contact us
    Downloads
    Documentation
    SEGGER emUSB-Device

    Overview

    The most noteworthy application is a USB-based webserver. The USB webserver allows users to configure their device and to view data using a web browser. This saves development costs as there is no need to develop an application for every major operating system which would allow the user to interact with the USB device. The hardware costs can also be reduced as an Ethernet interface is not required.

    ethernet 2 usb

    Typical Applications

    • Router/gateway
    • USB to Ethernet adapter
    • Configuring a USB device using a web browser

    Key features

    • Makes any TCP/IP application available using USB
    • No host driver needed for macOS & Linux
    • Small footprint, typically 1.2KB RAM and 1.6KB ROM

    Application Samples emUSB-Device CDC-ECM Class

    USB 2 Ethernet Adapter

    USB to Ethernet Adapter

    Router

    Router/Gateway

    Components

    emUSB-Device CDC-ECM comes as a complete package and contains the following components:

    • CDC-ECM device class implementation
    • Network interface driver which uses emNet as a TCP/IP stack
    • A sample application demonstrating how to work with CDC-ECM

    The CDC-ECM Class is a standard USB class protocol defined by the USB.org consortium.
    A TCP/IP stack like emNet is required on the USB device side to handle the actual IP communication.
    Any available IP protocol (UDP, TCP, FTP, HTTP, etc.) can be used to exchange data.

    Linux kernel versions newer than 2.6.22 have full support for CDC-ECM. macOS supports CDC-ECM natively from version 10.4 (Tiger).
    For Windows a CDC-ECM driver is required.

    One Bulk IN, one Bulk OUT and one Interrupt IN endpoint are required for emUSB-Device CDC-ECM.

    emUSB-Device CDC-ECM can be used in combination with other interfaces (Bulk, CDC, MSD, MTP, HID) without any issues.

    On a typical Cortex-M CPU running at 120MHz a transfer speed of about 5 MB/s can be achieved when using a high-speed USB connection.

    Components required to use CDC-ECM:

    • emUSB CDC-ECM
    • emUSB-Device core
    • emUSB target driver
    • emNet (IP stack)

    Resource usage of all components of emUSB-Device

    emUSB Device cdc ecm class structure
    • User manual
    • List of downloads
    • Update notification
    • Pricing
    • Support
    • Silicon vendor resources

    Headquarters

    SEGGER Microcontroller GmbH

    Ecolab-Allee 5
    40789 Monheim am Rhein, Germany
    info@segger.com
    Tel.: +49-2173-99312-0
    Fax: +49-2173-99312-28

    Locations

    USA: SEGGER Microcontroller Systems LLC

    Boston area
    101 Suffolk Lane
    Gardner, MA 01440, USA
    us-east@segger.com
    Tel.: +1-978-874-0299
    Fax: +1-978-874-0599

    Silicon Valley
    Milpitas, CA 95035, USA
    us-west@segger.com
    Tel.: +1-408-767-4068

    China: SEGGER Microcontroller China Co., Ltd.

    Room 218, Block A, Dahongqiaoguoji
    No. 133 Xiulian Road
    Minhang District, Shanghai 201199, China
    china@segger.com
    Tel.: +86-133-619-907-60

    ISO 9001 certified

    ISO 9001

    30+ years of experience

    First-class embedded software tools since 1992
    • Imprint
    • Disclaimer
    • Code of Conduct
    • Privacy Policy
    © 2025 SEGGER - All rights reserved.