FSterm — User Guide v1.1.0
Applies to FSterm v1.1.0. Pick a topic from the Contents tree on the left. This guide is a self-contained file — you can open or share it without the application.
Overview
FSterm is a small, portable Windows terminal. It talks to a device over a serial (COM) port or a network link (LAN mode: TCP client or UDP listener), shows what the device sends, and transmits what you type. The display is an 80×25 ANSI-lite terminal with VT100-style cursor control, 16 colors, and selectable color palettes.
Beyond plain text it can render incoming bytes three ways (ANSI, raw ASCII, or a HEX view), capture a session to a file, and play back a text file to the device with adjustable timing.
| Feature | Summary |
|---|---|
| Connection modes | Serial (COM port) or LAN (TCP client / UDP listener), chosen with the Mode selector. |
| Ports | Lists every serial (COM) port currently present on the system; Refresh re-scans. |
| Line settings | Baud 300–921600; framing 8N1 / 7E1 / 8E1 / 8N2. |
| Display | ANSI (interpreted), ASCII (raw with control tokens), or HEX dump. |
| Palettes | Campbell, VGA, or PuTTY 16-color sets. |
| Capture / playback | Record to a file (raw or hex dump); replay a text file to the device. |
| Portability | Single executable; preferences saved in FSterm.ini next to it. |
What's new in v1.1.0
Version 1.1.0 adds a network transport alongside the original serial terminal. The 80×25 ANSI terminal, display/palette/capture/playback features are unchanged — only the way you connect gains new options.
- LAN mode (TCP / UDP). A new Mode selector at the top-left switches between Serial and LAN. In LAN mode the Port/Baud/Framing controls are replaced by an Address, a Port, and a TCP / UDP selector. TCP connects to a server as a client; UDP binds and listens on the chosen port. See LAN mode (TCP / UDP).
- UDP listen-and-reply. In UDP the button reads Listen. Sent bytes go to the configured Address:Port until a datagram arrives, then follow whatever peer last sent to you.
- UDP broadcast. Enter a broadcast address (
255.255.255.255or a subnet broadcast such as192.168.1.255) to receive broadcast datagrams on the port; a broadcast port is opened as shareable so multiple listeners on one machine can all receive it. - “<none>” EOL option (LAN only). The EOL Mode dropdown gains a
<none>choice that sends a typed line with no CR/LF terminator — handy for protocols that frame messages themselves. - Locked target while live. The LAN Address / Port / protocol fields are grayed while connected or listening, since changing the target mid-session would have no effect.
- Persistence. The connection mode and the LAN host/port/protocol are remembered in
FSterm.ini(a new[network]section) along with all existing settings.
Quick start
- Plug your device into a USB or serial port and launch
FSterm.exe. - Pick the device's port from the Port dropdown (click Refresh if it isn't listed).
- Choose the baud rate and framing the device uses (commonly
115200and8N1). - Click Connect. Incoming text appears in the terminal; type to send.
- Click Disconnect when done. Your settings are remembered for next time.
Installation
FSterm is a single portable Windows application — there is no installer and nothing is added to the system. Copy the files to a folder and run the executable.
What you need
- A Windows PC (64-bit).
- A serial device and its USB or serial cable.
- The FSterm package:
FSterm.exeand, optionally, thisFSterm_Help.html.
Install & run
- Keep
FSterm.exeand its companion files together in one folder. - Double-click
FSterm.exeto launch — no admin rights and no runtime downloads. - Connect the device by USB. Windows assigns it a COM port (visible in Device Manager under “Ports (COM & LPT)”).
FSterm.ini. You can re-read
the text any time from Help → End-User Disclaimer or the link in Help → About.USB drivers
Devices with an FTDI, CH340, CP210x, or genuine-Arduino USB bridge appear as a COM port. A clone bridge may need its vendor driver installed once before the port shows up.
The window at a glance
The terminal fills the window. Three control rows sit above it and a status bar runs along the bottom.
Row 1 — serial connection
| Control | Purpose |
|---|---|
| Port | Dropdown of the serial ports currently present on the system, each labelled with its driver description (the same text Device Manager shows), e.g. COM5 - USB-SERIAL CH340. The list re-probes Windows automatically whenever you open it or a device is plugged/unplugged. |
| Refresh | Force an immediate re-scan for ports (rarely needed — the list refreshes itself). |
| Baud | Line speed, 300–921600. |
| Framing | Data/parity/stop bits: 8N1, 7E1, 8E1, 8N2. |
| Connect / Disconnect | Open or close the selected port. |
| Clear | Blank the terminal screen. |
Row 2 — file capture & playback
| Control | Purpose |
|---|---|
| Capture | Start/stop recording the session to a file. |
| Playback | Choose the text file to send (does not start it). The chosen filename is shown at the end of this row. |
| Play / Stop | Start sending the chosen file, or stop a playback in progress. Grayed out until a file is chosen. |
| Char ms | Inter-character delay during playback, 0–500 ms (0 = no delay, send as fast as possible). |
| EOL | Line ending transmitted at the end of each line during playback: CR, LF, or CRLF. |
| Line ms | End-of-line delay during playback, 0–500 ms (0 = none). |
Row 3 — terminal options
| Control | Purpose |
|---|---|
| Input: | How typing is transmitted — char: each byte is sent as soon as it is typed; line: typing is buffered and sent when you press Enter. |
| EOL Mode: | What is transmitted when you press Enter: CR (one CR), LF (one LF), CRLF (both), or — in LAN mode only — <none> (no terminator). Applies in both char and line mode. (Playback has its own EOL, above.) |
| Echo | Local echo: show what you type in the terminal. |
| Auto-scroll | Keep the newest output in view. |
| Display | How incoming bytes are rendered: ANSI, ASCII, or HEX. |
| Palette | Terminal color set: Campbell, VGA, or PuTTY. |
RS-232 signal LEDs
A compact strip of eight indicators sits at the right end of the terminal-options row. Each is a small labelled box showing the state of one RS-232 line: bright green = asserted / active, grey = inactive.
| LED | Direction | Meaning |
|---|---|---|
| TX | output | Flashes when FSterm transmits bytes. |
| RX | output → in | Flashes when bytes arrive from the device. |
| RTS | output | Request To Send — a line you drive. Click this LED to toggle it. |
| CTS | input | Clear To Send from the device. |
| DTR | output | Data Terminal Ready — a line you drive. Click this LED to toggle it. |
| DSR | input | Data Set Ready from the device. |
| DCD | input | Data Carrier Detect from the device. |
| RI | input | Ring Indicator from the device. |
The RTS and DTR boxes are shown in a darker frame and act as toggles —
click one (while connected) to flip that output line. The change is applied to the hardware
immediately and is remembered in FSterm.ini, so it is re-applied the next time a
port opens.
Selecting a port & connecting
Choose the device from the Port dropdown. If it isn't listed, plug in the cable and click Refresh. Click Connect to open the port; the button then reads Disconnect.
- Only one program can hold a serial port at a time. If Connect fails, another application (or another FSterm window) may already own the port.
- The last port you used is remembered and pre-selected next launch.
- Changing baud or framing while connected reopens the port automatically so the change takes effect immediately.
Automatic reconnect
If a connected port disappears — you unplug the cable, or the board resets and its USB serial port drops momentarily — FSterm handles it quietly:
- The Port box grays out and the status bar shows “COMx disconnected – waiting to reconnect…”. No error dialog appears.
- As soon as the same port comes back, FSterm reopens it automatically, the Port box un-grays, and the status bar shows “Reconnected COMx”. The screen contents are kept.
- To stop waiting, click Disconnect.
Baud rate & framing
Set the baud and framing to match the device exactly — a mismatch produces garbage characters or nothing at all.
| Framing | Data bits | Parity | Stop bits |
|---|---|---|---|
8N1 | 8 | none | 1 |
7E1 | 7 | even | 1 |
8E1 | 8 | even | 1 |
8N2 | 8 | none | 2 |
Available baud rates: 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800,
921600. The default is 115200.
LAN mode (TCP / UDP)
The Mode selector at the left of the top row switches the transport between Serial and LAN. In LAN mode the Port/Baud/Framing controls are replaced by an Address field, a Port field, and a TCP / UDP selector. Everything else — the terminal canvas, display/palette/EOL/echo controls, capture, and playback — works exactly as it does over serial. (The RS-232 signal LEDs apply only to a serial port, so they are hidden in LAN mode.)
The Address, Port, and TCP / UDP fields can only be edited while idle; they are locked (grayed) while connected or listening, since changing the target mid-session would have no effect. Disconnect to change them.
| Protocol | Button | Behavior |
|---|---|---|
| TCP | Connect | Connects to the server at Address : Port as a client. If the host can't be reached, the attempt gives up after about 5 seconds and the status bar reports the failure. If the server later closes the connection, FSterm disconnects (no automatic reconnect). |
| UDP | Listen | Binds and listens on the given Port for incoming datagrams. Typed or played-back bytes are sent to Address : Port until the first datagram arrives, after which replies follow whatever peer last sent to you (listen-and-reply). |
UDP broadcast
To receive broadcast traffic, enter a broadcast address as the Address — either the
limited broadcast 255.255.255.255 or a subnet-directed broadcast such as
192.168.1.255 — with the port to listen on, and click Listen. FSterm
binds the port and shows every broadcast datagram that arrives on it. For a broadcast address the
port is opened as shareable, so FSterm can listen alongside other programs (or a second
FSterm) bound to the same broadcast port on the same machine. A normal unicast address keeps an
exclusive bind, so a port already in use is still reported as an error.
Broadcast to 255.255.255.255 travels over the active LAN/Wi-Fi adapter,
not the loopback interface. If a same-machine test shows nothing, use your subnet's directed
broadcast (e.g. 192.168.1.255) instead.
Example — talk to a TCP service: choose LAN, TCP, enter
127.0.0.1 and 5000, click Connect, then type. For UDP, enter the
port to listen on and click Listen. The test_servers folder beside the app has
ready-made TCP/UDP/broadcast test peers (with double-click .bat launchers).
The terminal
The terminal is an 80×25 character grid rendered in a fixed-pitch font that scales to fill the window. It interprets a practical subset of ANSI/VT100 (see ANSI / VT100 support) so colored, cursor-addressed output from a device is shown as intended.
- Click the terminal to give it keyboard focus; a highlighted cursor cell marks the caret.
- Keystrokes are sent to the device only while connected.
- While no port is connected, the terminal canvas is grayed out to show it is not live; it returns to normal as soon as you connect.
- The screen keeps up to 1000 lines of scrollback internally.
Display modes
The Display dropdown changes how incoming bytes are shown — it does not change what the device sends.
| Mode | What you see |
|---|---|
| ANSI | Escape sequences are interpreted: colors, bold/underline, cursor moves, screen/line erase, and DEC line-drawing all render. This is the normal mode. |
| ASCII | Raw text with control bytes shown as tokens
(<cr>, <lf>, <tab>,
<esc>); other non-printables appear as [HH]. Good for seeing
exactly which control characters arrive. |
| HEX | Every byte is shown as [HH]. A raw byte-level view for
protocol debugging. |
High-bit bytes (0x80–0xFF) in ANSI mode render as their CP437 glyphs (box-drawing, blocks, shades) in bright white so they stand out.
Palettes
The Palette dropdown selects the 16-color set used for ANSI colors:
- Campbell — the modern Windows Terminal scheme (default).
- VGA — the classic PC text-mode colors.
- PuTTY — the familiar PuTTY defaults.
Input modes & echo
Input mode (char vs. line)
The Input: dropdown controls how your typing is transmitted:
- char — each byte is sent as soon as it is typed. Best for interactive shells and menus.
- line — typing is buffered and sent only when you press Enter, followed by the selected EOL. Backspace edits the pending line.
EOL Mode
The EOL Mode: dropdown sets what is transmitted when you press Enter (in either input
mode): CR = a single \r, LF = a single \n,
CRLF = both \r\n. (Playback has its own independent EOL selector.)
In LAN mode the dropdown also offers <none>: pressing Enter sends the typed
line with no terminator at all — useful for TCP/UDP protocols that frame messages
themselves. <none> is not offered in Serial mode; if it was chosen in LAN and you
switch to Serial, EOL falls back to CR (and returns to <none> when you
switch back to LAN).
Local echo
With Echo on, characters you type are also drawn in the terminal. Turn it on when the device does not echo your input; turn it off if you see every character doubled.
Capture to file
Click Capture to record everything the device sends. Choose a file in the Save dialog; the button changes to Stop while recording. Capture appends to the chosen file.
- Raw (default) — the received bytes are written verbatim.
- Hex dump — tick “Save as HEX DUMP” in the Save dialog to write a DEBUG-style listing with offset, hex bytes, and an ASCII column.
Click Stop (or close the app) to finish and flush the file.
Playback from file
Playback sends a text file to the device, one character at a time, with adjustable pacing. The controls sit together on the file row:
- Click Playback and choose the text file. (This only selects it; nothing is sent yet.) The chosen filename appears at the end of the file row and Play becomes enabled.
- Set the pacing and line ending:
- Char ms — delay between characters, 0–500 ms (0 = no delay).
- EOL — what to transmit at the end of each line:
CR,LF, orCRLF. Any CR/LF/CRLF endings in the file are normalized first, then re-emitted as this selection. - Line ms — extra delay after each line, 0–500 ms (0 = none).
- Click Play to start (the port must be connected). The button changes to Stop; click it to abort. The status bar shows Playing… and then Playback finished (or stopped).
The pacing and EOL choices are remembered in FSterm.ini. Playback also stops
automatically if the port disconnects.
Clear
Clear blanks the terminal display. It does not affect the device or any capture file.
Keyboard
While the terminal has focus and the port is connected, keys are translated to bytes and sent:
| Key | Sent |
|---|---|
| Printable characters | The character (char mode) or buffered (line mode). |
| Enter | The selected EOL Mode (CR, LF, CRLF, or <none> in LAN mode) — in line mode it follows the buffered line. |
| Backspace / Tab / Esc | \b / \t / ESC (0x1B). |
| Ctrl+A … Ctrl+Z | Control codes 0x01–0x1A (e.g. Ctrl+C = 0x03). |
| Arrows / Home / End | ANSI cursor sequences (ESC [ A/B/C/D/H/F). |
ANSI / VT100 support
In ANSI display mode FSterm interprets a practical subset of VT100/ANSI escapes:
- SGR colors & attributes — 16 foreground/background colors (30–37, 90–97, 40–47, 100–107), bold, underline, reverse, and reset.
- Cursor movement — up/down/left/right (
A B C D), absolute position (H/f), save/restore (s/uandESC 7/ESC 8). - Erase — in display (
J), in line (K), and erase-characters (X). - Cursor show/hide —
ESC[?25h/ESC[?25l. - DEC line-drawing —
ESC(0selects the box-drawing G0 set;ESC(Breturns to ASCII. - Full reset —
ESC c.
Settings file
Preferences are stored in a small FSterm.ini kept next to FSterm.exe,
so the app is fully portable. Missing keys fall back to defaults; a read-only folder simply means
each session starts at defaults.
| Section | Keys |
|---|---|
[last] | port — last-used serial port. |
[network] | mode (serial/lan), host, port, proto (TCP/UDP) — LAN-mode target. |
[window] | geom — window size/position (WxH+X+Y). |
[legal] | accepted_disclaimer_version — the end-user disclaimer version you have accepted (see below). |
[terminal] | baud, framing, palette,
display_mode, input_mode, line_terminator,
local_echo, auto_scroll, capture_hex,
play_char_delay_ms, play_eol_delay_ms, play_eol,
rts, dtr (output-line state). |
Troubleshooting
- Port not listed — plug in the USB cable and click Refresh; install the bridge chip's driver if Windows shows no COM port.
- Connect fails — another program (or a second FSterm window) may hold the port; close it and try again.
- Garbage characters — the baud rate or framing doesn't match the device; correct them (the port reopens automatically).
- Every character is doubled — turn Echo off; the device is already echoing.
- You type but nothing happens — click the terminal to focus it, and confirm you are connected; in line mode input is sent only on Enter.
- "Help file not found" — keep
FSterm_Help.htmlnext toFSterm.exe, or in theFSTerm_Documentsfolder.
About
FSterm — a portable native-Windows serial terminal. For sales and support contact sales@funcionasystems.com or visit www.funcionasystems.com.
© Funciona Systems, 2026.