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.
Spec done. 53 commands, all verbatim hex payloads. Serial+TCP transport, port 7142, baud set selectable. Appendix tables + firmware = UNRESOLVED.
## 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