Summary
The NEC XP29 Plus is a projector supporting both serial (RS-232C) and wired TCP/IP control. The protocol uses hexadecimal command encoding with checksum validation. Power, input routing, picture/sound mute, lens control, and query commands are documented.
Transport
protocols:
- serial
- tcp
addressing:
port: 7142 # stated: TCP port number for sending/receiving commands
serial:
baud_rate: 115200 # stated: supports 115200/38400/19200/9600/4800 bps; listing highest
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # UNRESOLVED: flow control not specified in source
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred: POWER ON (015) and POWER OFF (016) commands present
- routable # inferred: INPUT SW CHANGE (018) command present
- queryable # inferred: multiple information/status request commands present
- levelable # inferred: VOLUME ADJUST (030-2), PICTURE ADJUST (030-1) present
Actions
- id: power_on
label: Power On
kind: action
params: []
- id: power_off
label: Power Off
kind: action
params: []
- id: input_sw_change
label: Input Switch
kind: action
params:
- name: input_terminal
type: integer
description: Input terminal value (hex)
- id: picture_mute_on
label: Picture Mute On
kind: action
params: []
- id: picture_mute_off
label: Picture Mute Off
kind: action
params: []
- id: sound_mute_on
label: Sound Mute On
kind: action
params: []
- id: sound_mute_off
label: Sound Mute Off
kind: action
params: []
- id: onscreen_mute_on
label: Onscreen Mute On
kind: action
params: []
- id: onscreen_mute_off
label: Onscreen Mute Off
kind: action
params: []
- id: picture_adjust
label: Picture Adjust
kind: action
params:
- name: adjustment_target
type: integer
description: "00h=Brightness, 01h=Contrast, 02h=Color, 03h=Hue, 04h=Sharpness"
- name: adjustment_mode
type: integer
description: "00h=Absolute value, 01h=Relative value"
- name: adjustment_value
type: integer
description: 16-bit signed value (low-order 8 bits + high-order 8 bits)
- id: volume_adjust
label: Volume Adjust
kind: action
params:
- name: adjustment_mode
type: integer
description: "00h=Absolute value, 01h=Relative value"
- name: adjustment_value
type: integer
description: 16-bit value
- id: aspect_adjust
label: Aspect Adjust
kind: action
params:
- name: aspect_value
type: integer
description: Aspect ratio value (see appendix)
- id: other_adjust
label: Other Adjust (Lamp/Light)
kind: action
params:
- name: adjustment_target
type: integer
description: "96h=Lamp Adjust/Light Adjust"
- name: adjustment_mode
type: integer
description: "00h=Absolute, 01h=Relative"
- name: adjustment_value
type: integer
description: 16-bit signed value
- id: remote_key_code
label: Remote Key Code
kind: action
params:
- name: key_code
type: integer
description: Key code (see key code table)
- id: shutter_close
label: Shutter Close
kind: action
params: []
- id: shutter_open
label: Shutter Open
kind: action
params: []
- id: lens_control
label: Lens Control
kind: action
params:
- name: control_target
type: integer
description: "06h=Periphery Focus"
- name: content
type: integer
description: "00h=Stop, 01h=+1s, 02h=+0.5s, 03h=+0.25s, 7Fh=continuous+, 81h=continuous-, FDh=-0.25s, FEh=-0.5s, FFh=-1s"
- id: lens_control_request
label: Lens Control Request
kind: query
params:
- name: control_target
type: integer
description: Control target (same as lens_control)
- id: lens_control_2
label: Lens Control 2
kind: action
params:
- name: stop_or_adjust
type: integer
description: "FFh=Stop, otherwise adjustment"
- name: adjustment_mode
type: integer
description: "00h=Absolute, 02h=Relative"
- name: adjustment_value
type: integer
description: 16-bit value
- id: lens_memory_control
label: Lens Memory Control
kind: action
params:
- name: operation
type: integer
description: "00h=MOVE, 01h=STORE, 02h=RESET"
- id: reference_lens_memory_control
label: Reference Lens Memory Control
kind: action
params:
- name: operation
type: integer
description: "00h=MOVE, 01h=STORE, 02h=RESET"
- id: lens_memory_option_request
label: Lens Memory Option Request
kind: query
params:
- name: option
type: integer
description: "00h=LOAD BY SIGNAL, 01h=FORCED MUTE"
- id: lens_memory_option_set
label: Lens Memory Option Set
kind: action
params:
- name: option
type: integer
description: "00h=LOAD BY SIGNAL, 01h=FORCED MUTE"
- name: value
type: integer
description: "00h=OFF, 01h=ON"
- id: lens_information_request
label: Lens Information Request
kind: query
params: []
- id: lens_profile_set
label: Lens Profile Set
kind: action
params:
- name: profile_number
type: integer
description: "00h=Profile 1, 01h=Profile 2"
- id: lens_profile_request
label: Lens Profile Request
kind: query
params: []
- id: eco_mode_set
label: Eco Mode Set
kind: action
params:
- name: eco_mode_value
type: integer
description: Eco mode value (see appendix)
- id: lan_projector_name_set
label: LAN Projector Name Set
kind: action
params:
- name: projector_name
type: string
description: Up to 16 bytes
- id: pip_picture_by_picture_set
label: PIP/Picture by Picture Set
kind: action
params:
- name: parameter
type: integer
description: "00h=MODE, 01h=START POSITION, 02h=SUB INPUT, 09h=SUB INPUT 2, 0Ah=SUB INPUT 3"
- name: setting_value
type: integer
description: Depends on parameter
- id: edge_blending_mode_set
label: Edge Blending Mode Set
kind: action
params:
- name: mode
type: integer
description: "00h=OFF, 01h=ON"
- id: audio_select_set
label: Audio Select Set
kind: action
params:
- name: input_terminal
type: integer
description: Input terminal value
- name: setting_value
type: integer
description: "00h=Terminal specified, 02h=COMPUTER, 01h=BNC"
- id: freeze_control
label: Freeze Control
kind: action
params:
- name: freeze
type: integer
description: "01h=Freeze on, 02h=Freeze off"
# UNRESOLVED: commands 009, 037 series, 050, 053-1, 053-7, 060-1, 078 series, 084, 097 series, 098-8, 098-45, 098-198, 098-243-1, 305 series, 319-10 fully documented in source but not enumerated above for brevity
Feedbacks
- id: error_status
type: bitfield
description: Error status (bits for fan, temperature, lamp, power errors)
- id: command_result
type: enum
values: [success, error]
description: Standard command completion response
- id: running_status
type: object
description: Power status, cooling state, operation mode
- id: input_status
type: object
description: Signal switch status, signal list number, signal type
- id: mute_status
type: object
description: Picture mute, sound mute, onscreen mute states
- id: lamp_information
type: object
description: Lamp usage time (seconds), remaining life (%)
- id: filter_usage_information
type: object
description: Filter usage time and alarm start time (seconds)
- id: carbon_savings_information
type: object
description: Total carbon savings, operation carbon savings (kg/mg)
- id: projector_information
type: object
description: Projector name, lamp usage time, filter usage time
- id: gain_parameter
type: object
description: Picture/volume adjustment ranges and current values
- id: information_string
type: string
description: Horizontal/vertical sync frequency strings
- id: eco_mode
type: integer
description: Eco mode value
- id: lan_projector_name
type: string
description: Projector name
- id: lan_mac_address
type: string
description: MAC address (hex)
- id: pip_picture_by_picture
type: object
description: PIP/PbP mode, position, sub input settings
- id: edge_blending_mode
type: integer
description: Edge blending mode (00h=OFF, 01h=ON)
- id: model_name
type: string
description: Model name string
- id: serial_number
type: string
description: Serial number string
- id: basic_information
type: object
description: Operation status, content displayed, signal type, mute/freeze states
- id: cover_status
type: enum
values: [normal, closed]
description: Mirror/lens cover status
Variables
# UNRESOLVED: most settings are controlled via action commands; no distinct
# settable variables outside of action commands identified in source
Events
# UNRESOLVED: no unsolicited event/notification mechanism described in source
Macros
# UNRESOLVED: no explicit multi-step macro sequences documented in source
Safety
confirmation_required_for: []
interlocks:
- While POWER ON command is executing, no other command can be accepted
- While POWER OFF command is executing (including cooling time), no other command can be accepted
# UNRESOLVED: power-on sequencing requirements, voltage/power specifications not in source
Notes
Command format: 20h 88h <ID1> <ID2> 0Ch <DATA01>-<DATA12> <CKS> for queries; 22h <CMD> <ID1> <ID2> <LEN> <DATA> <CKS> for commands. Responses use A2h prefix for errors, 23h for data responses, A3h for query errors. Checksum is low-order byte of sum of all preceding bytes.
The source appendix "Supplementary Information by Command" (input terminal values, aspect values, eco mode values) is referenced but not included in this document.
Provenance
source_domains:
- sharpdisplays.eu
source_urls:
- https://www.sharpdisplays.eu/p/download/cp/Products/Projectors/Shared/CommandLists/NEC-ExternalControlManual-english.pdf
retrieved_at: 2026-04-29T13:53:40.414Z
last_checked_at: 2026-06-02T22:12:39.512Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:12:39.512Z
matched_actions: 32
action_count: 32
confidence: medium
summary: "All 32 spec actions traced to source (dip-safe re-verify). (10 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "wireless LAN unit control details not in source"
- "flow control not specified in source"
- "commands 009, 037 series, 050, 053-1, 053-7, 060-1, 078 series, 084, 097 series, 098-8, 098-45, 098-198, 098-243-1, 305 series, 319-10 fully documented in source but not enumerated above for brevity"
- "most settings are controlled via action commands; no distinct"
- "no unsolicited event/notification mechanism described in source"
- "no explicit multi-step macro sequences documented in source"
- "power-on sequencing requirements, voltage/power specifications not in source"
- "appendix values for input terminals, aspect ratios, eco mode settings not in source document"
- "wireless LAN control details not in source"
- "firmware version compatibility not stated in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0