Summary
Sharp/NEC NC1843ML projector control spec derived from the vendor "Projector Control Command Reference Manual" (BDT140013 Rev 7.1). Covers binary RS-232C serial and TCP/IP (port 7142) control: power, input switching, mute, picture/volume/lens adjust, lens memory, shutter, freeze, status queries, error reporting, and LAN/PIP/edge-blend settings. Frame format is binary hex with a trailing checksum byte.
Transport
# Source documents both RS-232C serial and wired/wireless LAN (TCP). Both populated.
# Frame structure (from §2.1/§2.2): [Cat][Cmd][ID1][ID2][LEN][DATA...][CKS].
# Commands in the source use ID1=00h ID2=00h as placeholders; the projector's
# actual control ID (ID1) and model code (ID2) must be substituted, and the
# checksum (CKS) recomputed. CKS = low byte of sum of all preceding bytes.
protocols:
- tcp
- serial
addressing:
port: 7142
serial:
baud_rate: [115200, 38400, 19200, 9600, 4800] # source: selectable
data_bits: 8
parity: none
stop_bits: 1
flow_control: null # UNRESOLVED: flow control not explicitly stated (full-duplex comm mode only)
auth:
type: none # inferred: no auth procedure in source
Traits
# - powerable: POWER ON/OFF commands present (015/016)
# - queryable: numerous status/info request commands present (009, 037 family, 078 family, 097 family, 305 family)
# - levelable: picture/volume/lamp adjust commands present (030-1/030-2/030-15)
traits:
- powerable # inferred from power on/off commands
- queryable # inferred from query commands
- levelable # inferred from volume/picture/gain adjust commands
Actions
# All command byte strings copied verbatim from source. {DATAxx} = parameter
# byte(s); {CKS} = checksum to be computed. ID1/ID2 shown as 00h placeholders.
# kind: query entries request data and receive a data-bearing response.
- id: error_status_request
label: Error Status Request
kind: query
command: "00h 88h 00h 00h 00h 88h"
params: []
- id: power_on
label: Power On
kind: action
command: "02h 00h 00h 00h 00h 02h"
params: []
- id: power_off
label: Power Off
kind: action
command: "02h 01h 00h 00h 00h 03h"
params: []
- id: input_sw_change
label: Input Switch Change
kind: action
command: "02h 03h 00h 00h 02h 01h {DATA01} {CKS}"
params:
- name: input_terminal
type: byte
description: "Input terminal value (DATA01). e.g. 06h = video port. See Appendix 'Supplementary Information by Command'."
- id: picture_mute_on
label: Picture Mute On
kind: action
command: "02h 10h 00h 00h 00h 12h"
params: []
- id: picture_mute_off
label: Picture Mute Off
kind: action
command: "02h 11h 00h 00h 00h 13h"
params: []
- id: sound_mute_on
label: Sound Mute On
kind: action
command: "02h 12h 00h 00h 00h 14h"
params: []
- id: sound_mute_off
label: Sound Mute Off
kind: action
command: "02h 13h 00h 00h 00h 15h"
params: []
- id: onscreen_mute_on
label: Onscreen Mute On
kind: action
command: "02h 14h 00h 00h 00h 16h"
params: []
- id: onscreen_mute_off
label: Onscreen Mute Off
kind: action
command: "02h 15h 00h 00h 00h 17h"
params: []
- id: picture_adjust
label: Picture Adjust
kind: action
command: "03h 10h 00h 00h 05h {DATA01} FFh {DATA02} {DATA03} {DATA04} {CKS}"
params:
- name: target
type: byte
description: "DATA01 adjustment target: 00h=Brightness, 01h=Contrast, 02h=Color, 03h=Hue, 04h=Sharpness"
- name: mode
type: byte
description: "DATA02 mode: 00h=absolute, 01h=relative"
- name: value_low
type: byte
description: "DATA03 adjustment value (low 8 bits)"
- name: value_high
type: byte
description: "DATA04 adjustment value (high 8 bits)"
- id: volume_adjust
label: Volume Adjust
kind: action
command: "03h 10h 00h 00h 05h 05h 00h {DATA01} {DATA02} {DATA03} {CKS}"
params:
- name: mode
type: byte
description: "DATA01 mode: 00h=absolute, 01h=relative"
- name: value_low
type: byte
description: "DATA02 adjustment value (low 8 bits)"
- name: value_high
type: byte
description: "DATA03 adjustment value (high 8 bits)"
- id: aspect_adjust
label: Aspect Adjust
kind: action
command: "03h 10h 00h 00h 05h 18h 00h 00h {DATA01} 00h {CKS}"
params:
- name: aspect_value
type: byte
description: "DATA01 aspect value. See Appendix 'Supplementary Information by Command'."
- id: other_adjust
label: Other Adjust (Lamp/Light)
kind: action
command: "03h 10h 00h 00h 05h {DATA01} {DATA02} {DATA03} {DATA04} {DATA05} {CKS}"
params:
- name: target
type: byte
description: "DATA01/02 target: 96h/FFh = LAMP ADJUST / LIGHT ADJUST"
- name: mode
type: byte
description: "DATA03 mode: 00h=absolute, 01h=relative"
- name: value_low
type: byte
description: "DATA04 adjustment value (low 8 bits)"
- name: value_high
type: byte
description: "DATA05 adjustment value (high 8 bits)"
- id: information_request
label: Information Request
kind: query
command: "03h 8Ah 00h 00h 00h 8Dh"
params: []
- id: filter_usage_information_request
label: Filter Usage Information Request
kind: query
command: "03h 95h 00h 00h 00h 98h"
params: []
- id: lamp_information_request_3
label: Lamp Information Request 3
kind: query
command: "03h 96h 00h 00h 02h {DATA01} {DATA02} {CKS}"
params:
- name: lamp
type: byte
description: "DATA01: 00h=Lamp1, 01h=Lamp2 (two-lamp models only)"
- name: content
type: byte
description: "DATA02: 01h=usage time (s), 04h=remaining life (%)"
- id: carbon_savings_information_request
label: Carbon Savings Information Request
kind: query
command: "03h 9Ah 00h 00h 01h {DATA01} {CKS}"
params:
- name: type
type: byte
description: "DATA01: 00h=Total Carbon Savings, 01h=Carbon Savings during operation"
- id: remote_key_code
label: Remote Key Code
kind: action
command: "02h 0Fh 00h 00h 02h {DATA01} {DATA02} {CKS}"
params:
- name: key_code
type: word
description: "DATA01/DATA02 key code (WORD). e.g. POWER ON=02h/00h, AUTO=05h/00h, MENU=06h/00h, UP=07h/00h, DOWN=08h/00h, VOLUME UP=84h/00h, FREEZE=8Ah/00h, ASPECT=A3h/00h, LAMP MODE/ECO=EEh/00h (full list in source §3.19)."
- id: shutter_close
label: Shutter Close
kind: action
command: "02h 16h 00h 00h 00h 18h"
params: []
- id: shutter_open
label: Shutter Open
kind: action
command: "02h 17h 00h 00h 00h 19h"
params: []
- id: lens_control
label: Lens Control
kind: action
command: "02h 18h 00h 00h 02h {DATA01} {DATA02} {CKS}"
params:
- name: target
type: byte
description: "DATA01 target (e.g. 06h=Periphery Focus; other lens axes per source)"
- name: content
type: byte
description: "DATA02: 00h=Stop, 7Fh=drive plus, 81h=drive minus, 01h/02h/03h=plus 1s/0.5s/0.25s, FFh/FEh/FDh=minus 1s/0.5s/0.25s"
- id: lens_control_request
label: Lens Control Request
kind: query
command: "02h 1Ch 00h 00h 02h {DATA01} 00h {CKS}"
params:
- name: target
type: byte
description: "DATA01 lens target to read adjustment range/current value"
- id: lens_control_2
label: Lens Control 2
kind: action
command: "02h 1Dh 00h 00h 04h {DATA01} {DATA02} {DATA03} {DATA04} {CKS}"
params:
- name: target
type: byte
description: "DATA01 target (FFh=Stop; mode/value ignored when Stop)"
- name: mode
type: byte
description: "DATA02: 00h=absolute, 02h=relative"
- name: value_low
type: byte
description: "DATA03 adjustment value (low 8 bits)"
- name: value_high
type: byte
description: "DATA04 adjustment value (high 8 bits)"
- id: lens_memory_control
label: Lens Memory Control
kind: action
command: "02h 1Eh 00h 00h 01h {DATA01} {CKS}"
params:
- name: action
type: byte
description: "DATA01: 00h=MOVE, 01h=STORE, 02h=RESET"
- id: reference_lens_memory_control
label: Reference Lens Memory Control
kind: action
command: "02h 1Fh 00h 00h 01h {DATA01} {CKS}"
params:
- name: action
type: byte
description: "DATA01: 00h=MOVE, 01h=STORE, 02h=RESET (operates on profile set via LENS PROFILE SET)"
- id: lens_memory_option_request
label: Lens Memory Option Request
kind: query
command: "02h 20h 00h 00h 01h {DATA01} {CKS}"
params:
- name: option
type: byte
description: "DATA01: 00h=LOAD BY SIGNAL, 01h=FORCED MUTE"
- id: lens_memory_option_set
label: Lens Memory Option Set
kind: action
command: "02h 21h 00h 00h 02h {DATA01} {DATA02} {CKS}"
params:
- name: option
type: byte
description: "DATA01: 00h=LOAD BY SIGNAL, 01h=FORCED MUTE"
- name: value
type: byte
description: "DATA02: 00h=OFF, 01h=ON"
- id: lens_information_request
label: Lens Information Request
kind: query
command: "02h 22h 00h 00h 01h 00h 25h"
params: []
- id: lens_profile_set
label: Lens Profile Set
kind: action
command: "02h 27h 00h 00h 01h {DATA01} {CKS}"
params:
- name: profile
type: byte
description: "DATA01: 00h=Profile1, 01h=Profile2"
- id: lens_profile_request
label: Lens Profile Request
kind: query
command: "02h 28h 00h 00h 00h 2Ah"
params: []
- id: gain_parameter_request_3
label: Gain Parameter Request 3
kind: query
command: "03h 05h 00h 00h 03h {DATA01} 00h 00h {CKS}"
params:
- name: name
type: byte
description: "DATA01: 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: "00h 85h 00h 00h 01h 00h 86h"
params: []
- id: running_status_request
label: Running Status Request
kind: query
command: "00h 85h 00h 00h 01h 01h 87h"
params: []
- id: input_status_request
label: Input Status Request
kind: query
command: "00h 85h 00h 00h 01h 02h 88h"
params: []
- id: mute_status_request
label: Mute Status Request
kind: query
command: "00h 85h 00h 00h 01h 03h 89h"
params: []
- id: model_name_request
label: Model Name Request
kind: query
command: "00h 85h 00h 00h 01h 04h 8Ah"
params: []
- id: cover_status_request
label: Cover Status Request
kind: query
command: "00h 85h 00h 00h 01h 05h 8Bh"
params: []
- id: freeze_control
label: Freeze Control
kind: action
command: "01h 98h 00h 00h 01h {DATA01} {CKS}"
params:
- name: state
type: byte
description: "DATA01: 01h=freeze on, 02h=freeze off"
- id: information_string_request
label: Information String Request
kind: query
command: "00h D0h 00h 00h 03h 00h {DATA01} 01h {CKS}"
params:
- name: type
type: byte
description: "DATA01: 03h=horizontal sync freq, 04h=vertical sync freq"
- id: eco_mode_request
label: Eco Mode Request
kind: query
command: "03h B0h 00h 00h 01h 07h BBh"
params: []
- id: lan_projector_name_request
label: LAN Projector Name Request
kind: query
command: "03h B0h 00h 00h 01h 2Ch E0h"
params: []
- id: lan_mac_address_status_request2
label: LAN MAC Address Status Request 2
kind: query
command: "03h B0h 00h 00h 02h 9Ah 00h 4Fh"
params: []
- id: pip_picture_by_picture_request
label: PIP/Picture by Picture Request
kind: query
command: "03h B0h 00h 00h 02h C5h {DATA01} {CKS}"
params:
- name: item
type: byte
description: "DATA01: 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: Edge Blending Mode Request
kind: query
command: "03h B0h 00h 00h 02h DFh 00h 94h"
params: []
- id: eco_mode_set
label: Eco Mode Set
kind: action
command: "03h B1h 00h 00h 02h 07h {DATA01} {CKS}"
params:
- name: value
type: byte
description: "DATA01 eco-mode value. See Appendix 'Supplementary Information by Command'."
- id: lan_projector_name_set
label: LAN Projector Name Set
kind: action
command: "03h B1h 00h 00h 12h 2Ch {DATA01} {DATA02} {DATA03} {DATA04} {DATA05} {DATA06} {DATA07} {DATA08} {DATA09} {DATA10} {DATA11} {DATA12} {DATA13} {DATA14} {DATA15} {DATA16} 00h {CKS}"
params:
- name: name
type: string
description: "DATA01-16 projector name (up to 16 bytes, NUL terminated)"
- id: pip_picture_by_picture_set
label: PIP/Picture by Picture Set
kind: action
command: "03h B1h 00h 00h 03h C5h {DATA01} {DATA02} {CKS}"
params:
- name: item
type: byte
description: "DATA01: 00h=MODE, 01h=START POSITION, 02h=SUB INPUT/SUB INPUT 1, 09h=SUB INPUT 2, 0Ah=SUB INPUT 3"
- name: value
type: byte
description: "DATA02 setting value (MODE: 00h=PIP/01h=PbP; START POSITION: 00-03h; SUB INPUT values per Appendix)"
- id: edge_blending_mode_set
label: Edge Blending Mode Set
kind: action
command: "03h B1h 00h 00h 03h DFh 00h {DATA01} {CKS}"
params:
- name: value
type: byte
description: "DATA01: 00h=OFF, 01h=ON"
- id: base_model_type_request
label: Base Model Type Request
kind: query
command: "00h BFh 00h 00h 01h 00h C0h"
params: []
- id: serial_number_request
label: Serial Number Request
kind: query
command: "00h BFh 00h 00h 02h 01h 06h C8h"
params: []
- id: basic_information_request
label: Basic Information Request
kind: query
command: "00h BFh 00h 00h 01h 02h C2h"
params: []
- id: audio_select_set
label: Audio Select Set
kind: action
command: "03h C9h 00h 00h 03h 09h {DATA01} {DATA02} {CKS}"
params:
- name: input_terminal
type: byte
description: "DATA01 input terminal. See Appendix 'Supplementary Information by Command'."
- name: value
type: byte
description: "DATA02: 00h=specified terminal, 01h=BNC, 02h=COMPUTER"
Feedbacks
# Observable states surfaced by query responses.
- id: power_state
type: enum
values: [standby, power_on, cooling, standby_error, standby_sleep, standby_power_saving, network_standby]
source: running_status_request DATA03 / basic_information_request DATA01
- id: error_status
type: bitmask
description: "12-byte error info (DATA01-12) from error_status_request; bit set = fault (cover, fan, temp, lamp, etc.)"
source: error_status_request
- id: mute_state
type: enum
description: "Picture/Sound/Onscreen mute on/off (DATA01-03) and forced onscreen mute (DATA04)"
source: mute_status_request
- id: input_state
type: enum
description: "Selected input signal type and content displayed"
source: input_status_request
- id: lamp_usage_time
type: integer
unit: seconds
source: lamp_information_request_3 (DATA01=00h, DATA02=01h)
- id: lamp_remaining_life
type: integer
unit: percent
source: lamp_information_request_3 (DATA01=00h, DATA02=04h); negative if deadline exceeded
Variables
# Settable parameters surfaced as variables (set via the *set commands above).
- id: eco_mode
type: enum
description: "Eco/Light/Lamp mode value (values in Appendix)"
set_command: eco_mode_set
get_command: eco_mode_request
- id: projector_name
type: string
max_length: 16
set_command: lan_projector_name_set
get_command: lan_projector_name_request
- id: edge_blending_mode
type: enum
values: [off, on]
set_command: edge_blending_mode_set
get_command: edge_blending_mode_request
- id: volume
type: integer
set_command: volume_adjust
get_command: gain_parameter_request_3
Events
# UNRESOLVED: no unsolicited notification events documented in source; all
# responses are command replies.
Macros
# UNRESOLVED: no multi-step sequences documented in source.
Safety
confirmation_required_for: []
interlocks:
- id: power_on_lockout
description: "While POWER ON is executing, no other command can be accepted. (source §3.2)"
- id: power_off_lockout
description: "While POWER OFF is executing (including cooling time), no other command can be accepted. (source §3.3)"
- id: interlock_switch
description: "Error status DATA09 bit1 reports 'interlock switch is open' as a fault condition. No recovery procedure stated. (source §3.1)"
# UNRESOLVED: no power-on sequencing procedure or explicit safety interlock
# recovery steps stated in source; only the error/fault bits above are documented.
Notes
- Protocol is binary hex, not ASCII. All commands are byte sequences with a trailing checksum (CKS = low byte of the sum of all preceding bytes). Example from source:
20h 81h 01h 60h 01h 00h→ sum103h→ CKS03h. - ID1/ID2:
ID1= projector control ID,ID2= model code. The source renders commands with00hplaceholders for ID1/ID2; an implementation must substitute the target projector's actual values and recompute CKS. Responses from the projector include the real ID1/ID2 (prefix bytes2Xh= success,AXh= error). - Response prefixes: success responses begin with
2Xh(X = category), error responses begin withAXhand carry<ERR1> <ERR2>error codes (see source §2.4 for the full code list). - Usage-time resolution: lamp/filter usage times are reported in seconds but updated only at one-minute intervals.
- Source coverage: command reference BDT140013 Rev 7.1 documents 53 commands; all are enumerated above. Several commands defer parameter enum tables to an Appendix ("Supplementary Information by Command") that is not present in the refined extract.
## 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-16T17:13:34.632Z
last_checked_at: 2026-06-18T08:33:24.043Z
Verification Summary
verdict: verified
checked_at: 2026-06-18T08:33:24.043Z
matched_actions: 53
action_count: 53
confidence: medium
summary: "All 53 spec actions matched verbatim against source command reference; transport parameters verified; complete bidirectional coverage. (9 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "the refined source is a generic NEC projector command reference (BDT140013 Rev 7.1) and does not name the NC1843ML model explicitly; model mapping supplied by operator. Appendix \"Supplementary Information by Command\" (input terminal values, aspect values, eco-mode values, base-model-type values, sub-input values) is referenced by the source but not included in the refined extract."
- "flow control not explicitly stated (full-duplex comm mode only)"
- "no unsolicited notification events documented in source; all"
- "no multi-step sequences documented in source."
- "no power-on sequencing procedure or explicit safety interlock"
- "firmware version compatibility not stated in source."
- "Appendix \"Supplementary Information by Command\" not included — input-terminal, aspect, eco-mode, base-model-type, and sub-input value tables are referenced but not extracted."
- "model-specific applicability of two-lamp / PIP / edge-blend features to the NC1843ML not stated in this generic reference."
- "serial flow_control not explicitly specified (only \"full duplex\" comm mode stated)."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0