Summary

Sharp/NEC projector control spec covering RS-232C serial and wired/wireless LAN (TCP) control. The source is the Projector Control Command Reference Manual (BDT140013 Rev 7.1). Commands are binary hex-framed: <b1> <b2> 00h 00h <LEN> [DATA...] <CKS> for commands, with responses prefixed 2xh (success) or Axh (error) and carrying <ID1> <ID2> plus <ERR1> <ERR2> on failure.

Transport

protocols:
  - tcp
  - serial
addressing:
  port: 7142  # TCP port for command send/receive (stated in source)
serial:
  baud_rate: 115200  # source lists selectable rates: 115200 / 38400 / 19200 / 9600 / 4800 bps
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: null  # UNRESOLVED: flow control not stated in communication conditions table
auth:
  type: none  # inferred: no auth/login procedure in source

Traits

- powerable    # inferred: POWER ON / POWER OFF commands present
- queryable    # inferred: numerous status/information request commands present
- levelable    # inferred: VOLUME ADJUST, PICTURE ADJUST (brightness/contrast/etc.), lens position adjust

Actions

# All command payloads are verbatim hex bytes from the source. CKS = low-order
# one byte of the sum of all preceding bytes (per source checksum rule).
# Response frames: success = 20h/21h/22h/23h <ID1> <ID2> <LEN> [DATA] <CKS>;
# error = A0h/A1h/A2h/A3h <ID1> <ID2> 02h <ERR1> <ERR2> <CKS>.

- id: error_status_request
  label: 009. ERROR STATUS REQUEST
  kind: query
  command: "00h 88h 00h 00h 00h 88h"
  params: []

- id: power_on
  label: 015. POWER ON
  kind: action
  command: "02h 00h 00h 00h 00h 02h"
  params: []

- id: power_off
  label: 016. POWER OFF
  kind: action
  command: "02h 01h 00h 00h 00h 03h"
  params: []

- id: input_sw_change
  label: 018. INPUT SW CHANGE
  kind: action
  command: "02h 03h 00h 00h 02h 01h {DATA01} {CKS}"
  params:
    - name: DATA01
      type: string
      description: "Input terminal value (e.g. 06h = video port; full list in Appendix 'Supplementary Information by Command')"

- id: picture_mute_on
  label: 020. PICTURE MUTE ON
  kind: action
  command: "02h 10h 00h 00h 00h 12h"
  params: []

- id: picture_mute_off
  label: 021. PICTURE MUTE OFF
  kind: action
  command: "02h 11h 00h 00h 00h 13h"
  params: []

- id: sound_mute_on
  label: 022. SOUND MUTE ON
  kind: action
  command: "02h 12h 00h 00h 00h 14h"
  params: []

- id: sound_mute_off
  label: 023. SOUND MUTE OFF
  kind: action
  command: "02h 13h 00h 00h 00h 15h"
  params: []

- id: onscreen_mute_on
  label: 024. ONSCREEN MUTE ON
  kind: action
  command: "02h 14h 00h 00h 00h 16h"
  params: []

- id: onscreen_mute_off
  label: 025. ONSCREEN MUTE OFF
  kind: action
  command: "02h 15h 00h 00h 00h 17h"
  params: []

- id: picture_adjust
  label: 030-1. PICTURE ADJUST
  kind: action
  command: "03h 10h 00h 00h 05h {DATA01} FFh {DATA02} {DATA03} {DATA04} {CKS}"
  params:
    - name: DATA01
      type: string
      description: "Adjustment target: 00h Brightness, 01h Contrast, 02h Color, 03h Hue, 04h Sharpness"
    - name: DATA02
      type: string
      description: "Adjustment mode: 00h absolute, 01h relative"
    - name: DATA03
      type: integer
      description: "Adjustment value (low-order 8 bits)"
    - name: DATA04
      type: integer
      description: "Adjustment value (high-order 8 bits)"

- id: volume_adjust
  label: 030-2. VOLUME ADJUST
  kind: action
  command: "03h 10h 00h 00h 05h 05h 00h {DATA01} {DATA02} {DATA03} {CKS}"
  params:
    - name: DATA01
      type: string
      description: "Adjustment mode: 00h absolute, 01h relative"
    - name: DATA02
      type: integer
      description: "Adjustment value (low-order 8 bits)"
    - name: DATA03
      type: integer
      description: "Adjustment value (high-order 8 bits)"

- id: aspect_adjust
  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 (see Appendix 'Supplementary Information by Command')"

- id: other_adjust
  label: 030-15. OTHER ADJUST
  kind: action
  command: "03h 10h 00h 00h 05h {DATA01} {DATA02} {DATA03} {DATA04} {DATA05} {CKS}"
  params:
    - name: DATA01
      type: string
      description: "Adjustment target high byte (with DATA02); source shows 96h FFh = LAMP ADJUST / LIGHT ADJUST"
    - name: DATA02
      type: string
      description: "Adjustment target low byte (with DATA01); FFh for LAMP/LIGHT ADJUST"
    - name: DATA03
      type: string
      description: "Adjustment mode: 00h absolute, 01h relative"
    - name: DATA04
      type: integer
      description: "Adjustment value (low-order 8 bits)"
    - name: DATA05
      type: integer
      description: "Adjustment value (high-order 8 bits)"

- id: information_request
  label: 037. INFORMATION REQUEST
  kind: query
  command: "03h 8Ah 00h 00h 00h 8Dh"
  params: []

- id: filter_usage_information_request
  label: 037-3. FILTER USAGE INFORMATION REQUEST
  kind: query
  command: "03h 95h 00h 00h 00h 98h"
  params: []

- id: lamp_information_request_3
  label: 037-4. LAMP INFORMATION REQUEST 3
  kind: query
  command: "03h 96h 00h 00h 02h {DATA01} {DATA02} {CKS}"
  params:
    - name: DATA01
      type: string
      description: "Lamp: 00h Lamp 1, 01h Lamp 2 (Lamp 2 effective only on two-lamp models)"
    - name: DATA02
      type: string
      description: "Content: 01h lamp usage time (seconds), 04h lamp remaining life (%)"

- id: carbon_savings_information_request
  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 Carbon Savings, 01h Carbon Savings during operation"

- id: remote_key_code
  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 (WORD type); see key code list (e.g. 02h=POWER ON, 05h=AUTO, 06h=MENU)"
    - name: DATA02
      type: string
      description: "Key code high byte (WORD type); 00h for all listed keys"

- id: shutter_close
  label: 051. SHUTTER CLOSE
  kind: action
  command: "02h 16h 00h 00h 00h 18h"
  params: []

- id: shutter_open
  label: 052. SHUTTER OPEN
  kind: action
  command: "02h 17h 00h 00h 00h 19h"
  params: []

- id: lens_control
  label: 053. LENS CONTROL
  kind: action
  command: "02h 18h 00h 00h 02h {DATA01} {DATA02} {CKS}"
  params:
    - name: DATA01
      type: string
      description: "Lens target; 06h = Periphery Focus"
    - name: DATA02
      type: string
      description: "00h Stop, 01h drive +1s, 02h drive +0.5s, 03h drive +0.25s, 7Fh drive +, 81h drive -, FDh drive -0.25s, FEh drive -0.5s, FFh drive -1s"

- id: lens_control_request
  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 (as in 053 LENS CONTROL)"

- id: lens_control_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: "Lens target; FFh = Stop"
    - name: DATA02
      type: string
      description: "Adjustment mode: 00h absolute, 02h relative"
    - name: DATA03
      type: integer
      description: "Adjustment value (low-order 8 bits)"
    - name: DATA04
      type: integer
      description: "Adjustment value (high-order 8 bits)"

- id: lens_memory_control
  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
  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"

- id: lens_memory_option_request
  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
  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: "Setting value: 00h OFF, 01h ON"

- id: lens_information_request
  label: 053-7. LENS INFORMATION REQUEST
  kind: query
  command: "02h 22h 00h 00h 01h 00h 25h"
  params: []

- id: lens_profile_set
  label: 053-10. LENS PROFILE SET
  kind: action
  command: "02h 27h 00h 00h 01h {DATA01} {CKS}"
  params:
    - name: DATA01
      type: string
      description: "Profile number: 00h Profile 1, 01h Profile 2"

- id: lens_profile_request
  label: 053-11. LENS PROFILE REQUEST
  kind: query
  command: "02h 28h 00h 00h 00h 2Ah"
  params: []

- id: gain_parameter_request_3
  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"

- id: setting_request
  label: 078-1. SETTING REQUEST
  kind: query
  command: "00h 85h 00h 00h 01h 00h 86h"
  params: []

- id: running_status_request
  label: 078-2. RUNNING STATUS REQUEST
  kind: query
  command: "00h 85h 00h 00h 01h 01h 87h"
  params: []

- id: input_status_request
  label: 078-3. INPUT STATUS REQUEST
  kind: query
  command: "00h 85h 00h 00h 01h 02h 88h"
  params: []

- id: mute_status_request
  label: 078-4. MUTE STATUS REQUEST
  kind: query
  command: "00h 85h 00h 00h 01h 03h 89h"
  params: []

- id: model_name_request
  label: 078-5. MODEL NAME REQUEST
  kind: query
  command: "00h 85h 00h 00h 01h 04h 8Ah"
  params: []

- id: cover_status_request
  label: 078-6. COVER STATUS REQUEST
  kind: query
  command: "00h 85h 00h 00h 01h 05h 8Bh"
  params: []

- id: freeze_control
  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
  label: 084. INFORMATION STRING REQUEST
  kind: query
  command: "00h D0h 00h 00h 03h 00h {DATA01} 01h {CKS}"
  params:
    - name: DATA01
      type: string
      description: "Information type: 03h Horizontal sync frequency, 04h Vertical sync frequency"

- id: eco_mode_request
  label: 097-8. ECO MODE REQUEST
  kind: query
  command: "03h B0h 00h 00h 01h 07h BBh"
  params: []

- id: lan_projector_name_request
  label: 097-45. LAN PROJECTOR NAME REQUEST
  kind: query
  command: "03h B0h 00h 00h 01h 2Ch E0h"
  params: []

- id: lan_mac_address_status_request_2
  label: 097-155. LAN MAC ADDRESS STATUS REQUEST2
  kind: query
  command: "03h B0h 00h 00h 02h 9Ah 00h 4Fh"
  params: []

- id: pip_picture_by_picture_request
  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
  label: 097-243-1. EDGE BLENDING MODE REQUEST
  kind: query
  command: "03h B0h 00h 00h 02h DFh 00h 94h"
  params: []

- id: eco_mode_set
  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 (see Appendix 'Supplementary Information by Command')"

- id: lan_projector_name_set
  label: 098-45. LAN PROJECTOR NAME SET
  kind: action
  command: "03h B1h 00h 00h 12h 2Ch {DATA01} - {DATA16} 00h {CKS}"
  params:
    - name: DATA01-DATA16
      type: string
      description: "Projector name (up to 16 bytes, NUL-terminated)"

- id: pip_picture_by_picture_set
  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; start position: 00h TOP-LEFT..03h BOTTOM-RIGHT; sub input value per Appendix)"

- id: edge_blending_mode_set
  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
  label: 305-1. BASE MODEL TYPE REQUEST
  kind: query
  command: "00h BFh 00h 00h 01h 00h C0h"
  params: []

- id: serial_number_request
  label: 305-2. SERIAL NUMBER REQUEST
  kind: query
  command: "00h BFh 00h 00h 02h 01h 06h C8h"
  params: []

- id: basic_information_request
  label: 305-3. BASIC INFORMATION REQUEST
  kind: query
  command: "00h BFh 00h 00h 01h 02h C2h"
  params: []

- id: audio_select_set
  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 (value list in Appendix 'Supplementary Information by Command')"
    - name: DATA02
      type: string
      description: "Setting value: 00h terminal specified in DATA01, 01h BNC, 02h COMPUTER"

Feedbacks

# Success response frame: <2xh> <ID1> <ID2> <LEN> [DATA...] <CKS>
# Error response frame:   <Axh> <ID1> <ID2> 02h <ERR1> <ERR2> <CKS>
# ERR1/ERR2 code pairs documented in source "2.4 Error code list".

- id: power_state
  type: enum
  values: [standby, power_on, cooling, standby_error, standby_power_saving, network_standby]
  source: 078-2 RUNNING STATUS REQUEST / 305-3 BASIC INFORMATION REQUEST (DATA03 / DATA01)

- id: error_status
  type: bitmap
  source: 009 ERROR STATUS REQUEST (DATA01-DATA12 bit fields: cover, fan, temperature, power, lamp off, lamp replacement, formatter, FPGA, mirror cover, interlock switch, system error, iris calibration, lens not installed, etc.)

- id: mute_status
  type: composite
  values: [picture_mute, sound_mute, onscreen_mute, forced_onscreen_mute, onscreen_display]
  source: 078-4 MUTE STATUS REQUEST

- id: cover_status
  type: enum
  values: [normal_open, closed]
  source: 078-6 COVER STATUS REQUEST

- id: lamp_info
  type: composite
  values: [lamp_usage_time_seconds, lamp_remaining_life_percent]
  source: 037-4 LAMP INFORMATION REQUEST 3

- id: input_status
  type: composite
  values: [signal_switch_process, signal_list_number, selection_signal_type, signal_list_type, test_pattern_display, content_displayed]
  source: 078-3 INPUT STATUS REQUEST

- id: lens_operation_status
  type: bitmap
  values: [lens_memory, zoom, focus, lens_shift_h, lens_shift_v]
  source: 053-7 LENS INFORMATION REQUEST

Variables

# Settable continuous/level parameters (set via the *_ADJUST and SET commands above):
# - picture_brightness / contrast / color / hue / sharpness  (030-1 PICTURE ADJUST)
# - sound_volume                                            (030-2 VOLUME ADJUST)
# - aspect                                                  (030-12 ASPECT ADJUST)
# - lamp_adjust / light_adjust                              (030-15 OTHER ADJUST)
# - lens_position                                           (053 / 053-2 LENS CONTROL)
# - eco_mode                                                (098-8 ECO MODE SET)
# - projector_name                                          (098-45 LAN PROJECTOR NAME SET)
# - pip_pbp_mode / start_position / sub_input               (098-198 PIP/PbP SET)
# - edge_blending_mode                                      (098-243-1 EDGE BLENDING MODE SET)
# Ranges/units returned dynamically via 060-1 GAIN PARAMETER REQUEST 3.
# UNRESOLVED: numeric ranges not fixed in source (device-reported at runtime).

Events

# Source documents no unsolicited notifications. Device only responds to commands.
# UNRESOLVED: none applicable.

Macros

# UNRESOLVED: source documents no explicit multi-step command sequences.

Safety

confirmation_required_for: []
interlocks:
  - "While POWER ON is executing, no other command can be accepted."
  - "While POWER OFF is executing (including cooling time), no other command can be accepted."
  - "Picture/Sound/Onscreen mute auto-clear on input terminal switch or video signal switch (sound mute also clears on volume adjustment)."
  - "ERR2 0Dh: command rejected because power is off."
  - "ERR2 0Fh: no authority for the operation."
# UNRESOLVED: no power-on sequencing voltage/current specs in source.

Notes

  • Binary framing: command bytes use leading opcodes 00h-03h; success responses use 20h-23h (matching opcode + 20h); error responses use A0h-A3h. ID1 = control ID of projector, ID2 = model code (varies by model); commands send 00h 00h for these.
  • Checksum (CKS) = low-order one byte of the sum of all preceding bytes. Example: 20h 81h 01h 60h 01h 00h → sum 103h → CKS 03h.
  • Serial cable is a cross (null-modem) cable wired to the PC CONTROL D-SUB 9P port (pinout in source). LAN: RJ-45 10/100 Mbps auto-sensing, TCP port 7142. Wireless LAN requires a separate wireless LAN unit (see its manual).
  • Lamp/filter usage times update at one-minute intervals though reported in one-second units. Negative remaining-life % indicates lamp replacement deadline exceeded.
  • Input-terminal values, aspect values, eco-mode values, base-model-type values, and sub-input values are defined in the source's Appendix "Supplementary Information by Command", which is not present in the refined source text.

## 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-16T09:18:41.757Z
last_checked_at: 2026-06-17T19:42:01.618Z
```

## Verification Summary

```yaml
verdict: verified
checked_at: 2026-06-17T19:42:01.618Z
matched_actions: 53
action_count: 53
confidence: medium
summary: "All 53 spec actions match source commands verbatim; transport parameters verified; bidirectional coverage complete. (10 unresolved item(s) noted in Known Gaps.)"
```

## Known Gaps

```yaml
- "the model name \"Dd Ea242F\" is taken from the input context; the source manual is a generic projector command reference and does not name a specific model. Firmware version compatibility not stated. Input-terminal value tables and several setting-value enumerations are deferred to an Appendix (\"Supplementary Information by Command\") not present in the refined source."
- "flow control not stated in communication conditions table"
- "numeric ranges not fixed in source (device-reported at runtime)."
- "none applicable."
- "source documents no explicit multi-step command sequences."
- "no power-on sequencing voltage/current specs in source."
- "firmware version compatibility not stated in source."
- "model name \"Dd Ea242F\" not literally present in source manual (generic projector reference); confirm exact model string."
- "flow_control for serial not stated in communication conditions table."
- "Appendix value enumerations (input terminal, aspect, eco mode, base model type, sub input) not available in refined source."
```

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