emFTP
Embedded SoftwareEmbedded FTP server supporting Active, Passive, FTPS, and FTPES modes with a ROM footprint under 6.6 KB and multi-connection capability. Available in India from GSAS.
Type
FTP Server
Modes
Active, Passive, FTPS, FTPES
ROM (Cortex-M3)
~5.6 KB
ROM (ARM7)
~6.6 KB
RAM
~2.5 KB (1 connection)
License
Royalty-free, one-time payment
Overview
About emFTP
SEGGER emFTP is a lightweight FTP server designed for embedded systems that need to provide file transfer access over a network connection. It supports multiple concurrent connections, both Active and Passive FTP modes, and secure transfer via FTPS (implicit TLS) and FTPES (explicit TLS upgrade), covering the full range of FTP deployment scenarios from basic unencrypted transfers in isolated factory networks to TLS-secured connections exposed to broader infrastructure. With a ROM footprint of approximately 5.6 KB on Cortex-M3 and RAM usage starting at around 2.5 KB for a single connection, emFTP adds file transfer capability without placing undue pressure on constrained embedded platforms.
Resource Requirements and FTP Commands
emFTP implements 17 core FTP commands per RFC 959, including USER, PASS, PWD, CWD, LIST, STOR, RETR, DELE, MKD, and RMD. The server runs as a multitasking application with a parent task and one child task per active connection, keeping per-connection RAM overhead to approximately 1.8 KB.
| Resource | Requirement |
|---|---|
| ROM (ARM7) | ~6.6 KB |
| ROM (Cortex-M3) | ~5.6 KB |
| RAM (parent task) | ~500 bytes |
| RAM (per connection) | ~1.8 KB |
| Minimum config | ~2.5 KB total (1 connection) |
| Dependencies | TCP/IP stack with sockets, multitasking OS |
Stack Independence and Secure Transfers
emFTP is file system agnostic and TCP/IP stack independent, it works with any RFC-compliant stack through a socket interface and is optimised for SEGGER emNet. For secure deployments, FTPS wraps the entire connection in TLS from the outset, while FTPES starts as a plain connection and upgrades to TLS on demand, providing flexibility for environments with mixed security requirements. An evaluation build for Windows, macOS, and Linux uses the same embedded engine, allowing developers to prototype server behaviour on a desktop before deploying to the target. Royalty-free licensing with a one-time payment model ensures no per-unit costs in production.
Blog
SEGGER Insights
SEGGER J-Link and J-Trace Now Support Andes Trace: Why This Matters for RISC-V
SEGGER's J-Link and J-Trace probes now support Andes Trace, the hybrid N-Trace plus E-Trace instruction-trace solution built into Andes RISC-V cores. Here is what Andes Trace is, why probe-level support closes one of RISC-V's last serious tooling gaps, and what it means for Indian embedded teams.
Choosing a SEGGER Flasher: Standalone vs Gang vs Secure vs Portable
Standalone, gang, secure, or portable, the SEGGER Flasher family covers four different production-programming problems, not one. Here is how Indian engineering and production teams should decide.
J-Trace PRO vs TRACE32: An Honest Comparison for India
SEGGER J-Trace PRO delivers much of the same core streaming-trace capability as Lauterbach TRACE32 for Arm Cortex-M/A/R and RISC-V targets, at a lower cost point. Here is where each platform is the stronger fit for Indian engineering teams.
Related products
More from SEGGER
All SEGGER products →
embOS RTOS
Safety-certified real-time operating system with zero-interrupt-latency, sub-1 KB ROM footprint, and royalty-free licensing across Classic, MPU, Ultra, and Safe editions. India pricing via GSAS.
View embOS RTOS →
emPower OS
Complete embedded operating system integrating RTOS, middleware, security, connectivity, and UI libraries into a single royalty-free platform. Available in India from GSAS.
View emPower OS →
emNet TCP/IP Stack
Dual IPv4/IPv6 TCP/IP stack with TLS 1.3 via emSSL, zero-copy API, and ~30 KB ROM footprint. Includes MQTT, HTTP server/client, FTP, SNMP, DHCP, and DNS. India pricing and local support from GSAS.
View emNet TCP/IP Stack →Interested in emFTP?
Get pricing, an evaluation unit, or a technical consultation from our application engineers.