SoftControl
šŸ’” Industry Knowledge

Epson Projector RS232 Commands: The ESC/VP21 Command List

SoftControl Team2026-08-2511 min read
EpsonESC/VP21RS232projector controlAV control protocols

ESC/VP21 in One Paragraph

ESC/VP21 is Epson's control protocol, and it is refreshingly simple: plain ASCII text, terminated by a carriage return. No checksums, no start/end framing bytes, no hex tables. You can drive an Epson projector from a terminal emulator by typing.

Better still, the same command set works over RS-232, USB and TCP/IP. ESC/VP21 is defined independently of the transport, so the string you validate on a serial cable is the string you later send over the network — a rare convenience in AV, and the reason Epson is usually the easiest brand to bring up on a job site.

The trade-off is that parameter values vary by model generation. The command names (PWR, SOURCE, MUTE) are stable; which number means HDMI is not.

Wiring and Pinout

Epson projectors use a standard 9-pin D-sub. The connection to a PC is a null-modem (crossover) cable — the classic mistake is grabbing a straight-through cable from the bag.

SignalProjector pinPC pin
RD (receive)23
TD (transmit)32
GND55

Only three wires matter. If you have a straight-through cable and no crossover, a null-modem adapter on either end does the job.

On laptops with no serial port, a USB-to-DB9 adapter is fine — but check which COM number Windows assigned it, because the number changes when you plug it into a different USB port.

Serial Settings

ParameterValue
Baud rate9600 (default on most models)
Data bits8
ParityNone
Stop bits1
Flow controlNone
TerminatorCR (0x0D)

Some models offer 19200 or 38400 in the menu. Unless you have a reason, leave it at 9600 — the command volume in a control system is tiny and the slower rate is more tolerant of long cable runs.

The Colon Prompt: How ESC/VP21 Handshakes

This is the part that confuses people coming from other brands.

The projector answers every command with a colon (:) when it is ready for the next one. The colon is not an error and not a value — it is a prompt.

you:        PWR ON<CR>
projector:  :

Press Enter on its own — a "null command" — and you get a colon back. That is the fastest possible connectivity test: if a bare carriage return returns a colon, your cable, COM port and baud rate are all correct, and any remaining problem is with the command or the projector's state.

The documented flow control rule is: send the next command only after receiving the colon from the previous one. If you cannot wait, the spec lists an execution time per command that you must respect instead. Control systems that fire five commands in a burst without waiting are the usual cause of "the first command works and the rest are ignored".

Queries end with ? and return a value, then the colon:

you:        PWR?<CR>
projector:  PWR=01
            :

Command Reference

CommandPurposeExample
PWR ONPower onPWR ON
PWR OFFPower offPWR OFF
PWR?Power statusreturns PWR=00 … PWR=05
SOURCE xxSelect inputSOURCE 30
SOURCE?Current inputreturns SOURCE=30
MUTE ON / MUTE OFFA/V mute (blank)MUTE ON
MUTE?Mute status—
MSEL xxA/V mute screen colour—
VOL xxVolumestep parameter
FREEZE ON / OFFFreeze image—
ASPECT xxAspect ratio—
CMODE xxColour mode—
LUMINANCE xxBrightness / eco mode—
HREVERSEHorizontal flip (rear projection)—
VREVERSEVertical flip (ceiling mount)—
LAMP?Lamp hoursreturns LAMP=1234
ERR?Error codereturns ERR=00 when healthy

Power status values

PWR? is the single most useful query for an unattended installation, because it distinguishes states that a simple "is it on?" cannot:

ValueState
00Standby (network off)
01Lamp on — normal operation
02Warming up
03Cooling down
04Standby (network on / monitoring)
05Abnormal standby

02 and 03 are the ones that matter operationally. A projector cooling down will refuse a power-on command until it finishes. A control system that does not distinguish 03 from 00 will report "power-on failed" every time an operator turns something off and immediately back on.

05 means the projector shut itself down abnormally — follow up with ERR?.

Input source values

SOURCE takes a two-digit hex value. The mapping differs between model families, so treat the list below as a starting point and verify against the ESC/VP21 guide for your specific projector:

ValueTypical input
11Computer 1 (analogue RGB)
21Computer 2 / BNC
30HDMI 1
A0HDMI 2 (on models with two)
41Video (composite)
42S-Video
52USB Display
53USB-A / media playback
80LAN / network

The safe commissioning method: switch the input by hand with the remote, then send SOURCE? and record what comes back. Do that once per input and you have a mapping that is guaranteed correct for that model.

Why Your Epson Command Gets No Response

1. RS-232C is not selected in the menu.
Epson's ESC/VP21 guide says to select RS-232C in the Advanced settings of the projector menu; the exact menu path differs between models, so check your model's user's guide. (On some older models you will also see "Link 21L" — that is a USB communication setting, not the serial one.) Until then the port is physically present but electrically ignored.

2. Standby restricts which commands are accepted — this is the big one.
In standby, Epson projectors accept only a small subset of commands and return ERR for everything else. The exact subset is model-dependent; on many business models it is only PWR ON, PWR?, LAMP? and the null command.

This produces the classic misleading symptom: you test SOURCE? while the projector is in standby, get ERR, and conclude the cable or the port is wrong — when in fact the link is perfect and the projector is simply refusing that command in that state. Always test with a bare carriage return first, and use PWR ON / PWR? as your standby-safe commands.

3. Wrong cable. Straight-through instead of null-modem. See the pinout table.

4. You did not wait for the colon. Commands sent in a burst get dropped. Wait for : or honour the documented execution time.

5. ERR returned for a malformed command. ESC/VP21 is case-sensitive and space-sensitive: PWR ON has exactly one space, and PWR? has none.

6. Lamp ignition failure. On receiving PWR ON the projector attempts to strike the lamp up to three times; three failures indicate a genuine lamp fault, not a control problem. If PWR ON returns a colon but the projector stays dark, query ERR? before touching the control system.

A note on timing: after the lamp starts, give the projector time before hammering it with commands. Input switching during warm-up is a common source of "the command was accepted but nothing happened".

Controlling Epson Projectors over TCP

Because ESC/VP21 is transport-independent, the same command strings work over the network — but only inside an ESC/VP.net session. Connect to TCP port 3629, send Epson's 16-byte handshake, and send ESC/VP21 commands once the projector has answered it; a plain TCP connection that sends ASCII straight away skips that step. The Epson network control guide has the exact bytes. This is worth doing wherever you have a network drop, because it removes the serial cable, the crossover question and the COM-port assignment from your problem list in one move.

If the projector supports it, PJLink is another network option and is cross-brand — useful when the hall has projectors from several manufacturers. Use PJLink for the common operations and fall back to ESC/VP21 for the Epson-specific ones like CMODE and LUMINANCE.

With SoftControl

SoftControl sends ESC/VP21 over serial, and controls Epson projectors on the network through PJLink. Its TCP driver does not perform the ESC/VP.net handshake, so for network control of an Epson, use PJLink for the common operations and keep ESC/VP21 on the serial port. Its command tester shows the exact bytes sent, so you can confirm the CR terminator is there before blaming the cable.

See the projector control guide for the cross-brand picture, or the serial communication guide for RS-232/485 fundamentals.

More Epson Control Guides







Try SoftControl Now

Free download, no registration required, starts with a 30-day trial

Download FreeView Features

Comments

Comments are reviewed manually before they appear. Abusive content will be removed.

    No comments yet — be the first to share your thoughts