Summary
NEC NP-M Series projectors support both RS-232 and wired LAN control. TCP/IP communication uses port 7142. Serial communication supports baud rates from 4800 to 115200 bps. The protocol uses binary command packets with checksum, supporting power control, input routing, picture/sound adjustment, mute, lens control, and query commands.
Transport
protocols:
- tcp
- serial
addressing:
port: 7142 # stated: "Use TCP port number 7142 for sending and receiving commands"
serial:
baud_rate: null # UNRESOLVED: multiple baud rates supported (115200/38400/19200/9600/4800); no default stated
data_bits: 8 # stated: "Data length 8 bits"
parity: none # stated: "Parity bit None"
stop_bits: 1 # stated: "Stop bit 1 bit"
flow_control: null # UNRESOLVED: flow control not mentioned in source
auth:
type: none # inferred: no auth/login procedure described in source
Traits
- powerable # power_on / power_off commands present
- routable # input switch command present (018)
- queryable # multiple query commands present (error status, info request, lamp info, etc.)
- levelable # volume adjust, picture adjust commands present
Actions
- id: power_on
label: Power On
kind: action
params: []
notes: "Command: 02h 00h 00h 00h 00h 02h. While turning on, no other command accepted."
- id: power_off
label: Power Off
kind: action
params: []
notes: "Command: 02h 01h 00h 00h 00h 03h. While turning off (including cooling), no other command accepted."
- id: input_switch
label: Input Switch
kind: action
params:
- name: input
type: integer
description: Input terminal code (hex). Model-specific; see appendix for mapping.
notes: "Command: 02h 03h 00h 00h 02h 01h <DATA01> <CKS>. Response includes execution result 00h=success, FFh=error."
- id: picture_mute_on
label: Picture Mute On
kind: action
params: []
notes: "Command: 02h 10h 00h 00h 00h 12h. Automatically cleared by input or video signal switch."
- id: picture_mute_off
label: Picture Mute Off
kind: action
params: []
- id: sound_mute_on
label: Sound Mute On
kind: action
params: []
notes: "Command: 02h 12h 00h 00h 00h 14h. Automatically cleared by input switch, video signal switch, or volume adjustment."
- id: sound_mute_off
label: Sound Mute Off
kind: action
params: []
- id: onscreen_mute_on
label: Onscreen Mute On
kind: action
params: []
notes: "Command: 02h 14h 00h 00h 00h 16h. Automatically cleared by input or video signal switch."
- id: onscreen_mute_off
label: Onscreen Mute Off
kind: action
params: []
- id: picture_adjust
label: Picture Adjust
kind: action
params:
- name: target
type: integer
description: "00h=Brightness, 01h=Contrast, 02h=Color, 03h=Hue, 04h=Sharpness"
- name: mode
type: integer
description: "00h=absolute, 01h=relative"
- name: value
type: integer
description: Signed 16-bit adjustment value
notes: "Command: 03h 10h 00h 00h 05h <target> <mode> <value_low> <value_high> <CKS>"
- id: volume_adjust
label: Volume Adjust
kind: action
params:
- name: mode
type: integer
description: "00h=absolute, 01h=relative"
- name: value
type: integer
description: Signed 16-bit adjustment value
notes: "Command: 03h 10h 00h 00h 05h 05h <mode> <value_low> <value_high> <CKS>"
- id: aspect_adjust
label: Aspect Adjust
kind: action
params:
- name: aspect
type: integer
description: Aspect ratio code (see appendix for model-specific values; common: 00h=AUTO, 01h=WIDE ZOOM, 02h=16:9, 03h=NATIVE, 04h=4:3)
notes: "Command: 03h 10h 00h 00h 05h 18h 00h 00h <DATA01> 00h <CKS>"
- id: other_adjust
label: Lamp/Light Adjust
kind: action
params:
- name: target
type: integer
description: "96h FFh = LAMP ADJUST / LIGHT ADJUST"
- name: mode
type: integer
description: "00h=absolute, 01h=relative"
- name: value
type: integer
description: Signed 16-bit adjustment value
notes: "Command: 03h 10h 00h 00h 05h 96h FFh <mode> <value_low> <value_high> <CKS>"
- id: remote_key_code
label: Remote Key Code
kind: action
params:
- name: key_code
type: integer
description: Key code value. Examples: 02h=POWER ON, 03h=POWER OFF, 05h=AUTO, 06h=MENU, 07h=UP, 08h=DOWN, 09h=RIGHT, 0Ah=LEFT, 0Bh=ENTER, 0Ch=EXIT
notes: "Command: 02h 0Fh 00h 00h 02h <DATA01> <DATA02> <CKS>. DATA01/DATA02 are key code bytes."
- id: shutter_close
label: Shutter Close
kind: action
params: []
notes: "Command: 02h 16h 00h 00h 00h 18h"
- id: shutter_open
label: Shutter Open
kind: action
params: []
notes: "Command: 02h 17h 00h 00h 00h 19h"
- id: lens_control
label: Lens Control
kind: action
params:
- name: target
type: integer
description: "00h=Zoom, 01h=Focus, 02h=Lens Shift (H), 03h=Lens Shift (V), 06h=Periphery Focus"
- name: direction
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"
notes: "Command: 02h 18h 00h 00h 02h <DATA01> <DATA02> <CKS>. Send 00h after 7Fh or 81h to stop."
- id: lens_control_2
label: Lens Control 2
kind: action
params:
- name: target
type: integer
description: "00h=Zoom, 01h=Focus, 02h=Lens Shift (H), 03h=Lens Shift (V), FFh=Stop"
- name: mode
type: integer
description: "00h=absolute, 02h=relative"
- name: value
type: integer
description: 16-bit position value
notes: "Command: 02h 1Dh 00h 00h 04h <DATA01> <DATA02> <DATA03> <DATA04> <CKS>"
- id: lens_memory_control
label: Lens Memory Control
kind: action
params:
- name: operation
type: integer
description: "00h=MOVE, 01h=STORE, 02h=RESET"
notes: "Command: 02h 1Eh 00h 00h 01h <DATA01> <CKS>"
- id: reference_lens_memory_control
label: Reference Lens Memory Control
kind: action
params:
- name: operation
type: integer
description: "00h=MOVE, 01h=STORE, 02h=RESET"
notes: "Controls profile number specified by LENS PROFILE SET (053-10). Command: 02h 1Fh 00h 00h 01h <DATA01> <CKS>"
- id: lens_memory_option_set
label: Lens Memory Option Set
kind: action
params:
- name: target
type: integer
description: "00h=LOAD BY SIGNAL, 01h=FORCED MUTE"
- name: value
type: integer
description: "00h=OFF, 01h=ON"
notes: "Command: 02h 21h 00h 00h 02h <DATA01> <DATA02> <CKS>"
- id: lens_profile_set
label: Lens Profile Set
kind: action
params:
- name: profile
type: integer
description: "00h=Profile 1, 01h=Profile 2"
notes: "Command: 02h 27h 00h 00h 01h <DATA01> <CKS>"
- id: eco_mode_set
label: Eco Mode Set
kind: action
params:
- name: mode
type: integer
description: "00h=OFF/Normal, 01h=ON/Auto Eco, 02h=Normal/ECO1, 03h=ECO2, 04h=Long Life, 05h=Boost, 06h=Silent"
notes: "Command: 03h B1h 00h 00h 02h 07h <DATA01> <CKS>"
- id: lan_projector_name_set
label: LAN Projector Name Set
kind: action
params:
- name: name
type: string
description: Projector name (up to 16 bytes, null-terminated)
notes: "Command: 03h B1h 00h 00h 12h 2Ch <DATA01>-<DATA16> 00h <CKS>"
- id: pip_mode_set
label: PIP/Picture by Picture Set
kind: action
params:
- name: target
type: integer
description: "00h=MODE, 01h=START POSITION, 02h=SUB INPUT/SUB INPUT 1, 09h=SUB INPUT 2, 0Ah=SUB INPUT 3"
- name: value
type: integer
description: Target-specific value (mode: 00h=PIP, 01h=PICTURE BY PICTURE; position: 00h=TOP-LEFT, 01h=TOP-RIGHT, 02h=BOTTOM-LEFT, 03h=BOTTOM-RIGHT)
notes: "Command: 03h B1h 00h 00h 03h C5h <DATA01> <DATA02> <CKS>"
- id: edge_blending_mode_set
label: Edge Blending Mode Set
kind: action
params:
- name: enabled
type: integer
description: "00h=OFF, 01h=ON"
notes: "Command: 03h B1h 00h 00h 03h DFh 00h <DATA01> <CKS>"
- id: freeze_control
label: Freeze Control
kind: action
params:
- name: state
type: integer
description: "01h=On, 02h=Off"
notes: "Command: 01h 98h 00h 00h 01h <DATA01> <CKS>"
- id: audio_select_set
label: Audio Select Set
kind: action
params:
- name: input
type: integer
description: Input terminal code (see appendix for model-specific values)
- name: source
type: integer
description: "00h=terminal in DATA01, 02h=COMPUTER"
notes: "Command: 03h C9h 00h 00h 03h 09h <DATA01> <DATA02> <CKS>"
Feedbacks
- id: error_status
label: Error Status Request
type: object
properties:
- name: data01
type: object
description: "Bit0=Cover error, Bit1=Temperature error, Bit2=reserved, Bit3=Fan error, Bit4=Fan error, Bit5=Power error, Bit6=Lamp off, Bit7=Lamp moratorium"
- name: data02
type: object
description: "Bit0=Lamp time exceeded, Bit1=Formatter error, Bit2=Lamp2 off, Bit3=reserved, Bit4=reserved, Bit5=reserved, Bit6=reserved, Bit7=extend status"
- name: data03
type: object
description: "Bit0=reserved, Bit1=FPGA error, Bit2=Temperature sensor error, Bit3=Lamp not present, Bit4=Lamp data error, Bit5=Mirror cover error, Bit6=Lamp2 moratorium, Bit7=Lamp2 time exceeded"
- name: data04
type: object
description: "Bit0=Lamp2 not present, Bit1=Lamp2 data error, Bit2=Dust temperature error, Bit3=Foreign matter sensor, Bit7=Lens not installed"
notes: "Command: 00h 88h 00h 00h 00h 88h. Response: 20h 88h <ID1> <ID2> 0Ch <DATA01>-<DATA12> <CKS>"
- id: power_state
label: Running Status Request
type: object
properties:
- name: power_status
type: enum
values: ["00h=Standby", "01h=Power on", "FFh=Not supported"]
- name: cooling
type: enum
values: ["00h=Not executed", "01h=During execution", "FFh=Not supported"]
- name: power_on_off_process
type: enum
values: ["00h=Not executed", "01h=During execution", "FFh=Not supported"]
- name: operation_status
type: enum
values: ["00h=Standby(Sleep)", "04h=Power on", "05h=Cooling", "06h=Standby(error)", "0Fh=Standby(Power saving)", "10h=Network standby", "FFh=Not supported"]
notes: "Command: 00h 85h 00h 00h 01h 01h 87h. Response: 20h 85h <ID1> <ID2> 10h <DATA01>-<DATA16> <CKS>"
- id: input_status
label: Input Status Request
type: object
properties:
- name: signal_switch_process
type: enum
values: ["00h=Not executed", "01h=During execution", "FFh=Not supported"]
- name: signal_list_number
type: integer
description: Add 1 to get actual signal list number
- name: selection_signal_type_1
type: enum
values: ["01h-05h=1-5"]
- name: selection_signal_type_2
type: enum
values: ["01h=COMPUTER", "02h=VIDEO", "03h=S-VIDEO", "04h=COMPONENT", "05h=Reserved", "07h=VIEWER(1-5)", "20h=DVI-D", "21h=HDMI", "22h=DisplayPort", "23h=VIEWER(6-10)", "FFh=Not Source Input"]
- name: content_displayed
type: enum
values: ["00h=Video signal", "01h=No signal", "02h=Viewer", "03h=Test pattern", "04h=LAN displayed", "FFh=Not supported"]
notes: "Command: 00h 85h 00h 00h 01h 02h 88h"
- id: mute_status
label: Mute Status Request
type: object
properties:
- name: picture_mute
type: enum
values: ["00h=Off", "01h=On", "FFh=Not supported"]
- name: sound_mute
type: enum
values: ["00h=Off", "01h=On", "FFh=Not supported"]
- name: onscreen_mute
type: enum
values: ["00h=Off", "01h=On", "FFh=Not supported"]
- name: forced_onscreen_mute
type: enum
values: ["00h=Off", "01h=On", "FFh=Not supported"]
- name: onscreen_display
type: enum
values: ["00h=Not displayed", "01h=Displayed", "FFh=Not supported"]
notes: "Command: 00h 85h 00h 00h 01h 03h 89h"
- id: model_name
label: Model Name Request
type: string
notes: "Command: 00h 85h 00h 00h 01h 04h 8Ah. Response: 20h 85h <ID1> <ID2> 20h <DATA01>-<DATA32> <CKS> (null-terminated string)"
- id: cover_status
label: Cover Status Request
type: enum
values: ["00h=Normal (cover opened)", "01h=Cover closed"]
notes: "Command: 00h 85h 00h 00h 01h 05h 8Bh"
- id: projector_info
label: Information Request
type: object
properties:
- name: projector_name
type: string
description: Null-terminated string (DATA01-49)
- name: lamp_usage_time
type: integer
description: Seconds (DATA83-86), updated at 1-minute intervals
- name: filter_usage_time
type: integer
description: Seconds (DATA87-90), updated at 1-minute intervals
notes: "Command: 03h 8Ah 00h 00h 00h 8Dh"
- id: filter_usage_info
label: Filter Usage Information Request
type: object
properties:
- name: filter_usage_time
type: integer
description: Seconds (DATA01-04)
- name: filter_alarm_start_time
type: integer
description: Seconds (DATA05-08), returns -1 if not defined
notes: "Command: 03h 95h 00h 00h 00h 98h"
- id: lamp_info_3
label: Lamp Information Request 3
type: object
properties:
- name: target
type: enum
values: ["00h=Lamp 1", "01h=Lamp 2"]
- name: content
type: enum
values: ["01h=Lamp usage time (seconds)", "04h=Lamp remaining life (%)"]
- name: value
type: integer
description: Seconds or percentage depending on content requested
notes: "Command: 03h 96h 00h 00h 02h <DATA01> <DATA02> <CKS>. Returns negative lamp life if replacement deadline exceeded."
- id: carbon_savings_info
label: Carbon Savings Information Request
type: object
properties:
- name: target
type: enum
values: ["00h=Total Carbon Savings", "01h=Carbon Savings during operation"]
- name: carbon_kg
type: number
description: Kilograms (DATA02-05), max 99999
- name: carbon_mg
type: number
description: Milligrams (DATA06-09), max 999999
notes: "Command: 03h 9Ah 00h 00h 01h <DATA01> <CKS>"
- id: lens_position_request
label: Lens Control Request
type: object
properties:
- name: target
type: enum
values: ["00h=Zoom", "01h=Focus", "02h=Lens Shift (H)", "03h=Lens Shift (V)"]
- name: upper_limit
type: integer
description: 16-bit value (DATA02-03)
- name: lower_limit
type: integer
description: 16-bit value (DATA04-05)
- name: current_value
type: integer
description: 16-bit value (DATA06-07)
notes: "Command: 02h 1Ch 00h 00h 02h <DATA01> 00h <CKS>"
- id: lens_memory_option_request
label: Lens Memory Option Request
type: object
properties:
- name: target
type: enum
values: ["00h=LOAD BY SIGNAL", "01h=FORCED MUTE"]
- name: value
type: enum
values: ["00h=OFF", "01h=ON"]
notes: "Command: 02h 20h 00h 00h 01h <DATA01> <CKS>"
- id: lens_profile_request
label: Lens Profile Request
type: enum
values: ["00h=Profile 1", "01h=Profile 2"]
notes: "Command: 02h 28h 00h 00h 00h 2Ah"
- id: gain_parameter_request_3
label: Gain Parameter Request 3
type: object
properties:
- name: status
type: enum
values: ["00h=Display not possible", "01h=Adjustment not possible", "02h=Adjustment possible", "FFh=Specified gain does not exist"]
- name: upper_limit
type: integer
description: 16-bit (DATA02-03)
- name: lower_limit
type: integer
description: 16-bit (DATA04-05)
- name: default_value
type: integer
description: 16-bit (DATA06-07)
- name: current_value
type: integer
description: 16-bit (DATA08-09)
- name: default_valid
type: boolean
description: "DATA14: 00h=invalid, 01h=valid"
notes: "Command: 03h 05h 00h 00h 03h <DATA01> 00h 00h <CKS>. DATA01 targets: 00h=PICTURE/BRIGHTNESS, 01h=CONTRAST, 02h=COLOR, 03h=HUE, 04h=SHARPNESS, 05h=VOLUME, 96h=LAMP ADJUST/LIGHT ADJUST"
- id: setting_request
label: Setting Request
type: object
properties:
- name: base_model_type
type: string
description: "DATA01-03"
- name: sound_function
type: enum
values: ["00h=Not available", "01h=Available"]
- name: profile_number
type: enum
values: ["00h=Not available", "01h=Clock function", "02h=Sleep timer function", "03h=Clock and Sleep timer"]
notes: "Command: 00h 85h 00h 00h 01h 00h 86h"
- id: information_string_request
label: Information String Request
type: object
properties:
- name: type
type: enum
values: ["03h=Horizontal synchronous frequency", "04h=Vertical synchronous frequency"]
- name: string
type: string
description: Null-terminated information string
notes: "Command: 00h D0h 00h 00h 03h 00h <DATA01> 01h <CKS>"
- id: eco_mode_request
label: Eco Mode Request
type: integer
notes: "Command: 03h B0h 00h 00h 01h 07h BBh. Returns mode value; some models return Light/Lamp mode instead."
- id: lan_projector_name_request
label: LAN Projector Name Request
type: string
notes: "Command: 03h B0h 00h 00h 01h 2Ch E0h. Response: 23h B0h <ID1> <ID2> 12h 2Ch <DATA01>-<DATA17> (null-terminated)"
- id: lan_mac_address_request
label: LAN MAC Address Status Request 2
type: string
notes: "Command: 03h B0h 00h 00h 02h 9Ah 00h 4Fh. Returns 6-byte MAC address."
- id: pip_mode_request
label: PIP/Picture by Picture Request
type: object
properties:
- name: target
type: enum
values: ["00h=MODE", "01h=START POSITION", "02h=SUB INPUT/SUB INPUT 1", "09h=SUB INPUT 2", "0Ah=SUB INPUT 3"]
- name: value
type: integer
description: Target-specific value
notes: "Command: 03h B0h 00h 00h 02h C5h <DATA01> <CKS>"
- id: edge_blending_mode_request
label: Edge Blending Mode Request
type: enum
values: ["00h=OFF", "01h=ON"]
notes: "Command: 03h B0h 00h 00h 02h DFh 00h 94h"
- id: base_model_type_request
label: Base Model Type Request
type: string
notes: "Command: 00h BFh 00h 00h 01h 00h C0h"
- id: serial_number_request
label: Serial Number Request
type: string
notes: "Command: 00h BFh 00h 00h 02h 01h 06h C8h. Returns 16-byte null-terminated string."
- id: basic_info_request
label: Basic Information Request
type: object
properties:
- name: operation_status
type: enum
values: ["00h=Standby(Sleep)", "04h=Power on", "05h=Cooling", "06h=Standby(error)", "0Fh=Standby(Power saving)", "10h=Network standby"]
- name: content_displayed
type: enum
values: ["00h=Video signal", "01h=No signal", "02h=Viewer", "03h=Test pattern", "04h=LAN", "05h=Test pattern (user)", "10h=Signal being switched"]
- name: selection_signal_type_1
type: enum
values: ["01h-05h=1-5"]
- name: selection_signal_type_2
type: enum
values: ["01h=COMPUTER", "02h=VIDEO", "03h=S-VIDEO", "04h=COMPONENT", "05h=Reserved", "07h=VIEWER(1-5)", "20h=DVI-D", "21h=HDMI", "22h=DisplayPort", "23h=VIEWER(6-10)", "FFh=Not Source Input"]
- name: video_mute
type: enum
values: ["00h=Off", "01h=On"]
- name: sound_mute
type: enum
values: ["00h=Off", "01h=On"]
- name: onscreen_mute
type: enum
values: ["00h=Off", "01h=On"]
- name: freeze_status
type: enum
values: ["00h=Off", "01h=On"]
notes: "Command: 00h BFh 00h 00h 01h 02h C2h"
Variables
# All settable parameters are covered under Actions. No separate Variables section needed.
# UNRESOLVED: whether discrete numeric parameters (e.g., network IP, DHCP enable) have dedicated set commands not listed in this document
Events
# UNRESOLVED: the source describes only query-response interaction; no unsolicited event messages documented
Macros
# UNRESOLVED: no explicit multi-step macros documented in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source documents power on/off command behavior and interlock switch status (DATA09 Bit1),
# but no explicit safety confirmation procedures or interlock sequences are described in the source.
# Note: some models cannot receive commands in standby mode (see standby mode setting in appendix).
Notes
Protocol structure: All commands are binary packets with format: [HEADER] [MODEL CODE] [CMD1] [CMD2] [DATA LEN] [DATA...] [CKS]. Checksum is low-order byte of sum of all preceding bytes.
Response format: Success responses vary by command type (22h, 23h, etc.). Failure responses use pattern A0h/A1h/A2h/A3h + model code + 02h + ERR1 + ERR2 + CKS.
Error codes: ERR1/ERR2 combination indicates error type. Notable: 02h 0Dh = power is off (command cannot be accepted); 02h 0Fh = no authority for operation.
Serial configuration: Multiple baud rates supported (115200/38400/19200/9600/4800 bps). No single default stated — implementation may need to auto-detect or configure explicitly.
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:52:07.823Z
last_checked_at: 2026-06-02T22:10:50.557Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:10:50.557Z
matched_actions: 28
action_count: 28
confidence: medium
summary: "All 28 spec actions traced to source (dip-safe re-verify). (11 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "full model-specific input terminal mappings not fully populated; only representative models documented in appendix"
- "multiple baud rates supported (115200/38400/19200/9600/4800); no default stated"
- "flow control not mentioned in source"
- "whether discrete numeric parameters (e.g., network IP, DHCP enable) have dedicated set commands not listed in this document"
- "the source describes only query-response interaction; no unsolicited event messages documented"
- "no explicit multi-step macros documented in source"
- "source documents power on/off command behavior and interlock switch status (DATA09 Bit1),"
- "PORT NUMBERS for wired LAN service — only port 7142 stated; no HTTP/REST endpoints documented"
- "Authentication mechanism for LAN control — no login/password procedure described in source"
- "Firmware version compatibility — source does not state version ranges"
- "Full input terminal code mappings for all models — appendix only covers listed models; other NP-M variants may differ"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0