CycloneTCP - Embedded IPv4/v6 Stack

Logo CycloneTCP

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.

Features

CycloneTCP is a professional grade stack compatible with multiple industry standard protocols.
  • 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 server
  • 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.

Manufacturer Part Number
Atmel (Microchip)
  • AVR32 UC3A
  • SAM3X
  • SAME4E
  • SAM7X
  • SAM9263
  • SAME54
  • SAME70
  • SAMV71
Espressif Systems ESP32
Freescale (NXP)
  • Coldfire V2 MCF5225x
  • PowerPC MPC57xx
  • Kinetis K60
  • Kinetis K64
  • Kinetis K65
  • Kinetis K66
  • Kinetis KV5x
  • i.MX RT1020
  • i.MX RT1050
  • i.MX RT1060
Infineon
  • XMC4500
  • XMC4700
  • XMC4800
  • Microchip
  • PIC32MX
  • PIC32MZ EC
  • PIC32MZ EF
  • Microsemi
  • SmartFusion
  • SmartFusion2
Nuvoton NUC472
NXP
  • LPC1700
  • LPC1800
  • LPC2300
  • LPC4300
  • LPC54608
Renesas
  • RX62N
  • RX63N
  • RX64M
  • RX65N
  • Synergy S5D9
  • Synergy S7G2
Silicon Labs EFM32GG11
Spansion (Cypress)
  • FM3
  • FM4
STMicroelectronics
  • STM32F107
  • STM32F207/217
  • STM32F407/417
  • STM32F427/437
  • STM32F429/439
  • STM32F469/479
  • STM32F745/765
  • STM32F746/756
  • STM32F767/777
  • STM32F769/779
  • STM32H743/753
  • STR912
  • SPC5

Manufacturer Part Number
Texas Instruments
  • MSP432E401/411
  • Stellaris LM3S6000
  • Stellaris LM3S9000
  • Tiva TM4C129X

Manufacturer Part Number
Atmel (Microchip)
  • SAMA5D2
  • SAMA5D4
Freescale (NXP)
  • i.MX6UL
  • i.MX6ULL
Renesas
  • RZ/A1L
  • RZ/A1M
  • RZ/A1H

Manufacturer Part Number
Atmel (Microchip) SAMA5D3
Octavo Systems
  • OSD335x
  • OSD335x-SM
  • OSDMP15x
STMicroelectronics STM32MP1
Texas Instruments Sitara AM335x
Xilinx Zynq-7000

Manufacturer Part Number
Texas Instruments
  • Concerto F28M35x
  • OMAP-L138
STMicroelectronics STM32MP1

Manufacturer Part Number
Cortus
  • APS1
  • APS3 / APS3R /ASP23
  • APS5 / APS25
  • FPS6 / FPS26

Manufacturer Part Number
Davicom DM9000A/B
Micrel (Microchip) KSZ8851
Microchip
  • ENC28J60
  • ENC424J600
  • ENC624J600

Manufacturer Part Number
Davicom DM9161
IC+ IP101
Micrel (Microchip)
  • KSZ8031
  • KSZ8041
  • KSZ8051
  • KSZ8061
  • KSZ8081
  • KSZ8091
  • KSZ8721
Renesas
  • uPD60610
  • uPD60611
SMSC (Microchip)
  • LAN8700
  • LAN8710
  • LAN8720
  • LAN8740
  • LAN8742
STMicroelectronics ST802RT1A
Texas Instruments
  • DP83620
  • DP83822
  • DP83848

Manufacturer Part Number
Atheros
  • AR8031
  • AR8035
Micrel (Microchip) KSZ9031
Realtek RTL8211

Manufacturer Part Number
Micrel (Microchip)
  • KSZ8463
  • KSZ8563
  • KSZ8794
  • KSZ8863
  • KSZ8873
  • KSZ8895
SMSC (Microchip) LAN9303

Manufacturer Part Number
Micrel (Microchip)
  • KSZ9477
  • KSZ9563
  • KSZ9893

Manufacturer Part Number
Atmel (Microchip)
  • SAMW25
  • WILC1000
  • WINC1500
Broadcom (Cypress) BCM43362
Espressif Systems
  • ESP32
  • ESP8266
Microchip
  • MRF24WG0MA
  • MRF24WG0MB
Murata
  • SN8000
  • SN8205
MXCHIP EWM3162
Silicon Labs WF200

Manufacturer Part Number
Sierra Wireless
  • AirPrime HL6528
  • AirPrime HL8548
  • AirPrime WISMO228
SIMCom SIM808
Telit
  • GL865
  • HE910
  • LE910
  • UE910
Quectel
  • EC20
  • M95
  • UG95
  • UG96
U-blox
  • SARA-G350
  • SARA-U201

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)