Summary

Control spec for Sharp-NEC Ec091 projector over RS-232C (PC CONTROL port, D-SUB 9P) and wired LAN (TCP port 7142). Covers power, input switching, picture/sound/onscreen mute, picture and lens adjustments, shutter, lens memory, status, information, and network commands. Source: Sharp/NEC Projector Control Command Reference Manual (BDT140013 Revision 7.1).

Transport

protocols:
  - serial
  - tcp
serial:
  baud_rate: 115200  # source lists 115200/38400/19200/9600/4800 bps; 115200 is the highest listed
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: UNRESOLVED  # source specifies full duplex but does not specify flow control
addressing:
  port: 7142
auth:
  type: UNRESOLVED  # source does not specify an authentication procedure

Traits

- powerable       # inferred from POWER ON / POWER OFF commands
- routable        # inferred from INPUT SW CHANGE and PIP/PBP commands
- queryable       # inferred from REQUEST commands (status, information, gain)
- levelable       # inferred from PICTURE ADJUST, VOLUME ADJUST, ASPECT ADJUST, OTHER ADJUST

Actions

# All commands use the frame: SOH TYPE ID1 ID2 LEN DATA... CKS, where CKS = low byte of sum of all preceding bytes.
# IDs ID1 (control ID) and ID2 (model code) are model-specific and inserted by the controller.
# Empty DATA slot rendered as 00h unless otherwise documented.

- id: error_status_request
  label: Error Status Request
  kind: query
  command: "00 88 00 00 00 88"
  params: []

- id: power_on
  label: Power On
  kind: action
  command: "02 00 00 00 00 02"
  params: []

- id: power_off
  label: Power Off
  kind: action
  command: "02 01 00 00 00 03"
  params: []

- id: input_sw_change
  label: Input Switch Change
  kind: action
  command: "02 03 00 00 02 01 {DATA01} {CKS}"  # DATA01 = input terminal hex (see appendix)
  params:
    - name: input
      type: string
      description: Input terminal hex code (e.g. 06h for video port; see source appendix for full list)

- id: picture_mute_on
  label: Picture Mute On
  kind: action
  command: "02 10 00 00 00 12"
  params: []

- id: picture_mute_off
  label: Picture Mute Off
  kind: action
  command: "02 11 00 00 00 13"
  params: []

- id: sound_mute_on
  label: Sound Mute On
  kind: action
  command: "02 12 00 00 00 14"
  params: []

- id: sound_mute_off
  label: Sound Mute Off
  kind: action
  command: "02 13 00 00 00 15"
  params: []

- id: onscreen_mute_on
  label: Onscreen Mute On
  kind: action
  command: "02 14 00 00 00 16"
  params: []

- id: onscreen_mute_off
  label: Onscreen Mute Off
  kind: action
  command: "02 15 00 00 00 17"
  params: []

- id: picture_adjust
  label: Picture Adjust
  kind: action
  command: "03 10 00 00 05 {DATA01} FF {DATA02} {DATA03} {DATA04} {CKS}"
  params:
    - name: target
      type: string
      description: Adjustment target hex (00h brightness, 01h contrast, 02h color, 03h hue, 04h sharpness)
    - name: mode
      type: string
      description: Adjustment mode (00h absolute, 01h relative)
    - name: value
      type: integer
      description: Adjustment value as signed 16-bit little-endian (DATA03 low byte, DATA04 high byte)

- id: volume_adjust
  label: Volume Adjust
  kind: action
  command: "03 10 00 00 05 05 00 {DATA01} {DATA02} {DATA03} {CKS}"
  params:
    - name: mode
      type: string
      description: Adjustment mode (00h absolute, 01h relative)
    - name: value
      type: integer
      description: Volume adjustment value as signed 16-bit little-endian (DATA02 low byte, DATA03 high byte)

- id: aspect_adjust
  label: Aspect Adjust
  kind: action
  command: "03 10 00 00 05 18 00 00 {DATA01} 00 {CKS}"
  params:
    - name: aspect
      type: string
      description: Aspect value hex (see source appendix)

- id: other_adjust
  label: Other Adjust (Lamp/Light Adjust)
  kind: action
  command: "03 10 00 00 05 {DATA01} {DATA02} {DATA03} {DATA04} {DATA05} {CKS}"
  params:
    - name: target_hi
      type: string
      description: DATA01 (96h for LAMP ADJUST / LIGHT ADJUST)
    - name: target_lo
      type: string
      description: DATA02 (FFh for LAMP ADJUST / LIGHT ADJUST)
    - name: mode
      type: string
      description: Adjustment mode (00h absolute, 01h relative)
    - name: value
      type: integer
      description: Adjustment value as signed 16-bit little-endian (DATA04 low byte, DATA05 high byte)

- id: information_request
  label: Information Request
  kind: query
  command: "03 8A 00 00 00 8D"
  params: []

- id: filter_usage_information_request
  label: Filter Usage Information Request
  kind: query
  command: "03 95 00 00 00 98"
  params: []

- id: lamp_information_request_3
  label: Lamp Information Request 3
  kind: query
  command: "03 96 00 00 02 {DATA01} {DATA02} {CKS}"
  params:
    - name: lamp
      type: string
      description: Lamp selector (00h lamp 1, 01h lamp 2)
    - name: content
      type: string
      description: Content selector (01h usage time seconds, 04h remaining life percent)

- id: carbon_savings_information_request
  label: Carbon Savings Information Request
  kind: query
  command: "03 9A 00 00 01 {DATA01} {CKS}"
  params:
    - name: kind
      type: string
      description: Carbon savings selector (00h total, 01h during operation)

- id: remote_key_code
  label: Remote Key Code
  kind: action
  command: "02 0F 00 00 02 {DATA01} {DATA02} {CKS}"
  params:
    - name: key
      type: string
      description: Key code pair (DATA01,DATA02) from key code list (e.g. 05h 00h AUTO, 02h 00h POWER ON)

- id: shutter_close
  label: Shutter Close
  kind: action
  command: "02 16 00 00 00 18"
  params: []

- id: shutter_open
  label: Shutter Open
  kind: action
  command: "02 17 00 00 00 19"
  params: []

- id: lens_control
  label: Lens Control
  kind: action
  command: "02 18 00 00 02 {DATA01} {DATA02} {CKS}"
  params:
    - name: target
      type: string
      description: Lens target (06h Periphery Focus; others listed in source appendix)
    - name: direction
      type: string
      description: Drive direction/duration (00h stop, 01h/02h/03h timed plus, 7Fh continuous plus, 81h continuous minus, FDh/FEh/FFh timed minus)

- id: lens_control_request
  label: Lens Control Request
  kind: query
  command: "02 1C 00 00 02 {DATA01} 00 {CKS}"
  params:
    - name: target
      type: string
      description: Lens target selector (see source appendix)

- id: lens_control_2
  label: Lens Control 2
  kind: action
  command: "02 1D 00 00 04 {DATA01} {DATA02} {DATA03} {DATA04} {CKS}"
  params:
    - name: control
      type: string
      description: FFh = stop; else ignored
    - name: mode
      type: string
      description: Adjustment mode (00h absolute, 02h relative)
    - name: value
      type: integer
      description: Adjustment value as signed 16-bit little-endian

- id: lens_memory_control
  label: Lens Memory Control
  kind: action
  command: "02 1E 00 00 01 {DATA01} {CKS}"
  params:
    - name: op
      type: string
      description: Operation (00h MOVE, 01h STORE, 02h RESET)

- id: reference_lens_memory_control
  label: Reference Lens Memory Control
  kind: action
  command: "02 1F 00 00 01 {DATA01} {CKS}"
  params:
    - name: op
      type: string
      description: Operation (00h MOVE, 01h STORE, 02h RESET)

- id: lens_memory_option_request
  label: Lens Memory Option Request
  kind: query
  command: "02 20 00 00 01 {DATA01} {CKS}"
  params:
    - name: option
      type: string
      description: Option (00h LOAD BY SIGNAL, 01h FORCED MUTE)

- id: lens_memory_option_set
  label: Lens Memory Option Set
  kind: action
  command: "02 21 00 00 02 {DATA01} {DATA02} {CKS}"
  params:
    - name: option
      type: string
      description: Option (00h LOAD BY SIGNAL, 01h FORCED MUTE)
    - name: value
      type: string
      description: Setting (00h OFF, 01h ON)

- id: lens_information_request
  label: Lens Information Request
  kind: query
  command: "02 22 00 00 01 00 25"
  params: []

- id: lens_profile_set
  label: Lens Profile Set
  kind: action
  command: "02 27 00 00 01 {DATA01} {CKS}"
  params:
    - name: profile
      type: string
      description: Profile number (00h Profile 1, 01h Profile 2)

- id: lens_profile_request
  label: Lens Profile Request
  kind: query
  command: "02 28 00 00 00 2A"
  params: []

- id: gain_parameter_request_3
  label: Gain Parameter Request 3
  kind: query
  command: "03 05 00 00 03 {DATA01} 00 00 {CKS}"
  params:
    - name: gain
      type: string
      description: Gain selector (00h brightness, 01h contrast, 02h color, 03h hue, 04h sharpness, 05h volume, 96h lamp/light adjust)

- id: setting_request
  label: Setting Request
  kind: query
  command: "00 85 00 00 01 00 86"
  params: []

- id: running_status_request
  label: Running Status Request
  kind: query
  command: "00 85 00 00 01 01 87"
  params: []

- id: input_status_request
  label: Input Status Request
  kind: query
  command: "00 85 00 00 01 02 88"
  params: []

- id: mute_status_request
  label: Mute Status Request
  kind: query
  command: "00 85 00 00 01 03 89"
  params: []

- id: model_name_request
  label: Model Name Request
  kind: query
  command: "00 85 00 00 01 04 8A"
  params: []

- id: cover_status_request
  label: Cover Status Request
  kind: query
  command: "00 85 00 00 01 05 8B"
  params: []

- id: freeze_control
  label: Freeze Control
  kind: action
  command: "01 98 00 00 01 {DATA01} {CKS}"
  params:
    - name: state
      type: string
      description: 01h on, 02h off

- id: information_string_request
  label: Information String Request
  kind: query
  command: "00 D0 00 00 03 00 {DATA01} 01 {CKS}"
  params:
    - name: kind
      type: string
      description: Information type (03h horizontal sync frequency, 04h vertical sync frequency)

- id: eco_mode_request
  label: Eco Mode Request
  kind: query
  command: "03 B0 00 00 01 07 BB"
  params: []

- id: lan_projector_name_request
  label: LAN Projector Name Request
  kind: query
  command: "03 B0 00 00 01 2C E0"
  params: []

- id: lan_mac_address_status_request_2
  label: LAN MAC Address Status Request 2
  kind: query
  command: "03 B0 00 00 02 9A 00 4F"
  params: []

- id: pip_pbp_request
  label: PIP/Picture By Picture Request
  kind: query
  command: "03 B0 00 00 02 C5 {DATA01} {CKS}"
  params:
    - name: target
      type: string
      description: PIP/PBP target (00h MODE, 01h START POSITION, 02h SUB INPUT 1, 09h SUB INPUT 2, 0Ah SUB INPUT 3)

- id: edge_blending_mode_request
  label: Edge Blending Mode Request
  kind: query
  command: "03 B0 00 00 02 DF 00 94"
  params: []

- id: eco_mode_set
  label: Eco Mode Set
  kind: action
  command: "03 B1 00 00 02 07 {DATA01} {CKS}"
  params:
    - name: mode
      type: string
      description: Eco mode value (see source appendix)

- id: lan_projector_name_set
  label: LAN Projector Name Set
  kind: action
  command: "03 B1 00 00 12 2C {DATA01..DATA16} 00 {CKS}"
  params:
    - name: name
      type: string
      description: Projector name up to 16 bytes, NUL terminated

- id: pip_pbp_set
  label: PIP/Picture By Picture Set
  kind: action
  command: "03 B1 00 00 03 C5 {DATA01} {DATA02} {CKS}"
  params:
    - name: target
      type: string
      description: PIP/PBP target (00h MODE, 01h START POSITION, 02h SUB INPUT 1, 09h SUB INPUT 2, 0Ah SUB INPUT 3)
    - name: value
      type: string
      description: Setting value hex (see source appendix for sub inputs)

- id: edge_blending_mode_set
  label: Edge Blending Mode Set
  kind: action
  command: "03 B1 00 00 03 DF 00 {DATA01} {CKS}"
  params:
    - name: state
      type: string
      description: 00h off, 01h on

- id: base_model_type_request
  label: Base Model Type Request
  kind: query
  command: "00 BF 00 00 01 00 C0"
  params: []

- id: serial_number_request
  label: Serial Number Request
  kind: query
  command: "00 BF 00 00 02 01 06 C8"
  params: []

- id: basic_information_request
  label: Basic Information Request
  kind: query
  command: "00 BF 00 00 01 02 C2"
  params: []

- id: audio_select_set
  label: Audio Select Set
  kind: action
  command: "03 C9 00 00 03 09 {DATA01} {DATA02} {CKS}"
  params:
    - name: input
      type: string
      description: Input terminal hex (see source appendix)
    - name: source
      type: string
      description: Audio source (00h specified terminal, 01h BNC, 02h COMPUTER)

Feedbacks

- id: error_status
  type: object
  description: 12-byte error bitfield (DATA01-DATA12) covering cover/temperature/fan/power/lamp/formatter/iris/lens-interlock errors.

- id: power_state
  type: enum
  values: [standby_sleep, power_on, standby_error, standby_power_saving, network_standby]
  description: From RUNNING STATUS REQUEST / BASIC INFORMATION REQUEST DATA01 (00h/04h/06h/0Fh/10h).

- id: power_on_process
  type: enum
  values: [not_executed, during_execution, not_supported]
  description: RUNNING STATUS REQUEST DATA05 (00h/01h/FFh).

- id: cooling_process
  type: enum
  values: [not_executed, during_execution, not_supported]
  description: RUNNING STATUS REQUEST DATA04 (00h/01h/FFh).

- id: input_signal_type_1
  type: enum
  values: ["1", "2", "3", "4", "5"]
  description: INPUT STATUS REQUEST DATA03 (01h-05h).

- id: input_signal_type_2
  type: enum
  values: [computer, video, s_video, component, viewer_1_5, dvi_d, hdmi, display_port, viewer_6_10, not_source_input]
  description: INPUT STATUS REQUEST DATA04 (01h/02h/03h/04h/07h/20h/21h/22h/23h/FFh).

- id: content_displayed
  type: enum
  values: [video_signal, no_signal, viewer, test_pattern, lan, test_pattern_user, signal_switching, not_supported]
  description: INPUT STATUS REQUEST / BASIC INFORMATION REQUEST DATA09 / DATA02 (00h/01h/02h/03h/04h/05h/10h/FFh).

- id: picture_mute
  type: enum
  values: [off, on]

- id: sound_mute
  type: enum
  values: [off, on]

- id: onscreen_mute
  type: enum
  values: [off, on]

- id: forced_onscreen_mute
  type: enum
  values: [off, on]

- id: onscreen_display
  type: enum
  values: [not_displayed, displayed]

- id: cover_status
  type: enum
  values: [cover_open, cover_closed]
  description: COVER STATUS REQUEST DATA01 (00h/01h).

- id: freeze_status
  type: enum
  values: [off, on]

- id: video_mute
  type: enum
  values: [off, on]
  description: BASIC INFORMATION REQUEST DATA06.

- id: lamp_usage_time_seconds
  type: integer
  description: Seconds; updated at one-minute intervals. INFORMATION REQUEST DATA83-DATA86 or LAMP INFORMATION REQUEST 3 DATA03-DATA06.

- id: lamp_remaining_life_percent
  type: integer
  description: Percent; negative if replacement deadline exceeded.

- id: filter_usage_time_seconds
  type: integer
  description: Seconds; -1 if undefined.

- id: filter_alarm_start_time_seconds
  type: integer
  description: Seconds; -1 if undefined.

- id: carbon_savings_total_kg
  type: integer
  description: Kilograms, max 99999.

- id: carbon_savings_total_mg
  type: integer
  description: Milligrams, max 999999.

- id: projector_name
  type: string
  description: NUL-terminated; up to 16 bytes via LAN PROJECTOR NAME SET.

- id: mac_address
  type: string
  description: 6-byte MAC from LAN MAC ADDRESS STATUS REQUEST2.

- id: model_name
  type: string
  description: NUL-terminated; up to 32 bytes.

- id: serial_number
  type: string
  description: NUL-terminated; up to 16 bytes.

- id: lens_information
  type: object
  description: Per-target bit flags (stop/during operation) for lens memory, zoom, focus, lens shift H/V.

- id: edge_blending
  type: enum
  values: [off, on]

- id: pip_pbp_mode
  type: enum
  values: [pip, picture_by_picture]
  description: PIP/PBP REQUEST/SET DATA01=00h -> DATA02 (00h/01h).

- id: pip_pbp_start_position
  type: enum
  values: [top_left, top_right, bottom_left, bottom_right]
  description: PIP/PBP REQUEST/SET DATA01=01h -> DATA02 (00h-03h).

- id: basic_information
  type: object
  description: Combined operational snapshot from BASIC INFORMATION REQUEST (operation status, content displayed, signal types, mute flags, freeze status).

- id: input_command_response
  type: string
  description: INPUT SW CHANGE response DATA01 (FFh on error, else input terminal echoed).

Variables

# Discrete settable parameters that map to feedback entries but are exposed as named settings.
- id: eco_mode
  type: enum
  description: Light/Lamp mode value (model-dependent). Set via 098-8 ECO MODE SET, request via 097-8 ECO MODE REQUEST.
  values: []  # UNRESOLVED: enumeration in source appendix not present in this document.

- id: pip_pbp_sub_input_1
  type: enum
  description: Sub input for PIP/PBP SUB INPUT 1 (data01=02h).
  values: []  # UNRESOLVED: sub input values in source appendix not present.

- id: pip_pbp_sub_input_2
  type: enum
  description: Sub input for PIP/PBP SUB INPUT 2 (data01=09h).
  values: []  # UNRESOLVED: sub input values in source appendix not present.

- id: pip_pbp_sub_input_3
  type: enum
  description: Sub input for PIP/PBP SUB INPUT 3 (data01=0Ah).
  values: []  # UNRESOLVED: sub input values in source appendix not present.

- id: input_terminal
  type: enum
  description: Input terminal selector for INPUT SW CHANGE and AUDIO SELECT SET.
  values: []  # UNRESOLVED: input terminal values in source appendix not present.

- id: aspect
  type: enum
  description: Aspect ratio setting for ASPECT ADJUST.
  values: []  # UNRESOLVED: aspect values in source appendix not present.

- id: audio_select_source
  type: enum
  description: Audio source per input terminal (00h specified terminal, 01h BNC, 02h COMPUTER).
  values: [specified_terminal, bnc, computer]

Events

# UNRESOLVED: source documents no unsolicited notification stream; all state is obtained via REQUEST commands.

Macros

# UNRESOLVED: source does not document multi-step macro sequences.

Safety

confirmation_required_for:
  - power_off           # source states: "While this command is turning off the power (including the cooling time), no other command can be accepted."
  - power_on            # source states: "While this command is turning on the power, no other command can be accepted."
interlocks:
  - lens_interlock      # DATA09 Bit1 of extended error status: "The interlock switch is open."
  - cover_interlock     # Cover/lens cover status must be normal for operation (mirror/lens cover status present).
# UNRESOLVED: explicit user-facing safety procedures (lamp replacement moratorium, etc.) are referenced but not detailed in this document.

Notes

  • Frame format (every command): SOH(0x00-0x03 header marker) TYPE ID1 ID2 LEN DATA... CKS. The header byte carries the data-length class (00h = short, 01h/02h/03h = variable).
  • Checksum CKS = low byte of arithmetic sum of all preceding bytes in the frame.
  • ID1 = projector's configured control ID; ID2 = model code (model-specific, must be looked up per device).
  • While POWER ON or POWER OFF is in progress (including lamp cooldown), the projector will not accept any other command.
  • Picture/sound/onscreen mutes are released automatically by input switch or video signal switch (and sound mute also by volume adjustment).
  • Lens continuous-drive direction (7Fh/81h) is stopped by sending 00h for the same target.
  • Information that includes lamp usage time, filter usage time, etc. is sampled at one-minute intervals even though the value may be reported in seconds.
  • Some enumerations (input terminal, aspect, eco mode, PIP sub-input, audio-select terminals, signal types, base model type, remote-key code) are documented as "see Appendix Supplementary Information by Command" — these were not included in the refined source and are marked UNRESOLVED.
  • Document revision: BDT140013 Revision 7.1.

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-08-27T18:11:18.583Z
last_checked_at: 2026-10-07T12:57:50.464Z

Verification Summary

verdict: verified
checked_at: 2026-10-07T12:57:50.464Z
matched_actions: 53
action_count: 53
confidence: medium
summary: "All 53 spec frames match the source's 53 listed commands byte for byte, transport values are supported, and the source is a generic projector reference with no EC091 model named. (8 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "specific input-terminal, aspect, eco-mode, PIP sub-input, audio-select, base-model-type, signal-type and remote-key-code enumerations are referenced from an external appendix not included in the source document."
- "enumeration in source appendix not present in this document."
- "sub input values in source appendix not present."
- "input terminal values in source appendix not present."
- "aspect values in source appendix not present."
- "source documents no unsolicited notification stream; all state is obtained via REQUEST commands."
- "source does not document multi-step macro sequences."
- "explicit user-facing safety procedures (lamp replacement moratorium, etc.) are referenced but not detailed in this document."

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0