Summary
ViewSonic PJD5151/5153/5155/5250/5253/5255/5555w DLP projector family (model IDs VS15871–VS15876, VS14115) controlled via RS-232 serial hex commands. This spec covers the full RS-232 command table: power, lamp mode, image adjustments (contrast/brightness/color/hue/saturation/gain), aspect ratio, keystone, 3D, source routing, volume/mute, OSD settings, HDMI/CEC control, and status queries. IR remote control codes are documented in the source but out of scope for this serial-control spec.
Transport
protocols:
- serial
serial:
baud_rate: 115200 # default per source
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
# Pin assignment (DB9, source verbatim):
# 1=NC 2=RX 3=TX 4=NC 5=GND 6=NC 7=RTSZ 8=CTSZ 9=NC
# Source states LAN: N/A, USB serial control: Type mini B (not enumerated as commands).
Traits
traits:
- powerable # inferred: power on/off commands present
- queryable # inferred: status query commands present for most functions
- routable # inferred: source input selection (VGA/VGA2/HDMI/Composite/SVIDEO) present
- levelable # inferred: volume/contrast/brightness/hue/saturation/gain inc/dec present
Actions
# All command bytes verbatim from source RS232 command table. Last byte is the
# source-documented checksum/trailer (not computed here). Query commands use
# kind: query and carry their 0x07-prefixed read payload.
# ---- Power ----
- id: power_on
label: Power On
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x00 0x00 0x5D"
params: []
- id: power_off
label: Power Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x01 0x00 0x5E"
params: []
- id: power_status_query
label: Power Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x00 0x5E"
params: []
# ---- Reset ----
- id: reset_all_settings
label: Reset All Settings
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x02 0x00 0x5F"
params: []
- id: reset_color_settings
label: Reset Color Settings
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x2A 0x00 0x87"
params: []
# ---- Splash Screen ----
- id: splash_screen_black
label: Splash Screen Black
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x0A 0x00 0x67"
params: []
- id: splash_screen_blue
label: Splash Screen Blue
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x0A 0x01 0x68"
params: []
- id: splash_screen_viewsonic
label: Splash Screen ViewSonic
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x0A 0x02 0x69"
params: []
- id: splash_screen_capture
label: Splash Screen Capture
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x0A 0x03 0x6A"
params: []
- id: splash_screen_off
label: Splash Screen Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x0A 0x04 0x6B"
params: []
- id: splash_screen_status_query
label: Splash Screen Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x0A 0x68"
params: []
# ---- Quick Power Off ----
- id: quick_power_off_off
label: Quick Power Off Disable
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x0B 0x00 0x68"
params: []
- id: quick_power_off_on
label: Quick Power Off Enable
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x0B 0x01 0x69"
params: []
- id: quick_power_off_status_query
label: Quick Power Off Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x0B 0x69"
params: []
# ---- High Altitude Mode ----
- id: high_altitude_mode_off
label: High Altitude Mode Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x0C 0x00 0x69"
params: []
- id: high_altitude_mode_on
label: High Altitude Mode On
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x0C 0x01 0x6A"
params: []
- id: high_altitude_mode_status_query
label: High Altitude Mode Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x0C 0x6A"
params: []
# ---- Lamp Mode ----
- id: lamp_mode_normal
label: Lamp Mode Normal
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x10 0x00 0x6D"
params: []
- id: lamp_mode_economic
label: Lamp Mode Economic
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x10 0x01 0x6E"
params: []
- id: lamp_mode_dynamic
label: Lamp Mode Dynamic
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x10 0x02 0x6F"
params: []
- id: lamp_mode_sleep
label: Lamp Mode Sleep
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x10 0x03 0x70"
params: []
- id: lamp_mode_status_query
label: Lamp Mode Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x10 0x6E"
params: []
# ---- Message (OSD) ----
- id: message_off
label: Message Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x27 0x00 0x84"
params: []
- id: message_on
label: Message On
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x27 0x01 0x85"
params: []
- id: message_status_query
label: Message Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x27 0x85"
params: []
# ---- Projector Position ----
- id: projector_position_front_table
label: Projector Position Front Table
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x00 0x00 0x5E"
params: []
- id: projector_position_rear_table
label: Projector Position Rear Table
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x00 0x01 0x5F"
params: []
- id: projector_position_rear_ceiling
label: Projector Position Rear Ceiling
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x00 0x02 0x60"
params: []
- id: projector_position_front_ceiling
label: Projector Position Front Ceiling
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x00 0x03 0x61"
params: []
- id: projector_position_status_query
label: Projector Position Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x00 0x5F"
params: []
# ---- 3D Sync ----
- id: three_d_sync_off
label: 3D Sync Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x20 0x00 0x7E"
params: []
- id: three_d_sync_auto
label: 3D Sync Auto
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x20 0x01 0x7F"
params: []
- id: three_d_sync_frame_sequential
label: 3D Sync Frame Sequential
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x20 0x02 0x80"
params: []
- id: three_d_sync_frame_packing
label: 3D Sync Frame Packing
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x20 0x03 0x81"
params: []
- id: three_d_sync_top_bottom
label: 3D Sync Top-Bottom
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x20 0x04 0x82"
params: []
- id: three_d_sync_side_by_side
label: 3D Sync Side-by-Side
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x20 0x05 0x83"
params: []
- id: three_d_sync_status_query
label: 3D Sync Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x20 0x7F"
params: []
# ---- 3D Sync Invert ----
- id: three_d_sync_invert_off
label: 3D Sync Invert Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x21 0x00 0x7F"
params: []
- id: three_d_sync_invert_on
label: 3D Sync Invert On
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x21 0x01 0x80"
params: []
- id: three_d_sync_invert_status_query
label: 3D Sync Invert Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x21 0x80"
params: []
# ---- Contrast (relative inc/dec) ----
- id: contrast_decrease
label: Contrast Decrease
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x02 0x00 0x60"
params: []
- id: contrast_increase
label: Contrast Increase
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x02 0x01 0x61"
params: []
- id: contrast_status_query
label: Contrast Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x02 0x61"
params: []
# ---- Brightness (relative inc/dec) ----
- id: brightness_decrease
label: Brightness Decrease
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x03 0x00 0x61"
params: []
- id: brightness_increase
label: Brightness Increase
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x03 0x01 0x62"
params: []
- id: brightness_status_query
label: Brightness Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x03 0x62"
params: []
# ---- Aspect Ratio ----
- id: aspect_ratio_auto
label: Aspect Ratio Auto
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x04 0x00 0x62"
params: []
- id: aspect_ratio_4_3
label: Aspect Ratio 4:3
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x04 0x02 0x64"
params: []
- id: aspect_ratio_16_9
label: Aspect Ratio 16:9
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x04 0x03 0x65"
params: []
- id: aspect_ratio_16_10
label: Aspect Ratio 16:10
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x04 0x04 0x66"
params: []
- id: aspect_ratio_anamorphic
label: Aspect Ratio Anamorphic
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x04 0x05 0x67"
params: []
- id: aspect_ratio_wide
label: Aspect Ratio Wide
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x04 0x06 0x68"
params: []
- id: aspect_ratio_2_35_1
label: Aspect Ratio 2.35:1
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x04 0x07 0x69"
params: []
- id: aspect_ratio_panorama
label: Aspect Ratio Panorama
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x04 0x08 0x6A"
params: []
- id: aspect_ratio_status_query
label: Aspect Ratio Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x04 0x63"
params: []
# ---- Auto Adjust ----
- id: auto_adjust_execute
label: Auto Adjust
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x05 0x00 0x63"
params: []
# ---- Horizontal Position (relative) ----
- id: horizontal_position_shift_right
label: Horizontal Position Shift Right
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x06 0x01 0x65"
params: []
- id: horizontal_position_shift_left
label: Horizontal Position Shift Left
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x06 0x00 0x64"
params: []
- id: horizontal_position_status_query
label: Horizontal Position Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x06 0x65"
params: []
# ---- Vertical Position (relative) ----
- id: vertical_position_shift_up
label: Vertical Position Shift Up
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x07 0x00 0x65"
params: []
- id: vertical_position_shift_down
label: Vertical Position Shift Down
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x07 0x01 0x66"
params: []
- id: vertical_position_status_query
label: Vertical Position Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x07 0x66"
params: []
# ---- Color Temperature ----
- id: color_temperature_warm
label: Color Temperature Warm
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x08 0x00 0x66"
params: []
- id: color_temperature_normal
label: Color Temperature Normal
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x08 0x01 0x67"
params: []
- id: color_temperature_neutral
label: Color Temperature Neutral
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x08 0x02 0x68"
params: []
- id: color_temperature_cool
label: Color Temperature Cool
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x08 0x03 0x69"
params: []
- id: color_temperature_status_query
label: Color Temperature Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x08 0x67"
params: []
# ---- Blank ----
- id: blank_on
label: Blank On
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x09 0x01 0x68"
params: []
- id: blank_off
label: Blank Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x09 0x00 0x67"
params: []
- id: blank_status_query
label: Blank Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x09 0x68"
params: []
# ---- Keystone Vertical (relative) ----
- id: keystone_vertical_decrease
label: Keystone Vertical Decrease
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0A 0x00 0x68"
params: []
- id: keystone_vertical_increase
label: Keystone Vertical Increase
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0A 0x01 0x69"
params: []
- id: keystone_vertical_status_query
label: Keystone Vertical Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x0A 0x69"
params: []
# ---- Keystone Horizontal (relative) ----
- id: keystone_horizontal_decrease
label: Keystone Horizontal Decrease
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x31 0x00 0x8E"
params: []
- id: keystone_horizontal_increase
label: Keystone Horizontal Increase
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x31 0x01 0x8F"
params: []
- id: keystone_horizontal_status_query
label: Keystone Horizontal Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x31 0x8F"
params: []
# ---- Color Mode (preset) ----
- id: color_mode_brightest
label: Color Mode Brightest
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0B 0x00 0x69"
params: []
- id: color_mode_movie
label: Color Mode Movie
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0B 0x01 0x6A"
params: []
- id: color_mode_standard
label: Color Mode Standard
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0B 0x04 0x6D"
params: []
- id: color_mode_viewmatch
label: Color Mode ViewMatch
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0B 0x05 0x6E"
params: []
- id: color_mode_dynamic
label: Color Mode Dynamic
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0B 0x08 0x71"
params: []
- id: color_mode_status_query
label: Color Mode Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x0B 0x6A"
params: []
# ---- Primary Color (for adjustment target) ----
- id: primary_color_r
label: Primary Color Red
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x10 0x00 0x6E"
params: []
- id: primary_color_g
label: Primary Color Green
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x10 0x01 0x6F"
params: []
- id: primary_color_b
label: Primary Color Blue
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x10 0x02 0x70"
params: []
- id: primary_color_c
label: Primary Color Cyan
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x10 0x03 0x71"
params: []
- id: primary_color_m
label: Primary Color Magenta
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x10 0x04 0x72"
params: []
- id: primary_color_y
label: Primary Color Yellow
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x10 0x05 0x73"
params: []
- id: primary_color_status_query
label: Primary Color Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x10 0x6F"
params: []
# ---- Hue (relative) ----
- id: hue_decrease
label: Hue Decrease
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x11 0x00 0x6F"
params: []
- id: hue_increase
label: Hue Increase
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x11 0x01 0x70"
params: []
- id: hue_status_query
label: Hue Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x11 0x70"
params: []
# ---- Saturation (relative) ----
- id: saturation_decrease
label: Saturation Decrease
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x12 0x00 0x70"
params: []
- id: saturation_increase
label: Saturation Increase
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x12 0x01 0x71"
params: []
- id: saturation_status_query
label: Saturation Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x12 0x71"
params: []
# ---- Gain (relative) ----
- id: gain_decrease
label: Gain Decrease
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x13 0x00 0x71"
params: []
- id: gain_increase
label: Gain Increase
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x13 0x01 0x72"
params: []
- id: gain_status_query
label: Gain Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x13 0x72"
params: []
# ---- Freeze ----
- id: freeze_on
label: Freeze On
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x13 0x00 0x01 0x60"
params: []
- id: freeze_off
label: Freeze Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x13 0x00 0x00 0x5F"
params: []
- id: freeze_status_query
label: Freeze Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x13 0x00 0x60"
params: []
# ---- Source Input (routing) ----
- id: select_source_vga
label: Select Source VGA
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x13 0x01 0x00 0x60"
params: []
- id: select_source_vga2
label: Select Source VGA2
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x13 0x01 0x08 0x68"
params: []
- id: select_source_hdmi
label: Select Source HDMI
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x13 0x01 0x03 0x63"
params: []
- id: select_source_composite
label: Select Source Composite
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x13 0x01 0x05 0x65"
params: []
- id: select_source_svideo
label: Select Source S-Video
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x13 0x01 0x06 0x66"
params: []
- id: source_status_query
label: Source Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x13 0x01 0x61"
params: []
# ---- Quick Auto Search ----
- id: quick_auto_search_on
label: Quick Auto Search On
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x13 0x02 0x01 0x62"
params: []
- id: quick_auto_search_off
label: Quick Auto Search Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x13 0x02 0x00 0x61"
params: []
- id: quick_auto_search_status_query
label: Quick Auto Search Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x13 0x02 0x62"
params: []
# ---- Mute ----
- id: mute_on
label: Mute On
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x14 0x00 0x01 0x61"
params: []
- id: mute_off
label: Mute Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x14 0x00 0x00 0x60"
params: []
- id: mute_status_query
label: Mute Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x14 0x00 0x61"
params: []
# ---- Volume (relative inc/dec) ----
- id: volume_increase
label: Volume Increase
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x14 0x01 0x00 0x61"
params: []
- id: volume_decrease
label: Volume Decrease
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x14 0x02 0x00 0x62"
params: []
- id: volume_status_query
label: Volume Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x14 0x03 0x64"
params: []
# ---- Language (parameterized; source lists 21 unlabeled rows, value byte 0x00-0x14) ----
- id: set_language
label: Set Language
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x15 0x00 {lang_index} {checksum}"
params:
- name: lang_index
type: integer
description: "Language index 0x00-0x14 (21 languages enumerated in source rows 0x00-0x14)"
notes: >-
Source enumerates 21 distinct rows for the Language Write command, each
differing only in the value byte (0x00 through 0x14) and the trailing
checksum byte. No language names are given in the source. Verbatim row
payloads: 0x00→0x61, 0x01→0x62, 0x02→0x63, 0x03→0x64, 0x04→0x65,
0x05→0x66, 0x06→0x67, 0x07→0x68, 0x08→0x69, 0x09→0x6A, 0x0a→0x6B,
0x0b→0x6C, 0x0c→0x6D, 0x0d→0x6E, 0x0e→0x6F, 0x0f→0x70, 0x10→0x71,
0x11→0x72, 0x12→0x73, 0x13→0x74, 0x14→0x75. UNRESOLVED: language names
not stated; checksum computation rule not stated.
- id: language_status_query
label: Language Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x15 0x00 0x62"
params: []
# ---- Lamp Time ----
- id: reset_lamp_usage_hour
label: Reset Lamp Usage Hour
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x15 0x01 0x00 0x62"
params: []
- id: lamp_usage_hour_query
label: Lamp Usage Hour Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x15 0x01 0x63"
params: []
# ---- HDMI Format ----
- id: hdmi_format_rgb
label: HDMI Format RGB
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x28 0x00 0x85"
params: []
- id: hdmi_format_yuv
label: HDMI Format YUV
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x28 0x01 0x86"
params: []
- id: hdmi_format_auto
label: HDMI Format Auto
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x28 0x02 0x87"
params: []
- id: hdmi_format_status_query
label: HDMI Format Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x28 0x86"
params: []
# ---- HDMI Range ----
- id: hdmi_range_enhanced
label: HDMI Range Enhanced
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x29 0x00 0x86"
params: []
- id: hdmi_range_normal
label: HDMI Range Normal
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x29 0x01 0x87"
params: []
- id: hdmi_range_auto
label: HDMI Range Auto
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x29 0x02 0x88"
params: []
- id: hdmi_range_status_query
label: HDMI Range Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x29 0x87"
params: []
# ---- CEC ----
- id: cec_off
label: CEC Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x2B 0x00 0x88"
params: []
- id: cec_on
label: CEC On
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x2B 0x01 0x89"
params: []
- id: cec_status_query
label: CEC Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x2B 0x89"
params: []
# ---- Error Status ----
- id: error_status_query
label: Error Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x0C 0x0D 0x66"
params: []
# ---- Brilliant Color (0-10, each a distinct source row) ----
- id: brilliant_color_0
label: Brilliant Color 0
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x00 0x6D"
params: []
- id: brilliant_color_1
label: Brilliant Color 1
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x01 0x6E"
params: []
- id: brilliant_color_2
label: Brilliant Color 2
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x02 0x6F"
params: []
- id: brilliant_color_3
label: Brilliant Color 3
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x03 0x70"
params: []
- id: brilliant_color_4
label: Brilliant Color 4
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x04 0x71"
params: []
- id: brilliant_color_5
label: Brilliant Color 5
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x05 0x72"
params: []
- id: brilliant_color_6
label: Brilliant Color 6
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x06 0x73"
params: []
- id: brilliant_color_7
label: Brilliant Color 7
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x07 0x74"
params: []
- id: brilliant_color_8
label: Brilliant Color 8
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x08 0x75"
params: []
- id: brilliant_color_9
label: Brilliant Color 9
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x09 0x76"
params: []
- id: brilliant_color_10
label: Brilliant Color 10
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x12 0x0F 0x0A 0x77"
params: []
- id: brilliant_color_status_query
label: Brilliant Color Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x12 0x0F 0x6E"
params: []
# ---- Remote Control Code (1-8, each a distinct source row) ----
- id: remote_control_code_1
label: Remote Control Code 1
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x0C 0x48 0x00 0xA0"
params: []
- id: remote_control_code_2
label: Remote Control Code 2
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x0C 0x48 0x01 0xA1"
params: []
- id: remote_control_code_3
label: Remote Control Code 3
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x0C 0x48 0x02 0xA2"
params: []
- id: remote_control_code_4
label: Remote Control Code 4
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x0C 0x48 0x03 0xA3"
params: []
- id: remote_control_code_5
label: Remote Control Code 5
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x0C 0x48 0x04 0xA4"
params: []
- id: remote_control_code_6
label: Remote Control Code 6
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x0C 0x48 0x05 0xA5"
params: []
- id: remote_control_code_7
label: Remote Control Code 7
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x0C 0x48 0x06 0xA6"
params: []
- id: remote_control_code_8
label: Remote Control Code 8
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x0C 0x48 0x07 0xA7"
params: []
- id: remote_control_code_status_query
label: Remote Control Code Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x0C 0x048 0xA1"
params: []
# ---- Screen Color ----
- id: screen_color_off
label: Screen Color Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x32 0x00 0x8F"
params: []
- id: screen_color_blackboard
label: Screen Color Blackboard
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x32 0x01 0x90"
params: []
- id: screen_color_greenboard
label: Screen Color Greenboard
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x32 0x02 0x91"
params: []
- id: screen_color_whiteboard
label: Screen Color Whiteboard
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x32 0x03 0x92"
params: []
- id: screen_color_status_query
label: Screen Color Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x32 0x90"
params: []
# ---- Over Scan (Off + 1-5, each a distinct source row) ----
- id: overscan_off
label: Overscan Off
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x33 0x00 0x90"
params: []
- id: overscan_1
label: Overscan 1
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x33 0x01 0x91"
params: []
- id: overscan_2
label: Overscan 2
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x33 0x02 0x92"
params: []
- id: overscan_3
label: Overscan 3
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x33 0x03 0x93"
params: []
- id: overscan_4
label: Overscan 4
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x33 0x04 0x94"
params: []
- id: overscan_5
label: Overscan 5
kind: action
command: "0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x33 0x05 0x95"
params: []
- id: overscan_status_query
label: Overscan Status Query
kind: query
command: "0x07 0x14 0x00 0x05 0x00 0x34 0x00 0x00 0x11 0x33 0x91"
params: []
# ---- Remote Key (emulate IR key via serial; 0x02-prefixed) ----
- id: remote_key_menu
label: Remote Key Menu
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x0F 0x61"
params: []
- id: remote_key_exit
label: Remote Key Exit
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x13 0x65"
params: []
- id: remote_key_up
label: Remote Key Up
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x0B 0x5D"
params: []
- id: remote_key_down
label: Remote Key Down
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x0C 0x5E"
params: []
- id: remote_key_left
label: Remote Key Left
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x0D 0x5F"
params: []
- id: remote_key_right
label: Remote Key Right
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x0E 0x60"
params: []
- id: remote_key_source
label: Remote Key Source
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x04 0x56"
params: []
- id: remote_key_enter
label: Remote Key Enter
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x15 0x67"
params: []
- id: remote_key_auto
label: Remote Key Auto
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x08 0x5A"
params: []
- id: remote_key_my_button
label: Remote Key My Button
kind: action
command: "0x02 0x14 0x00 0x04 0x00 0x34 0x02 0x04 0x11 0x63"
params: []
Feedbacks
# Observable state returned by the corresponding *_status_query actions.
# Response byte format UNRESOLVED - source documents only request payloads,
# not the response frame layout or value encoding.
- id: power_state
type: enum
values: [on, off]
query_action: power_status_query
- id: splash_screen_state
type: enum
values: [black, blue, viewsonic, screen_capture, off]
query_action: splash_screen_status_query
- id: quick_power_off_state
type: enum
values: [on, off]
query_action: quick_power_off_status_query
- id: high_altitude_mode_state
type: enum
values: [on, off]
query_action: high_altitude_mode_status_query
- id: lamp_mode_state
type: enum
values: [normal, economic, dynamic, sleep]
query_action: lamp_mode_status_query
- id: message_state
type: enum
values: [on, off]
query_action: message_status_query
- id: projector_position_state
type: enum
values: [front_table, rear_table, rear_ceiling, front_ceiling]
query_action: projector_position_status_query
- id: three_d_sync_state
type: enum
values: [off, auto, frame_sequential, frame_packing, top_bottom, side_by_side]
query_action: three_d_sync_status_query
- id: three_d_sync_invert_state
type: enum
values: [on, off]
query_action: three_d_sync_invert_status_query
- id: contrast_level
type: integer
query_action: contrast_status_query
- id: brightness_level
type: integer
query_action: brightness_status_query
- id: aspect_ratio_state
type: enum
values: [auto, "4:3", "16:9", "16:10", anamorphic, wide, "2.35:1", panorama]
query_action: aspect_ratio_status_query
- id: horizontal_position
type: integer
query_action: horizontal_position_status_query
- id: vertical_position
type: integer
query_action: vertical_position_status_query
- id: color_temperature_state
type: enum
values: [warm, normal, neutral, cool]
query_action: color_temperature_status_query
- id: blank_state
type: enum
values: [on, off]
query_action: blank_status_query
- id: keystone_vertical
type: integer
query_action: keystone_vertical_status_query
- id: keystone_horizontal
type: integer
query_action: keystone_horizontal_status_query
- id: color_mode_state
type: enum
values: [brightest, movie, standard, viewmatch, dynamic]
query_action: color_mode_status_query
- id: primary_color_state
type: enum
values: [r, g, b, c, m, y]
query_action: primary_color_status_query
- id: hue_level
type: integer
query_action: hue_status_query
- id: saturation_level
type: integer
query_action: saturation_status_query
- id: gain_level
type: integer
query_action: gain_status_query
- id: freeze_state
type: enum
values: [on, off]
query_action: freeze_status_query
- id: source_state
type: enum
values: [vga, vga2, hdmi, composite, svideo]
query_action: source_status_query
- id: quick_auto_search_state
type: enum
values: [on, off]
query_action: quick_auto_search_status_query
- id: mute_state
type: enum
values: [on, off]
query_action: mute_status_query
- id: volume_level
type: integer
query_action: volume_status_query
- id: language_state
type: integer
query_action: language_status_query
# UNRESOLVED: language name mapping not stated in source
- id: lamp_usage_hours
type: integer
query_action: lamp_usage_hour_query
- id: hdmi_format_state
type: enum
values: [rgb, yuv, auto]
query_action: hdmi_format_status_query
- id: hdmi_range_state
type: enum
values: [enhanced, normal, auto]
query_action: hdmi_range_status_query
- id: cec_state
type: enum
values: [on, off]
query_action: cec_status_query
- id: error_status
type: integer
query_action: error_status_query
# UNRESOLVED: error bit/field decoding not stated in source
- id: brilliant_color_level
type: integer
query_action: brilliant_color_status_query
- id: remote_control_code_state
type: integer
query_action: remote_control_code_status_query
- id: screen_color_state
type: enum
values: [off, blackboard, greenboard, whiteboard]
query_action: screen_color_status_query
- id: overscan_state
type: enum
values: [off, "1", "2", "3", "4", "5"]
query_action: overscan_status_query
Variables
# All settable parameters are modeled as discrete Actions (enum selects or
# relative inc/dec). No continuous absolute-set variables beyond those.
# Volume/contrast/brightness/hue/saturation/gain/keystone are inc/dec only
# in this source - no absolute value-set command documented.
Events
# Source documents no unsolicited notifications / push events.
Macros
# Source documents no multi-step command sequences.
Safety
confirmation_required_for: []
interlocks: []
# Source documents a "Reset All Settings" and "Reset Lamp Usage Hour" command
# (destructive to configuration / maintenance counters) but states no explicit
# confirmation/interlock procedure for them. Operator may wish to require
# confirmation before invoking reset_all_settings or reset_lamp_usage_hour.
# UNRESOLVED: no power-on sequencing or cool-down interlock stated in source.
Notes
- All RS-232 commands are fixed-length hex frames. Write commands begin
0x06 0x14 0x00 0x04 0x00 0x34 ...; read (query) commands begin0x07 0x14 0x00 0x05 0x00 0x34 ...; remote-key emulation begins0x02 0x14 0x00 0x04 0x00 0x34 .... The final byte of each frame is a per-command value (likely a checksum/trailer) copied verbatim from the source. - DB9 pinout (source verbatim): 1=NC, 2=RX, 3=TX, 4=NC, 5=GND, 6=NC, 7=RTSZ, 8=CTSZ, 9=NC. A null-modem wiring is implied by separate RX/TX pins but not explicitly described.
- Rear-panel connector inventory differs by model: PJD5155/5255/5555w and PJD5153/5253 carry AUDIO, S-VIDEO, VIDEO, MONITOR OUT; PJD5151/5250 are reduced (MINIUSB, COMPUTER IN 1/2, RS-232 only). All 7 models expose RS-232.
- IR remote control uses NEC format with a 4-byte payload (
X3 F4 {byte3} {byte4}) and supports 8 address codes (Code 1=83F4... Code 8=F3F4) to disambiguate adjacent projectors. IR is out of scope for this serial spec but documented for reference; the serialremote_control_code_*actions configure which IR address the projector responds to. - "Remote Key" actions (0x02-prefixed) emulate IR keypresses over the serial link — useful for menu navigation that has no direct RS-232 equivalent.
Provenance
source_domains:
- viewsonicglobal.com
- raw.githubusercontent.com
- projectorcentral.com
- manuals.plus
- viewsonicvsa.freshdesk.com
source_urls:
- https://www.viewsonicglobal.com/public/products_download/user_guide/projector/pjd5555w/english.pdf
- "https://raw.githubusercontent.com/nfeuerhelm/ha-proj-viewsonic/main/RS-232%20LAN%20Control%20Protocol%20Specification%20V1.5.pdf"
- https://www.projectorcentral.com/pdf/projector_manual_8732.pdf
- https://manuals.plus/m/0acef2dd3c8a812de94b9dd79be0012d5e433ee90d8a7b770dd8f1b4783fb15a.pdf
- https://viewsonicvsa.freshdesk.com/support/solutions/articles/43000470420-viewsonic-projector-rs232-protocol
retrieved_at: 2026-07-21T23:12:19.879Z
last_checked_at: 2026-07-22T07:56:25.917Z
Verification Summary
verdict: verified
checked_at: 2026-07-22T07:56:25.917Z
matched_actions: 175
action_count: 175
confidence: medium
summary: "All 175 spec actions match verbatim in source; transport params verified; full command catalogue coverage at matching granularity. (13 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "IR remote NEC-format key codes and 8-way remote address codes are documented in the source but not modeled here (IR transport, not serial)."
- "response/acknowledgement byte format for each command not documented in source (only request payloads given)."
- "command framing/inter-byte timing not stated."
- "language names"
- "language name mapping not stated in source"
- "error bit/field decoding not stated in source"
- "no power-on sequencing or cool-down interlock stated in source."
- "response/ack frame layout and value encoding for all queries — source gives only request payloads."
- "checksum/trailer byte computation rule — not stated; values copied verbatim per row."
- "inter-command timing / turnaround delay not stated."
- "firmware version compatibility range not stated."
- "language names for the 21 Language rows not stated."
- "error_status bitfield decoding not stated."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0