Summary
Sharp/NEC Xt4100 installation projector. RS-232C serial and TCP/LAN control via binary command protocol (hex frame with checksum). Covers power, input switch, mutes, picture/volume/aspect adjust, lens control + memory, status/error/lamp/filter info requests, eco mode, PIP/PbP, edge blending, and audio select.
Transport
protocols:
- serial
- tcp
serial:
baud_rate: 115200 # source lists selectable: 115200/38400/19200/9600/4800
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # UNRESOLVED: flow control not stated; "Communication mode: Full duplex" only
addressing:
port: 7142
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # 015 POWER ON / 016 POWER OFF
- queryable # many status/error/info request commands
- levelable # 030-1 PICTURE ADJUST, 030-2 VOLUME ADJUST, 053 LENS CONTROL
- routable # 018 INPUT SW CHANGE, 319-10 AUDIO SELECT SET
Actions
# Binary frame protocol. Hex bytes space-separated. <CKS> = checksum = low byte of
# sum of all preceding bytes. <ID1> = control ID, <ID2> = model code (varies).
- id: error_status_request_009
label: "009. ERROR STATUS REQUEST"
kind: query
command: "00h 88h 00h 00h 00h 88h"
params: []
- id: power_on_015
label: "015. POWER ON"
kind: action
command: "02h 00h 00h 00h 00h 02h"
params: []
notes: "No other command accepted while powering on."
- id: power_off_016
label: "016. POWER OFF"
kind: action
command: "02h 01h 00h 00h 00h 03h"
params: []
notes: "No other command accepted during power-off incl. cooling time."
- id: input_sw_change_018
label: "018. INPUT SW CHANGE"
kind: action
command: "02h 03h 00h 00h 02h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "Input terminal hex (e.g. 06h = video). Full table in Appendix Supplementary Information by Command."
notes: "Example to video port: 02h 03h 00h 00h 02h 01h 06h 0Eh"
- id: picture_mute_on_020
label: "020. PICTURE MUTE ON"
kind: action
command: "02h 10h 00h 00h 00h 12h"
params: []
notes: "Cleared by input/video switch."
- id: picture_mute_off_021
label: "021. PICTURE MUTE OFF"
kind: action
command: "02h 11h 00h 00h 00h 13h"
params: []
- id: sound_mute_on_022
label: "022. SOUND MUTE ON"
kind: action
command: "02h 12h 00h 00h 00h 14h"
params: []
notes: "Cleared by input/video switch or volume adjust."
- id: sound_mute_off_023
label: "023. SOUND MUTE OFF"
kind: action
command: "02h 13h 00h 00h 00h 15h"
params: []
- id: onscreen_mute_on_024
label: "024. ONSCREEN MUTE ON"
kind: action
command: "02h 14h 00h 00h 00h 16h"
params: []
notes: "Cleared by input/video switch."
- id: onscreen_mute_off_025
label: "025. ONSCREEN MUTE OFF"
kind: action
command: "02h 15h 00h 00h 00h 17h"
params: []
- id: picture_adjust_030_1
label: "030-1. PICTURE ADJUST"
kind: action
command: "03h 10h 00h 00h 05h {data01} FFh {data03} {data04} {cks}"
params:
- name: data01
type: string
description: "Adjustment target: 00h=Brightness 01h=Contrast 02h=Color 03h=Hue 04h=Sharpness"
- name: data03
type: integer
description: "Adjustment value low byte"
- name: data04
type: integer
description: "Adjustment value high byte"
notes: "Mode fixed FFh (absolute). Example brightness=10: 03h 10h 00h 00h 05h 00h FFh 00h 0Ah 00h 21h"
- id: volume_adjust_030_2
label: "030-2. VOLUME ADJUST"
kind: action
command: "03h 10h 00h 00h 05h 05h 00h {data02} {data03} {cks}"
params:
- name: data02
type: integer
description: "Adjustment value low byte"
- name: data03
type: integer
description: "Adjustment value high byte"
notes: "Mode fixed 00h (absolute). Example volume=10: 03h 10h 00h 00h 05h 05h 00h 00h 0Ah 00h 27h"
- id: aspect_adjust_030_12
label: "030-12. ASPECT ADJUST"
kind: action
command: "03h 10h 00h 00h 05h 18h 00h 00h {data01} 00h {cks}"
params:
- name: data01
type: string
description: "Aspect value hex. Table in Appendix Supplementary Information by Command."
- id: other_adjust_030_15
label: "030-15. OTHER ADJUST"
kind: action
command: "03h 10h 00h 00h 05h {data01} {data02} {data04} {data05} {cks}"
params:
- name: data01
type: string
description: "96h for LAMP/LIGHT ADJUST"
- name: data02
type: string
description: "FFh paired with 96h"
- name: data04
type: integer
description: "Adjustment value low byte"
- name: data05
type: integer
description: "Adjustment value high byte"
notes: "DATA03 = mode: 00h absolute / 01h relative"
- id: information_request_037
label: "037. INFORMATION REQUEST"
kind: query
command: "03h 8Ah 00h 00h 00h 8Dh"
params: []
notes: "Returns projector name (DATA01-49), lamp usage sec (DATA83-86), filter usage sec (DATA87-90). Updated 1-min intervals."
- id: filter_usage_info_request_037_3
label: "037-3. FILTER USAGE INFORMATION REQUEST"
kind: query
command: "03h 95h 00h 00h 00h 98h"
params: []
notes: "Returns filter usage time (DATA01-04) and alarm start time (DATA05-08), in seconds. -1 if undefined."
- id: lamp_info_request_037_4
label: "037-4. LAMP INFORMATION REQUEST 3"
kind: query
command: "03h 96h 00h 00h 02h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "00h=Lamp 1, 01h=Lamp 2 (two-lamp models only)"
- name: data02
type: string
description: "01h=usage time seconds, 04h=remaining life %"
notes: "Eco mode reflected. Negative remaining life if deadline exceeded. Example lamp1 usage: 03h 96h 00h 00h 02h 00h 01h 9Ch"
- id: carbon_savings_request_037_6
label: "037-6. CARBON SAVINGS INFORMATION REQUEST"
kind: query
command: "03h 9Ah 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "00h=Total, 01h=During operation"
notes: "Returns kg (DATA02-05, max 99999) + mg (DATA06-09, max 999999)."
- id: remote_key_code_050
label: "050. REMOTE KEY CODE"
kind: action
command: "02h 0Fh 00h 00h 02h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "Key code low byte (see key code list)"
- name: data02
type: string
description: "Key code high byte (typically 00h)"
notes: "Key codes: 02h POWER ON, 03h POWER OFF, 05h AUTO, 06h MENU, 07h UP, 08h DOWN, 09h RIGHT, 0Ah LEFT, 0Bh ENTER, 0Ch EXIT, 0Dh HELP, 0Fh MAGNIFY UP, 10h MAGNIFY DOWN, 13h MUTE, 29h PICTURE, 4Bh COMPUTER1, 4Ch COMPUTER2, 4Fh VIDEO1, 51h S-VIDEO1, 84h VOLUME UP, 85h VOLUME DOWN, 8Ah FREEZE, A3h ASPECT, D7h SOURCE, EEh LAMP MODE/ECO. Example AUTO: 02h 0Fh 00h 00h 02h 05h 00h 18h"
- id: shutter_close_051
label: "051. SHUTTER CLOSE"
kind: action
command: "02h 16h 00h 00h 00h 18h"
params: []
- id: shutter_open_052
label: "052. SHUTTER OPEN"
kind: action
command: "02h 17h 00h 00h 00h 19h"
params: []
- id: lens_control_053
label: "053. LENS CONTROL"
kind: action
command: "02h 18h 00h 00h 02h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "Lens target - source shows 06h Periphery Focus; full target list truncated in refined doc."
- name: data02
type: string
description: "00h Stop, 01h +1s, 02h +0.5s, 03h +0.25s, 7Fh +continuous, 81h -continuous, FDh -0.25s, FEh -0.5s, FFh -1s"
notes: "Send 00h to stop after 7Fh/81h continuous. Same command can be re-issued without stop while driving."
- id: lens_control_request_053_1
label: "053-1. LENS CONTROL REQUEST"
kind: query
command: "02h 1Ch 00h 00h 02h {data01} 00h {cks}"
params:
- name: data01
type: string
description: "Lens target (per 053)"
notes: "Returns upper/lower limits and current value (16-bit each)."
- id: lens_control_2_053_2
label: "053-2. LENS CONTROL 2"
kind: action
command: "02h 1Dh 00h 00h 04h {data01} {data02} {data03} {data04} {cks}"
params:
- name: data01
type: string
description: "FFh = Stop; otherwise lens target"
- name: data02
type: string
description: "Adjustment mode: 00h absolute, 02h relative"
- name: data03
type: integer
description: "Adjustment value low byte"
- name: data04
type: integer
description: "Adjustment value high byte"
notes: "If DATA01=FFh (Stop), mode/value ignored."
- id: lens_memory_control_053_3
label: "053-3. LENS MEMORY CONTROL"
kind: action
command: "02h 1Eh 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "00h MOVE, 01h STORE, 02h RESET"
- id: reference_lens_memory_control_053_4
label: "053-4. REFERENCE LENS MEMORY CONTROL"
kind: action
command: "02h 1Fh 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "00h MOVE, 01h STORE, 02h RESET"
notes: "Acts on profile selected via 053-10 LENS PROFILE SET."
- id: lens_memory_option_request_053_5
label: "053-5. LENS MEMORY OPTION REQUEST"
kind: query
command: "02h 20h 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "00h LOAD BY SIGNAL, 01h FORCED MUTE"
- id: lens_memory_option_set_053_6
label: "053-6. LENS MEMORY OPTION SET"
kind: action
command: "02h 21h 00h 00h 02h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "00h LOAD BY SIGNAL, 01h FORCED MUTE"
- name: data02
type: string
description: "00h OFF, 01h ON"
- id: lens_information_request_053_7
label: "053-7. LENS INFORMATION REQUEST"
kind: query
command: "02h 22h 00h 00h 01h 00h 25h"
params: []
notes: "DATA01 bitmap: Bit0 Lens memory, Bit1 Zoom, Bit2 Focus, Bit3 Lens Shift H, Bit4 Lens Shift V (0=Stop, 1=Operating)."
- id: lens_profile_set_053_10
label: "053-10. LENS PROFILE SET"
kind: action
command: "02h 27h 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "00h Profile 1, 01h Profile 2"
- id: lens_profile_request_053_11
label: "053-11. LENS PROFILE REQUEST"
kind: query
command: "02h 28h 00h 00h 00h 2Ah"
params: []
- id: gain_parameter_request_3_060_1
label: "060-1. GAIN PARAMETER REQUEST 3"
kind: query
command: "03h 05h 00h 00h 03h {data01} 00h 00h {cks}"
params:
- name: data01
type: string
description: "00h Brightness, 01h Contrast, 02h Color, 03h Hue, 04h Sharpness, 05h Volume, 96h Lamp/Light Adjust"
notes: "Returns status, upper/lower limits, default, current, wide/narrow step. Example brightness: 03h 05h 00h 00h 03h 00h 00h 00h 0Bh"
- id: setting_request_078_1
label: "078-1. SETTING REQUEST"
kind: query
command: "00h 85h 00h 00h 01h 00h 86h"
params: []
notes: "Returns base model type (DATA01-03), sound function (DATA04), profile/clock/sleep (DATA05)."
- id: running_status_request_078_2
label: "078-2. RUNNING STATUS REQUEST"
kind: query
command: "00h 85h 00h 00h 01h 01h 87h"
params: []
notes: "DATA03 power (00h Standby, 01h On), DATA04 cooling, DATA05 power on/off process, DATA06 operation status."
- id: input_status_request_078_3
label: "078-3. INPUT STATUS REQUEST"
kind: query
command: "00h 85h 00h 00h 01h 02h 88h"
params: []
notes: "Signal switch, list number (returned value + 1 = practical), signal types, test pattern, displayed content."
- id: mute_status_request_078_4
label: "078-4. MUTE STATUS REQUEST"
kind: query
command: "00h 85h 00h 00h 01h 03h 89h"
params: []
notes: "DATA01 picture mute, DATA02 sound mute, DATA03 onscreen mute, DATA04 forced onscreen mute, DATA05 OSD."
- id: model_name_request_078_5
label: "078-5. MODEL NAME REQUEST"
kind: query
command: "00h 85h 00h 00h 01h 04h 8Ah"
params: []
- id: cover_status_request_078_6
label: "078-6. COVER STATUS REQUEST"
kind: query
command: "00h 85h 00h 00h 01h 05h 8Bh"
params: []
notes: "DATA01: 00h Normal (cover opened), 01h Cover closed."
- id: freeze_control_079
label: "079. FREEZE CONTROL"
kind: action
command: "01h 98h 00h 00h 01h {data01} {cks}"
params:
- name: data01
type: string
description: "01h freeze on, 02h freeze off"
- id: information_string_request_084
label: "084. INFORMATION STRING REQUEST"
kind: query
command: "00h D0h 00h 00h 03h 00h {data01} 01h {cks}"
params:
- name: data01
type: string
description: "03h Horizontal sync freq, 04h Vertical sync freq"
- id: eco_mode_request_097_8
label: "097-8. ECO MODE REQUEST"
kind: query
command: "03h B0h 00h 00h 01h 07h BBh"
params: []
notes: "Returns Light/Lamp mode value. Enum in Appendix."
- id: lan_projector_name_request_097_45
label: "097-45. LAN PROJECTOR NAME REQUEST"
kind: query
command: "03h B0h 00h 00h 01h 2Ch E0h"
params: []
notes: "Returns projector name (17 bytes)."
- id: lan_mac_address_request_097_155
label: "097-155. LAN MAC ADDRESS STATUS REQUEST2"
kind: query
command: "03h B0h 00h 00h 02h 9Ah 00h 4Fh"
params: []
notes: "Returns 6-byte MAC. Example resp for 01-23-45-67-89-AB: 23h B0h <ID1> <ID2> 08h 9Ah 00h 01h 23h 45h 67h 89h ABh <CKS>"
- id: pip_pbp_request_097_198
label: "097-198. PIP/PICTURE BY PICTURE REQUEST"
kind: query
command: "03h B0h 00h 00h 02h C5h {data01} {cks}"
params:
- name: data01
type: string
description: "00h MODE, 01h START POSITION, 02h SUB INPUT/SUB INPUT 1, 09h SUB INPUT 2, 0Ah SUB INPUT 3"
- id: edge_blending_mode_request_097_243_1
label: "097-243-1. EDGE BLENDING MODE REQUEST"
kind: query
command: "03h B0h 00h 00h 02h DFh 00h 94h"
params: []
notes: "DATA01: 00h OFF, 01h ON."
- id: eco_mode_set_098_8
label: "098-8. ECO MODE SET"
kind: action
command: "03h B1h 00h 00h 02h 07h {data01} {cks}"
params:
- name: data01
type: string
description: "Eco mode value. Enum in Appendix Supplementary Information by Command."
- id: lan_projector_name_set_098_45
label: "098-45. LAN PROJECTOR NAME SET"
kind: action
command: "03h B1h 00h 00h 12h 2Ch {data01-16} 00h {cks}"
params:
- name: data01-16
type: string
description: "Projector name, up to 16 bytes"
- id: pip_pbp_set_098_198
label: "098-198. PIP/PICTURE BY PICTURE SET"
kind: action
command: "03h B1h 00h 00h 03h C5h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "00h MODE, 01h START POSITION, 02h SUB INPUT/SUB INPUT 1, 09h SUB INPUT 2, 0Ah SUB INPUT 3"
- name: data02
type: string
description: "Setting value (mode: 00h PIP / 01h PbP; position: 00h TL/01h TR/02h BL/03h BR; sub input per Appendix)"
- id: edge_blending_mode_set_098_243_1
label: "098-243-1. EDGE BLENDING MODE SET"
kind: action
command: "03h B1h 00h 00h 03h DFh 00h {data01} {cks}"
params:
- name: data01
type: string
description: "00h OFF, 01h ON"
- id: base_model_type_request_305_1
label: "305-1. BASE MODEL TYPE REQUEST"
kind: query
command: "00h BFh 00h 00h 01h 00h C0h"
params: []
notes: "Returns base model type + model name. Type values in Appendix."
- id: serial_number_request_305_2
label: "305-2. SERIAL NUMBER REQUEST"
kind: query
command: "00h BFh 00h 00h 02h 01h 06h C8h"
params: []
- id: basic_information_request_305_3
label: "305-3. BASIC INFORMATION REQUEST"
kind: query
command: "00h BFh 00h 00h 01h 02h C2h"
params: []
notes: "Returns operation status, displayed content, signal types, video/sound/onscreen/freeze mute states."
- id: audio_select_set_319_10
label: "319-10. AUDIO SELECT SET"
kind: action
command: "03h C9h 00h 00h 03h 09h {data01} {data02} {cks}"
params:
- name: data01
type: string
description: "Input terminal hex. Table in Appendix Supplementary Information by Command."
- name: data02
type: string
description: "00h terminal-specified audio, 01h BNC"
Feedbacks
# Response framing: success = 2xh/3xh prefix echo + LEN + data + CKS.
# Failure = Axh prefix + <ERR1> <ERR2> <CKS>. Query responses carry DATA per command.
- id: command_ack
type: enum
values: [success, error]
description: "Success: 22h/23h/20h/21h prefix echo + data. Error: A2h/A3h/A0h/A1h + ERR1+ERR2."
- id: error_status
type: bitmap
description: "009 ERROR STATUS REQUEST DATA01-12 bitfield. See error information list (cover, fan, temp, lamp, mirror cover, interlock, system, etc.)."
- id: power_state
type: enum
values: [standby, power_on, cooling, standby_error, standby_power_saving, network_standby]
description: "078-2 DATA06 / 305-3 DATA01."
- id: mute_states
type: object
description: "078-4: picture, sound, onscreen, forced onscreen, OSD display flags."
- id: input_signal_state
type: object
description: "078-3 / 305-3: signal type, list number, displayed content, test pattern."
- id: lens_operation_state
type: bitmap
description: "053-7 DATA01: lens memory, zoom, focus, lens shift H/V operation bits."
Variables
- id: lamp_usage_seconds
description: "037 DATA83-86 / 037-4 DATA03-06. Updated 1-min intervals."
- id: filter_usage_seconds
description: "037 DATA87-90 / 037-3 DATA01-04."
- id: lamp_remaining_life_percent
description: "037-4 content 04h. Negative if replacement deadline exceeded."
- id: carbon_savings_kg
description: "037-6 DATA02-05 (max 99999 kg) + DATA06-09 mg."
- id: lens_position
description: "053-1 returns upper/lower limits + current value per lens target."
- id: gain_adjustment
description: "060-1 returns limits, default, current, wide/narrow step per gain target."
- id: projector_name
description: "078-5 / 097-45 / settable via 098-45 (16 bytes)."
- id: eco_mode
description: "097-8 / settable via 098-8. Enum in Appendix."
Events
# No unsolicited notifications documented. Device responds only to commands.
# UNRESOLVED: no event/notification mechanism described in source.
Macros
# No multi-step sequences explicitly described in source.
# UNRESOLVED: none documented.
Safety
confirmation_required_for: []
interlocks: []
# Source notes:
# - 015 POWER ON / 016 POWER OFF: no other command accepted during power transition (incl. cooling).
# - 009 ERROR STATUS: interlock switch open (DATA09 Bit1), system errors, cover errors reported.
# - 078-6 COVER STATUS: mirror/lens cover state.
# No explicit safety interlock procedures or power-on sequencing requirements stated beyond above.
Notes
- Binary protocol. Every frame ends in checksum byte = low 8 bits of sum of all preceding bytes.
- Command/response framing: leading byte indicates direction+class —
02h/03h/00h/01h= command prefix,22h/23h/20h/21h= success response prefix,A2h/A3h/A0h/A1h= error response prefix. - Baud rate selectable: 115200 / 38400 / 19200 / 9600 / 4800. Pick one in software config.
- TCP port 7142 for LAN control.
- Wireless LAN supported via optional wireless LAN unit (config not in this doc).
- Lamp/filter usage returned in seconds, updated at 1-minute intervals.
- Two-lamp projector models: 037-4 DATA01=01h (Lamp 2) effective only on those models.
Spec done. 53 actions = full source command list. Binary payloads verbatim. Gaps marked `UNRESOLVED` (appendix tables missing from refined doc, flow control, firmware).
## Provenance
```yaml
source_domains:
- sharpdisplays.eu
source_urls:
- https://www.sharpdisplays.eu/p/download/cp/Products/Projectors/Shared/CommandLists/NEC-ExternalControlManual-english.pdf
retrieved_at: 2026-06-16T12:43:35.034Z
last_checked_at: 2026-06-19T07:54:37.552Z
```
## Verification Summary
```yaml
verdict: verified
checked_at: 2026-06-19T07:54:37.552Z
matched_actions: 53
action_count: 53
confidence: medium
summary: "All 53 spec action hex commands matched verbatim against source sections 3.1-3.53; transport parameters (115200 baud, port 7142) verified; complete coverage. (8 unresolved item(s) noted in Known Gaps.)"
```
## Known Gaps
```yaml
- "input terminal hex value table lives in \"Appendix Supplementary Information by Command\" — not present in refined source. Several commands reference it (018 INPUT SW CHANGE, 098-198 sub input, 319-10 AUDIO SELECT SET). Eco mode enum values also referenced from same appendix."
- "flow control not stated; \"Communication mode: Full duplex\" only"
- "no event/notification mechanism described in source."
- "none documented."
- "input terminal hex table, eco mode enum values, base model type values, sub input setting values all referenced from \"Appendix Supplementary Information by Command\" — not present in refined source."
- "053 LENS CONTROL full DATA01 target list — only 06h (Periphery Focus) shown in refined doc; other targets truncated."
- "flow_control not stated (only \"Full duplex\" comm mode)."
- "firmware version compatibility not stated in source."
```
---
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0