Product Description

CycloneTCP is a dual IPv4/IPv6 stack dedicated to embedded applications. CycloneTCP conforms to RFC standards and offers seamless interoperability with existing TCP/IP systems. By supporting IPv6, CycloneTCP eases deployment of next-generation Internet. The stack is distributed as a full ANSI C and highly maintainable source code.


TCP/IP stack model
  • Built-in support for multiple network interfaces
  • BSD style socket API
  • Blocking/non-blocking socket operation and event-driven functions (select and poll)
  • Efficient data transfer through zero copy
  • Well-crafted TCP module with selective ACK and congestion control
  • Raw socket interface
  • Multicast support (IGMPv2 and MLDv1)
  • IP fragmentation and reassembly support
  • Flexible memory footprint
  • High throughput
  • Dialog-based configuration wizard
  • Portable architecture (no processor dependencies)
  • Straightforward port to any RTOS
  • Debugging and trace functionality to ease development and integration
  • Host name resolution (DNS, mDNS and NetBIOS Name Service)
  • mDNS and NetBIOS responder
  • DNS-based service discovery (DNS-SD)
  • Auto-IP (dynamic configuration of IPv4 link-local addresses)
  • DHCP client and DHCP server
  • SLAAC (IPv6 stateless address autoconfiguration )
  • DHCPv6 client and DHCPv6 relay agent
  • FTP / FTPS client (implicit TLS and explicit TLS modes supported)
  • FTP / FTPS server (implicit TLS and explicit TLS modes supported)
  • HTTP / HTTPS client
  • HTTP / HTTPS server with SSI, CGI scripting and WebSocket support
  • HTTP/2 client (including HPACK compression, server push and https scheme)
  • MQTT v3.1.1 client (TCP, TLS, WebSocket and secure WebSocket transport layers supported)
  • MQTT-SN client (UDP and DTLS transport layers supported)
  • CoAP client (DTLS-secured CoAP, Observe and Block-Wise Transfers supported)
  • SMTP client
  • Network time synchronization (SNTP client)
  • SNMPv1/SNMPv2c/SNMPv3 agent (MD5/SHA-1 authentication and DES/AES privacy protocols are supported)
  • Remote management of SNMP users and access rights (SNMP-USM-MIB and SNMP-VACM-MIB)
  • Standard MIBs: MIB-II, IF-MIB, IP-MIB, TCP-MIB, UDP-MIB, SNMPv2-MIB
  • TFTP client and TFTP server
  • Secure Modbus/TCP client (TCP and TLS transport layers supported)
  • Secure Modbus/TCP server (TCP and TLS transport layers supported)
  • WebSockets client and server API (WebSocket connections tunneled over SSL/TLS supported)
  • VLAN support (802.1q and 802.1ad)
  • Support for virtual interfaces (multiple MAC addresses per physical interface)
  • Support for multi-homed hosts and IP aliasing (multiple IPv4 addresses per interface)
  • Ethernet port multiplication using VLAN tagging (SMSC switches) or tail tagging (Micrel switches)
  • PPP (Point-to-Point Protocol)
  • USB/RNDIS driver (for STM32 microcontrollers)

Supported Devices

CycloneTCP supports industry-standard microcontrollers with built-in MAC, Wi-Fi modules, as well as standalone Ethernet controllers.

  • MCUs with 10/100 Ethernet MAC:

    ManufacturerPart Number
    Atmel (Microchip)AVR32 UC3A
    SAM3X
    SAM4E
    SAM7X
    SAM9263
    SAME54
    SAME70
    SAMV71
    CypressFM3
    FM4
    Espressif SystemsESP32
    InfineonXMC4500
    XMC4700
    XMC4800
    MicrochipPIC32MX
    PIC32MZ EC
    PIC32MZ EF
    MicrosemiSmartFusion
    SmartFusion2
    NuvotonNUC472
    M487
    NXPLPC1700
    LPC1800
    LPC2300
    LPC4300
    LPC54608
    Kinetis K60
    Kinetis K64
    Kinetis K65
    Kinetis K66
    Kinetis K70
    Kinetis KV5x
    i.MX RT1020
    i.MX RT1050
    i.MX RT1060
    Coldfire V2 MCF5225x
    PowerPC MPC57xx
    S32K148
    RenesasRX62N
    RX63N
    RX64M
    RX65N
    Synergy S5D9
    Synergy S7G2
    Silicon LabsEFM32GG11
    STMicroelectronicsSTM32F107
    STM32F207/217
    STM32F407/417
    STM32F427/437
    STM32F429/439
    STM32F469/479
    STM32F745/765
    STM32F746/756
    STM32F767/777
    STM32F769/779
    STM32H743/753
    STM32H745/755
    STM32H747/757
    STR912
    SPC5

    MCUs with 10/100 Ethernet MAC+PHY:

    ManufacturerPart Number
    Texas InstrumentsMSP432E401/411
    Stellaris LM3S6000
    Stellaris LM3S9000
    Tiva TM4C129X

    MPUs with 10/100 Ethernet MAC:

    ManufacturerPart Number
    Atmel (Microchip)SAMA5D2
    SAMA5D4
    NXPi.MX6UL
    i.MX6ULL
    RenesasRZ/A1L
    RZ/A1M
    RZ/A1H

    MPUs with Gigabit Ethernet MAC:

    ManufacturerPart Number
    Atmel (Microchip)SAMA5D3
    Octavo SystemsOSD335x
    OSD335x-SM
    OSDMP15x
    STMicroelectronicsSTM32MP1
    Texas InstrumentsSitara AM335x
    XilinxZynq-7000

    DSPs with 10/100 Ethernet MAC:

    ManufacturerPart Number
    Texas InstrumentsConcerto F28M35x
    OMAP-L138

    Processor IP cores with 10/100 Ethernet MAC:

    ManufacturerPart Number
    CortusAPS1
    APS3 / APS3R /ASP23
    APS5 / APS25
    FPS6 / FPS26
  • Wi-Fi modules (802.11b/g/n):

    ManufacturerPart Number
    Atmel (Microchip)SAMW25
    WILC1000
    WINC1500
    Broadcom (Cypress)BCM43362
    Espressif SystemsESP32
    ESP8266
    MicrochipMRF24WG0MA
    MRF24WG0MB
    MurataSN8000
    SN8205
    MXCHIPEWM3162
    Silicon LabsWF200

    Standalone 10/100 Ethernet controllers:

    ManufacturerPart Number
    DavicomDM9000A/B
    Micrel (Microchip)KSZ8851
    MicrochipENC28J60
    ENC424J600
    ENC624J600

    10/100 Ethernet PHYs:

    ManufacturerPart Number
    DavicomDM9161
    IC+IP101
    Micrel (Microchip)KSZ8031
    KSZ8041
    KSZ8051
    KSZ8061
    KSZ8081
    KSZ8091
    KSZ8721
    RenesasuPD60610
    uPD60611
    SMSC (Microchip)LAN8700
    LAN8710
    LAN8720
    LAN8740
    LAN8742
    STMicroelectronicsST802RT1A
    Texas InstrumentsDP83620
    DP83822
    DP83848

    Gigabit Ethernet PHYs:

    ManufacturerPart Number
    AtherosAR8031
    AR8035
    Micrel (Microchip)KSZ9031
    RealtekRTL8211

    100Base-T1 Ethernet (BroadR-Reach) PHYs:

    ManufacturerPart Number
    NXPTJA1100
    TJA1101
    Texas InstrumentsDP83TC811

    10/100 Ethernet switches:

    ManufacturerPart Number
    Micrel (Microchip)KSZ8463
    KSZ8563
    KSZ8775
    KSZ8794
    KSZ8795
    KSZ8863
    KSZ8864
    KSZ8873
    KSZ8895
    SMSC (Microchip)LAN9303

    Gigabit Ethernet switches:

    ManufacturerPart Number
    Micrel (Microchip)KSZ9477
    KSZ9563
    KSZ9893

    GPRS/UMTS/LTE modems:

    ManufacturerPart Number
    Sierra WirelessAirPrime HL6528
    AirPrime HL8548
    AirPrime WISMO228
    SIMComSIM808
    TelitGL865
    HE910
    LE910
    UE910
    QuectelEC20
    M95
    UG95
    UG96
    U-bloxSARA-G350
    SARA-U201

    LTE Cat M1 modems:

    ManufacturerPart Number
    QuectelBG96


Supported Cortus Devices

CycloneTCP supports Cortus cores with 10/100 Ethernet MAC peripheral:


CoreDescription
APS23Ultra Low Power, Excellent Code Density
APS25High performance, Excellent Code Density
APS1Cost Effective Microcontroller
APS3RLow Energy Core
APS5High Performance Core
FPS6Embedded Control, with FPU


Supported Operating Systems

CycloneTCP can run in a bare metal environment (without any RTOS). CycloneTCP also supports major open source and commercial RTOS:

  • Amazon FreeRTOS
  • ChibiOS/RT
  • CMSIS-RTOS
  • CMSIS-RTOS2 (RTX v5 and FreeRTOS)
  • Keil RTX
  • Micrium µC/OS-II
  • Micrium µC/OS-III
  • Segger embOS
  • SYS/BIOS (TI-RTOS)

Documentation


CycloneTCP User's Manual (Restricted access)

Online Demo

Try out CycloneTCP now! By clicking the following link, you will access a real Web server that runs FreeRTOS + CycloneTCP Open on a Cortex-M3 microcontroller (STM3220G-EVAL demonstration board from STMicroelectronics).


Online Demo

Licensing

The TCP/IP stack is available either as open source (CycloneTCP Open) or under a commercial license (CycloneTCP Lite, Pro or Ultimate) for proprietary developments in a commercial context.


Product Licensing

Source Code

CycloneTCP Open (GPLv2 license) and CycloneTCP Eval (time-limited evaluation license) are available for download. If you want to browse the source tree instead of downloading, the complete source code and documentation are also available online.


Download Source Code
Browse Source Code and Documentation