Source Code

CycloneTCP, CycloneSSL and CycloneCrypto are released as a single package. Both Open (GPLv2) and Eval packages can be obtained from this page. If you want to browse the source tree instead of downloading, the complete source code and documentation are also available online.

Product Licensing
Download Latest Version 1.9.2 (Evaluation License)
Download Latest Version 1.9.2 (Open Source GPLv2 License)
Browse Source Code and Documentation

Upgrade Notice

To migrate your existing code to version 1.9.2, please read carefully the following application notes:

CycloneTCP Migration Guide
CycloneSSL Migration Guide
CycloneCrypto Migration Guide

Download Archive (Open Source GPLv2 and Evaluation Licenses)

This section provides version history and release notes:

VersionDateDownload LinksChanges
1.9.2 April 2, 2019 Eval / Open
  • The SMTP and SNTP clients have been redesigned to allow RTOS-less operation
  • Added enhanced features to SMTP client: Rich text (HTML) format, Multipart encoding and emails with attachements
  • Added loopback interface driver (supports IPv4 and IPv6 loopback addresses)
  • Support for multi-homed hosts and IP aliasing (multiple IPv4 addresses per interface)
  • Support for virtual interfaces (multiple MAC addresses per physical interface)
  • Added Ethernet driver for Silicon Labs EFM32 Giant Gecko 11
  • Added Ethernet driver for i.MX6UL (UltraLite) and i.MX6ULL
  • Support for i.MX RT1020, i.MX RT1060 and i.MX RT1064
  • Support for KSZ8463 Ethernet switch
  • Dropped support for TLS 1.3 draft versions
  • Added support for SAME54 public key accelerator (hardware acceleration of RSA, DSA, DH, ECDH and ECDSA)
1.9.0 November 30, 2018 Eval / Open
  • Added support for TLS 1.3 (RFC 8446)
  • The FTP client has been redesigned to allow RTOS-less operation
  • Added support for LIST command (FTP client)
  • A public IP address can be configured when the FTP server is behind a NAT
  • Added support for gzip-encoded ressources (HTTP server)
  • Support for KSZ8863 Ethernet switch
  • Ethernet port multiplication using VLAN tagging (SMSC switches) or tail tagging (Micrel switches)
1.8.6 September 10, 2018 Eval / Open
  • Added MQTT-SN client implementation
  • Added Modbus/TCP client implementation
  • Added Modbus/TCP server implementation
  • Support for VLAN (IEEE 802.1Q)
  • USB/RNDIS driver is made available in the the Open/Eval packages (for STM32 MCUs only)
  • Ethernet MAC driver for NXP MPC57xx series (PowerPC e200 core)
  • Ethernet MAC+PHY driver for TI MSP432 E4 series
  • Updated SAME70 Ethernet MAC driver to support revision B chips
  • Support for KSZ8794 Ethernet switch
  • Support for RSA-PSS signature scheme
  • Support for EdDSA signature scheme
  • Ed25519 and Ed448 elliptic curves (constant time implementation)
  • Support for FFDHE (Finite Field Diffie-Hellman Ephemeral)
  • Added support for TLS "Supported Versions" extension
  • Added support for TLS "Record Size Limit" extension (RFC 8449)
1.8.2 March 30, 2018 Eval / Open
  • CoAP client implementation (including support for DTLS-secured CoAP, Observe and Block-Wise transfers)
  • Support for TLS/DTLS Raw Public Keys (RPK)
  • Support for Curve25519 and Curve448 elliptic curves (constant time implementation)
  • Added RC2 block cipher
  • Added HKDF (HMAC-based Key Derivation Function)
  • Added support for SNMP-MPD-MIB database (RFC 3412)
  • Support for ESP8266 and ESP32-PICO-D4 Wi-Fi chips
  • Support for Octavo Systems OSD335x SiP (Sitara AM335x-based System-In-Package)
  • Ethernet driver for NXP LPC54608
  • Ethernet driver for Nuvoton NUC472
  • Ethernet driver for Renesas RX62N
  • Updated SAMV71 Ethernet MAC driver to support revision B chips
  • Support for new Ethernet PHYs (Atheros AR8035, IC+ IP101 and TI DP83640)
  • New Espressif evaluation boards supported (ESP32-DevKitC, ESP32-Pico-Kit and ESP32-Wrover-Kit)
  • New Nuvoton evaluation boards supported (NuTiny-SDK-NUC472 and NuMaker-PFM-NUC472)
  • New evaluation boards supported: NXP LPCXpresso54608 and Octavo OSD3358-SM-RED
  • Added PIC32 + WINC1500 Wi-Fi demo projects (PIC32MX470-Curiosity, PIC32MZ-EF-Curiosity and IoT-Ethernet-Kit)
  • Added STM32L4 + WILC1000 Wi-Fi demo projects running STM32L496G-Discovery + MikroElektronika WiFi 7 Click daughter board)
  • Added STM32F7 + WILC1000 Wi-Fi demo projects running STM32F723E-Discovery + MikroElektronika WiFi 7 Click daughter board)
  • Added PPP demo project for P-L496G-CELL01 board (2G/3G Cellular to Cloud Discovery Pack based on STM32L4 + Quectel UG96 modem)
1.8.0 December 12, 2017 Eval / Open
  • Remote management of SNMP users and access rights: SNMP-USM-MIB (RFC 3414) and SNMP-VACM-MIB (RFC 3415)
  • Added support for SNMP-FRAMEWORK-MIB (RFC 3411) and SNMP-COMMUNITY-MIB (RFC 3584)
  • Ethernet driver for NXP i.MX RT1052 (600MHz Cortex-M7 core)
  • Ethernet driver for Atmel SAM E54
  • Support for Espressif ESP32 chipset (both Wi-Fi and Ethernet MAC interfaces)
  • Added support for DTLS 1.0 and 1.2 (Datagram Transport Layer Security)
  • Added support for TLS Extended Master Secret extension
  • Added support for TLS Max Fragment Length extension
  • Added PRESENT block cipher
  • Added BLAKE2b hash function (BLAKE2b-160, 256, 384 and 512)
  • Added BLAKE2s hash function (BLAKE2s-128, 160, 224 and 256)
  • Added XTS cipher mode
  • Added CMAC authentication code
  • Added GMAC authentication code
1.7.8 May 31, 2017 Open
  • Added support for CMSIS-RTOS2 FreeRTOS
  • TFTP client implementation
  • Added support for IP-neutral MIBs: IP-MIB (RFC 4293), TCP-MIB (RFC 4022) and UDP-MIB (RFC 4113)
  • Added support for IF-MIB (RFC 2863) and SNMPv2-MIB (RFC 3418)
  • SNMP Agent and companion MIBs fully comply with TAHI Phase-II conformance test suite
  • Added Ethernet driver for STM32H7xx
  • Support for DP83822 Ethernet PHY
  • Support for WINC1500 Wi-Fi controller
  • CycloneSSL supports ECC508A crypto element (ECC hardware accelerator + private key storage)
  • Added SHAKE128 and SHAKE256 XOF functions
  • Added Wi-Fi demo projects for SAMG55-Xplained-Pro board
  • Added demo projects for PIC32MX470 Curiosity and PIC32MZ EF Curiosity boards
1.7.6 January 30, 2017 Open
  • Added support for CMSIS-RTOS2 (RTX v5)
  • WebSocket server implementation (with SSL/TLS support)
  • CycloneSSL API can be used in non-blocking mode
  • Support for PSK (Pre-Shared Key) TLS cipher suites
  • Added Ethernet driver for NXP LPC1780 (Cortex-M3 core)
  • Added Ethernet driver for Xilinx Zynq-7000 (Cortex-A9 core)
  • Added driver for Realtek RTL8211 Ethernet PHY
  • Support for Ethernet switches (KSZ8873, KSZ8895 and LAN9303)
  • Support for Microchip IoT Ethernet Kit (PIC32MZ device)
  • Support for ST Nucleo-144 boards (Nucleo-F207ZG, Nucleo-F429ZI and Nucleo-F746ZG)
  • Support for STM32469I-EVAL and STM32F769I-EVAL evaluation boards
1.7.4 September 12, 2016 Open
  • MQTT client (supports TCP, SSL/TLS, WebSocket and secure WebSocket transport)
  • WebSocket client implementation (with SSL/TLS support)
  • TFTP server
  • Support for IPv6 over PPP (IPV6CP)
  • Added Ethernet driver for Freescale Kinetis KV65/KV66
  • Support for Rapid Commit option (DHCP and DHCPv6 clients)
  • Support for ChaCha20Poly1305 TLS cipher suites
  • ChaCha encryption algorithm
  • Poly1305 message-authentication code
  • Keccak sponge function
  • SHA-3 hash (SHA3-224, SHA3-256, SHA3-384 and SHA3-512)
  • New evaluation boards supported (TWR-K64F220M and FRDM-K66F)
1.7.2 April 25, 2016 Open
  • Secure FTPS client (with implicit and explicit security modes)
  • SNMP agent supports SNMPv3 (MD5/SHA-1 authentication and DES/AES privacy protocols available)
  • Full MIB-II implementation (system, interface, IP, ICMP, UDP, TCP and SNMP statistics)
  • NewReno is now used as default TCP congestion algorithm (as replacement of legacy Reno algorithm)
  • Added Wi-Fi driver for Atmel WILC1000/WINC1500 chips
  • Added Wi-Fi driver for Broadcom BCM43362 chip
  • Added Wi-Fi driver for Microchip MRF24WG0MA/B modules
  • Added Ethernet driver for Atmel SAMA5D2 (Cortex-A5)
  • Added Ethernet driver for Freescale Kinetis KV5x (Cortex-M7)
  • Added Ethernet driver for Infineon XMC4700 and XMC4800
  • Added Ethernet driver for Renesas Synergy S7
  • New Wi-Fi demo projects for WILC1000 (the WINC1500-Xplained-Pro extension boards can be used on either SAM4S-Xplained-Pro, SAME70-Xplained or SAMV71-Xplained-Ultra boards)
  • New Wi-Fi demo projects for MRF24WG (MRF24WG0MA PICTail Plus daughter board or WI-Fi G Eval board)
  • New Wi-Fi demo project for BCM43362 (Broadcom BCM493362WCD4-EVB evaluation board)
  • Fixed DHCP server (wrong management of DHCP options)
  • Fixed FTP server (invalid file size issue with STOR command)
1.7.0 January 12, 2016 Open
  • Added DHCP server
  • CycloneTCP complies with TAHI Phase-II conformance test suite (IPv6 hosts and routers)
  • mDNS/DNS-SD complies with BCT (Bonjour Conformance Test)
  • Changed thread model (the core of the TCP/IP stack now uses a single task)
  • Added Ethernet driver for TI Sitara AM335x (Gigabit Ethernet MAC)
  • Added Ethernet driver for OMAP-L138
  • Support for Atheros AR8031 Gigabit Ethernet PHY
  • Added PCAP driver to run the TCP/IP stack directly on Windows/Linux
  • Added demo projects for STM32756G-EVAL board
  • Added demo projects for BeagleBone Black and AM335x Starter Kit
  • Fixed invalid management of receive queue while closing UDP sockets
  • Fixed wrong management of identifier fields (CHAP)
1.6.4 August 3, 2015 Open
  • New callback functions for DHCP client (link change, DHCP state change, configuration timeout)
  • Added support for SNMP traps (SNMP agent)
  • PPP authentication (PAP and CHAP)
  • Support for Segger embOS
  • Support for SYS/BIOS (TI-RTOS)
  • The core of the TCP/IP stack allows RTOS-less operation
  • Added driver for Atmel SAM V71 microcontrollers (Cortex-M7 core)
  • Added driver for STM32F7 microcontrollers (Cortex-M7 core)
  • Added driver for Freescale Kinetis K70 microcontrollers
  • Added driver for Freescale Coldfire V2 microcontrollers (MCF5225x)
  • Added driver for LPC2378 microcontrollers
  • Added driver for Spansion FM4 microcontrollers
  • Added driver for STR9 microcontrollers
  • Added driver for TI Concerto DSPs (FM28M35x)
  • Support for new Ethernet PHYs (LAN8710, LAN8742, KSZ8061, KSZ8091)
  • Support for ENC28J60 Ethernet controller
  • New evaluation boards (STM32F746G-Discovery, SAMV71-Xplained-Ultra, TWR-K70F120M, SK-FM4-176L-S6E2CC-ETH, STR-E912, TMDXCNCDH52C1)
1.6.0 January 26, 2015 Open
  • Auto-IP (dynamic configuration of IPv4 link-local addresses)
  • DNS-SD (DNS-based service discovery)
  • PPP (Point-to-Point Protocol)
  • HTTP server now uses static resources
  • Support for KSZ8851 Ethernet controller (revision 3)
  • Support for Atmel SAMA4S-Xplained-Pro + Ethernet1-Xplained-Pro kit
1.5.0 September 16, 2014 Open
  • NetBIOS responder and NetBIOS host name resolution
  • SNMP agent (v1 and v2c versions are supported)
  • Added driver for Atmel SAMA5D3 (Cortex-A5 w/ Gigabit Ethernet MAC)
  • Added driver for Atmel AVR32 UC3A microcontrollers
  • Support for Micrel KSZ9031 Gigabit Ethernet PHY
  • New RTOS abstraction layer supporting FreeRTOS, ChibiOS, CMSIS-RTOS, Keil RTX and Micrium µC/OS-III
  • Added MP3 Internet radio demo for RSK+RZ/A1 board
  • Support for Atmel SAMA5D3-Xplained kit
  • Support for Atmel EVK1105 evaluation kit
  • Fast software AES implementation
1.4.4 June 4, 2014 Open
  • HTTP basic and digest authentication schemes
  • HTTP over SSL/TLS is now supported (HTTPs server)
  • Raw sockets can send/receive packets at Ethernet level
  • Added driver for Renesas RZ/A1 (Cortex-A9 MPU)
  • Added driver for Microchip PIC32MZ microcontrollers
  • Added driver for Freescale Kinetis K64 microcontrollers
  • Added driver for STM32F429 and STM32F439 microcontrollers
  • Added driver for ENC424J600 and ENC624J600 Ethernet controllers
  • Added driver for Micrel KSZ8851 Ethernet controllers
  • Support for Micrel KSZ8081 Ethernet PHY
  • Support for Renesas uPC60611 Ethernet PHY
  • Support for SMSC LAN8740 Ethernet PHY
  • New CooCox IDE examples for STM32F4-Discovery evaluation board
  • Support for Freescale FRDM-K64F evaluation board
  • New SSL and SMTP project examples for PIC32MX
  • Support for Microchip PIC32MZ EC starter kit
  • Support for STM32F4x9I-EVAL evaluation board
  • Support for Renesas RSK+RZ/A1 and ArchiTech Hachiko evaluation boards
1.4.2 March 19, 2014 Open
  • File system support (HTTP server)
  • User configurable home directory (FTP server)
  • Added driver for Microsemi (formerly Actel) SmartFusion
  • Added driver for Microsemi SmartFusion2
  • Support for Microsemi A2F-EVAL-KIT-2 evaluation board
  • Support for Microsemi SF2-STARTER-KIT-ES-2 evaluation board
  • Added SSL client and SSL server demo projects
  • Added support for Elliptic Curve Cryptography (ECC)
1.4.1 January 16, 2014 Open
  • Added SNTP client
  • Added mDNS client and responder
  • Improved DNS client (DNS cache, support for multiple DNS servers)
  • Added driver for Renesas RX63N
  • Added driver for TI Tiva C series (TM4C129X)
  • Support for Renesas YRDKRX63N evaluation board
  • Support for TI DK-TM4C129X evaluation board
  • Added IAR EWARM demo projects for STM32-based evaluation boards
  • Fixed interoperability issue between FTP server and Windows Explorer
1.4.0 November 27, 2013 Open
  • Added FTP server
  • Added driver for ST802RT1A Ethernet PHY transceiver
  • Support for Keil MCBSTM32F400 evaluation board
  • Added FTP server demo projects for STM32F4-DISCOVERY and MCBSTM32F400 evaluation boards
  • New RTOS abstraction layer
  • Socket buffer size can be configured dynamically
  • Customizable GPIO configuration for Ethernet MAC drivers
1.3.8 October 7, 2013 Open
  • Added driver for Atmel SAM4E microcontrollers
  • Added driver for Freescale Kinetis K60 microcontrollers
  • Added driver for Infineon XMC4500 microcontrollers
  • Added driver for Microchip PIC32MX microcontrollers
  • Added driver for NXP LPC1800 and LPC4300 series microcontrollers
  • Support for Micrel KSZ8031 and KSZ8041 Ethernet PHYs
  • Added demo projects for newly supported devices
  • Improved support for out-of-order TCP packets
1.3.5 September 2, 2013 Open
  • Support for Davicom DM9000 Ethernet controller
  • Added Web server demo project for SAM7SE-EK evaluation board
  • getHostByName function prototype has been extended
1.3.4 August 12, 2013 Open
  • Added driver for Atmel SAM3X microcontrollers
  • Added Keil MDK-ARM and Atmel Studio 6 demo projects from SAM3X-EK evaluation board
1.3.3 August 5, 2013 Open
  • Added driver for Stellaris LM3S6965 microcontrollers
  • Support for SMSC LAN8720 Ethernet PHY
  • Added FTP client demo project for EK-LM3S6965 evaluation board
  • Added HTTP client demo project for STM32F4-DISCOVERY board
1.3.2 July 12, 2013 Open
  • Added driver for Atmel SAM7X and SAM9263 microcontrollers
  • Added driver for NXP LPC1700 series Cortex-M3 microcontrollers
  • Added Keil MDK-ARM demo projects for each supported device
1.3.1 June 17, 2013 Open
  • CycloneSSL and CycloneCrypto are released as open source software
  • Added STM32F107 and STM32F407 drivers
  • Support for Davicom DM9161 Ethernet PHY
  • Support for Micrel KSZ8051 and KSZ8721 Ethernet PHYs
  • Fixed issue when reading TCP sockets in CLOSE-WAIT state
  • Added FTP client implementation
1.2.4 February 24, 2013 Open
  • CycloneTCP is made available as open source software