Summary
The Optoma 5753Rk is an Interactive Flat Panel (IFP) display that supports RS-232C serial control and TCP/IP (LAN) control. This spec covers the documented SET and GET command set for power, audio, video, input routing, display settings, OSD, network status queries, and system information queries.
Transport
Command Framing
All commands use ASCII framing with the following structure:
~ <DeviceID> <CommandID> <SP> <Parameter> <CR>
7E xx xxx 20 n 0D
| Field | Encoding | Description |
|---|---|---|
| Lead Code | 0x7E (~) |
Fixed start byte |
| Device ID | 2 ASCII digits | Device address (e.g. 00, 01) |
| Command ID | ASCII digits | Command opcode (variable length) |
| Space | 0x20 | Separator |
| Parameter | ASCII | Command argument (variable) |
| CR | 0x0D | Carriage return (end byte) |
SET response: single ASCII character — P (success) or F (failed).
GET response: OK or Ok followed by value (case inconsistency in source), or F on failure.
Protocol Configuration
protocols:
- serial
- tcp
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
addressing:
port: 4023 # NOTE: LAN Control Settings table states 4023; source body text says "port 23" - conflicting values in source
auth:
type: none # inferred: no auth procedure in source
RS-232 Pin Assignments (DB-9, IFP side)
| Pin | Signal |
|---|---|
| 2 | TXD |
| 3 | RXD |
| 5 | GND |
Pins 1, 4, 6, 7, 8 are N/A.
Traits
traits:
- powerable # inferred: power on/off/restart commands present
- queryable # inferred: 21 GET query commands present
- levelable # inferred: volume, brightness, contrast, color, treble, bass, backlight, balance set commands
- routable # inferred: input source selection commands present
Actions
# All command templates use ASCII notation: ~xx<CmdID> <Param>\r
# xx = 2-digit ASCII device ID (00-99). Examples in source use "00".
# Hex encoding: ~ = 0x7E, digits = 0x30-0x39, space = 0x20, CR = 0x0D
# SET response: P (pass) / F (fail)
# ── SET: Power ──
- id: set_power
label: Set Power
kind: action
command: "~xx00 {mode}"
params:
- name: mode
type: string
enum: ["0", "1", "3"]
description: "0=power off, 1=power on, 3=restart"
notes: "Hex off: 7E 30 30 30 30 20 30 0D; on: 7E 30 30 30 30 20 31 0D; restart: 7E 30 30 30 30 20 33 0D"
- id: set_power_mode_standby
label: Set Power Mode (Standby)
kind: action
command: "~xx114 {mode}"
params:
- name: mode
type: string
enum: ["0", "1"]
description: "0=Eco, 1=Active. Active Standby required for remote power on via LAN/OMS."
notes: "Hex eco: 7E 30 30 31 31 34 20 30 0D; active: 7E 30 30 31 31 34 20 31 0D"
# ── SET: Audio ──
- id: set_treble
label: Set Treble
kind: action
command: "~xx95 {level}"
params:
- name: level
type: integer
min: 0
max: 100
notes: "Hex 0: 7E 30 30 39 35 20 30 0D; 100: 7E 30 30 39 35 20 31 30 30 0D"
- id: set_bass
label: Set Bass
kind: action
command: "~xx96 {level}"
params:
- name: level
type: integer
min: 0
max: 100
notes: "Hex 0: 7E 30 30 39 36 20 30 0D; 100: 7E 30 30 39 36 20 31 30 30 0D"
- id: set_balance
label: Set Balance
kind: action
command: "~xx99 {level}"
params:
- name: level
type: integer
min: 0
max: 100
description: "0-100 range per Parameter column and hex evidence. Source CMD column typo says 'n=50-50'."
notes: "Hex 0: 7E 30 30 39 39 20 30 0D; 100: 7E 30 30 39 39 20 31 30 30 0D"
- id: set_volume
label: Set Volume
kind: action
command: "~xx81 {level}"
params:
- name: level
type: integer
min: 0
max: 100
notes: "Hex 0: 7E 30 30 38 31 20 30 0D; 100: 7E 30 30 38 31 20 31 30 30 0D"
- id: set_mute
label: Set Audio Mute
kind: action
command: "~xx80 {mode}"
params:
- name: mode
type: string
enum: ["0", "1"]
description: "0=off, 1=on"
notes: "Hex off: 7E 30 30 38 30 20 30 0D; on: 7E 30 30 38 30 20 31 0D"
- id: set_sound_mode
label: Set Sound Mode
kind: action
command: "~xx252 {mode}"
params:
- name: mode
type: string
enum: ["1", "2", "3", "4", "5"]
description: "1=Standard, 2=User, 3=Classroom, 4=Meeting, 5=Movie"
notes: "Hex standard: 7E 30 30 32 35 32 20 31 0D"
# ── SET: Video / Display ──
- id: set_contrast
label: Set Contrast
kind: action
command: "~xx22 {level}"
params:
- name: level
type: integer
min: 0
max: 100
notes: "Hex 0: 7E 30 30 32 32 20 30 0D; 100: 7E 30 30 32 32 20 31 30 30 0D"
- id: set_brightness
label: Set Brightness
kind: action
command: "~xx21 {level}"
params:
- name: level
type: integer
min: 0
max: 100
notes: "Hex 0: 7E 30 30 32 31 20 30 0D; 100: 7E 30 30 32 31 20 31 30 30 0D"
- id: set_color
label: Set Color
kind: action
command: "~xx45 {level}"
params:
- name: level
type: integer
min: 0
max: 100
notes: "Hex 0: 7E 30 30 34 35 20 30 0D; 100: 7E 30 30 34 35 20 31 30 30 0D"
- id: set_backlight
label: Set Backlight
kind: action
command: "~xx251 {level}"
params:
- name: level
type: integer
min: 0
max: 100
notes: "Hex 0: 7E 30 30 32 35 31 20 30 0D; 100: 7E 30 30 32 35 31 20 31 30 30 0D"
- id: set_video_mute
label: Set Video Mute
kind: action
command: "~xx13 {mode}"
params:
- name: mode
type: string
enum: ["0", "1"]
description: "0=off, 1=on"
notes: "Hex off: 7E 30 30 31 33 20 30 0D; on: 7E 30 30 31 33 20 31 0D"
- id: set_aspect_ratio
label: Set Aspect Ratio
kind: action
command: "~xx60 {mode}"
params:
- name: mode
type: string
enum: ["1", "2", "14"]
description: "1=4:3, 2=16:9, 14=PTP"
notes: "Hex 4:3: 7E 30 30 36 30 20 31 0D"
- id: set_picture_mode
label: Set Picture Mode
kind: action
command: "~xx20 {mode}"
params:
- name: mode
type: string
enum: ["1", "2", "3", "5", "13", "21"]
description: "1=Presentation, 2=Bright, 3=Cinema, 5=User, 13=DICOM SIM., 21=HDR"
notes: "Hex presentation: 7E 30 30 32 30 20 31 0D. DICOM SIM hex contains 0x21 typo where 0x20 expected."
- id: set_color_temperature
label: Set Color Temperature
kind: action
command: "~xx36 {mode}"
params:
- name: mode
type: string
enum: ["1", "2", "4"]
description: "1=Standard, 2=Cool, 4=Warm"
notes: "Hex cool: 7E 30 30 33 36 20 32 0D"
- id: set_freeze
label: Set Freeze
kind: action
command: "~xx04 {mode}"
params:
- name: mode
type: string
enum: ["0", "1"]
description: "0=unfreeze, 1=freeze"
notes: "Hex unfreeze: 7E 30 30 30 34 20 30 0D; freeze: 7E 30 30 30 34 20 31 0D"
- id: set_pixel_shift_interval
label: Set Pixel Shift Interval
kind: action
command: "~xx250 {mode}"
params:
- name: mode
type: string
enum: ["0", "2", "3", "5", "30", "60"]
description: "0=off, 2/3/5/30/60=minutes"
notes: "Hex off: 7E 30 30 32 35 30 20 30 0D"
# ── SET: Input Routing ──
- id: select_input
label: Select Input Source
kind: action
command: "~xx12 {source}"
params:
- name: source
type: string
enum: ["1", "15", "16", "29", "27", "30", "20", "25", "24"]
description: "1=HDMI1, 15=HDMI2, 16=HDMI3, 29=HDMI4, 27=USB-C1, 30=USB-C2, 20=DisplayPort, 25=Slot in PC, 24=Android"
notes: "Hex HDMI1: 7E 30 30 31 32 20 31 0D. USB-C2 hex appears duplicated from USB-C1 (source typo). HDMI4 hex ends 0x1D not 0x0D (source typo)."
# ── SET: Language ──
- id: set_language
label: Set OSD Language
kind: action
command: "~xx70 {lang}"
params:
- name: lang
type: string
enum: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "13", "14", "17", "18", "19", "20", "22", "24", "27"]
description: "1=English, 2=German, 3=Francais, 4=Italian, 5=Espanol, 6=Portugues, 7=Polish, 8=Dutch, 9=Swedish, 10=Norsk, 11=Finnish, 13=Traditional Chinese, 14=Simplified Chinese, 17=Russian, 18=Hungarian, 19=Czech, 20=Arabic, 22=Turkish, 24=Danish, 27=Romanian"
notes: "Hex English: 7E 30 30 37 30 20 31 0D"
# ── SET: Remote Control Keys ──
- id: send_remote_key
label: Send Remote Control Key
kind: action
command: "~xx140 {key}"
params:
- name: key
type: string
enum: ["10", "11", "12", "13", "14", "17", "18", "20", "47", "74"]
description: "10=Up, 11=Left, 12=OK, 13=Right, 14=Down, 17=Vol+, 18=Vol-, 20=Menu, 47=Input Source, 74=Exit"
notes: "Hex Vol+: 7E 30 30 31 34 30 20 31 37 0D"
# ── SET: OSD / System ──
- id: display_osd_message
label: Display Message on OSD
kind: action
command: "~xx210 {message}"
params:
- name: message
type: string
description: "ASCII message text to display on screen"
notes: "Hex: 7E 30 30 32 31 30 20 <message ASCII bytes> 0D"
- id: factory_reset
label: Reset To Default
kind: action
command: "~xx112 1"
params: []
notes: "Hex: 7E 30 30 31 31 32 20 31 0D"
- id: set_osd_lock
label: Set OSD Lock (with password)
kind: action
command: "~xx239 {mode} {password}"
params:
- name: mode
type: string
enum: ["1", "2"]
description: "1=OSD lock on, 2=OSD lock off"
- name: password
type: string
description: "4-digit ASCII password (0000-9999). Encoded as 4 hex byte pairs."
notes: "Hex lock on: 7E 30 30 32 33 39 20 31 20 <password bytes> 0D. Password 0000 = 7E 30 30 30 30; 9999 = 7E 39 39 39 39."
# ── GET: Power / Audio / Video queries ──
- id: query_power
label: Query Power Status
kind: query
command: "~xx124 1"
params: []
notes: "Hex: 7E 30 30 31 32 34 20 31 0D. Response: OK0=Power off, OK1=Power on"
- id: query_contrast
label: Query Contrast
kind: query
command: "~xx126 1"
params: []
notes: "Hex: 7E 30 30 31 32 36 20 31 0D. Response: OK0-100"
- id: query_brightness
label: Query Brightness
kind: query
command: "~xx125 1"
params: []
notes: "Hex: 7E 30 30 31 32 35 20 31 0D. Response: OK0-100"
- id: query_volume
label: Query Volume
kind: query
command: "~xx120 1"
params: []
notes: "Hex: 7E 30 30 31 32 30 20 31 0D. Response: OK0-100"
- id: query_video_mute
label: Query Video Mute
kind: query
command: "~xx363 1"
params: []
notes: "Hex: 7E 30 30 33 36 33 20 31 0D. Response: OK0=Off, OK1=On"
- id: query_mute
label: Query Audio Mute
kind: query
command: "~xx356 1"
params: []
notes: "Hex: 7E 30 30 33 35 36 20 31 0D. Response: OK0=Off, OK1=On"
- id: query_sound_mode
label: Query Sound Mode
kind: query
command: "~xx139 1"
params: []
notes: "Hex: 7E 30 30 31 33 39 20 31 0D. Response: OK1=Standard, OK2=User, OK3=Classroom, OK4=Meeting, OK5=Movie"
- id: query_input_source
label: Query Input Source
kind: query
command: "~xx121 1"
params: []
notes: "Hex: 7E 30 30 31 32 31 20 31 0D. Response: OK7=HDMI1, OK8=HDMI2, OK9=HDMI3, OK25=HDMI4, OK23=USB-C1, OK2=VGA, OK20=Android, OK21=Slot in PC, OK26=USB-C2, OK15=DisplayPort"
- id: query_aspect_ratio
label: Query Aspect Ratio
kind: query
command: "~xx127 1"
params: []
notes: "Hex: 7E 30 30 31 32 37 20 31 0D. Response: OK1=4:3, OK2=16:9, OK14=PTP"
- id: query_picture_mode
label: Query Picture Mode
kind: query
command: "~xx123 1"
params: []
notes: "Hex: 7E 30 30 31 32 33 20 31 0D. Response: OK1=Presentation, OK2=Bright, OK3=Cinema, OK5=User, OK10=DICOM SIM., OK21=HDR"
- id: query_color_temperature
label: Query Color Temperature
kind: query
command: "~xx128 1"
params: []
notes: "Hex: 7E 30 30 31 32 38 20 31 0D. Response: OK0=Standard, OK1=Cool, OK3=Warm"
# ── GET: OSD lock ──
- id: query_osd_lock
label: Query OSD Lock Status
kind: query
command: "~xx229 1"
params: []
notes: "Hex: 7E 30 30 32 32 39 20 31 0D. Response: OK0=Off, OK1=On"
# ── GET: Network queries ──
- id: query_wlan
label: Query WLAN Status or IP
kind: query
command: "~xx451 {query}"
params:
- name: query
type: string
enum: ["1", "2"]
description: "1=status, 2=IP address"
notes: "Hex status: 7E 30 30 34 35 31 20 31 0D. Response: OK0=Disconnected, OK1=Connected (n=1); Oknnn.nnn.nnn.nnn (n=2)"
- id: query_lan
label: Query LAN Status or IP
kind: query
command: "~xx87 {query}"
params:
- name: query
type: string
enum: ["1", "3"]
description: "1=status, 3=IP address"
notes: "Hex status: 7E 30 30 38 37 20 31 0D. Response: OK0=Disconnected, OK1=Connected (n=1); Oknnn.nnn.nnn.nnn (n=3)"
- id: query_mac_address
label: Query MAC Address
kind: query
command: "~xx555 {interface}"
params:
- name: interface
type: string
enum: ["1", "2"]
description: "1=LAN MAC, 2=WLAN MAC"
notes: "Hex LAN: 7E 30 30 35 35 35 20 31 0D. Response: Oknn:nn:nn:nn:nn:nn"
# ── GET: System information queries ──
- id: query_firmware_version
label: Query Firmware Version
kind: query
command: "~xx122 1"
params: []
notes: "Hex: 7E 30 30 31 32 32 20 31 0D. Response: Oknnnnnnnnnnnnnn (e.g. 20190926164814)"
- id: query_usage_hours
label: Query Usage Hours
kind: query
command: "~xx108 1"
params: []
notes: "Hex: 7E 30 30 31 30 38 20 31 0D. Response: Oknnnnn"
- id: query_device_type
label: Query Device Type
kind: query
command: "~xx149 1"
params: []
notes: "Hex: 7E 30 30 31 34 39 20 31 0D. Response: OK2=IFP"
- id: query_information
label: Query System Information
kind: query
command: "~xx150 {info_type}"
params:
- name: info_type
type: string
enum: ["1", "2", "3", "4", "16", "17", "18", "19"]
description: "1=combined info string, 2=native resolution, 3=input source, 4=source resolution, 16=power mode standby, 17=DHCP, 18=system temperature, 19=source refresh rate"
notes: "Hex n=1: 7E 30 30 31 35 30 20 31 0D. n=1 response format: OKabbbbbccddddee (see source Note*1). n=16: OK0=Eco, OK1=Active. n=17: OK0=DHCP off, OK1=DHCP on. n=18: Oknnn (e.g. OK48). n=19: Oknnn (e.g. OK60Hz)"
- id: query_regulatory_model_name
label: Query Regulatory Model Name
kind: query
command: "~xx151 3"
params: []
notes: "Hex: 7E 30 30 31 35 31 20 33 0D. Response: Oknnn (e.g. SLUGRK)"
- id: query_serial_number
label: Query Serial Number
kind: query
command: "~xx353 1"
params: []
notes: "Hex: 7E 30 30 33 35 33 20 31 0D. Response: Okaaaaaaaaaaaaaaaa"
Feedbacks
# Observable states via GET query responses
- id: power_state
type: enum
values: [off, on]
query: query_power
- id: volume_level
type: integer_range
min: 0
max: 100
query: query_volume
- id: mute_state
type: enum
values: [off, on]
query: query_mute
- id: video_mute_state
type: enum
values: [off, on]
query: query_video_mute
- id: contrast_level
type: integer_range
min: 0
max: 100
query: query_contrast
- id: brightness_level
type: integer_range
min: 0
max: 100
query: query_brightness
- id: sound_mode
type: enum
values: [standard, user, classroom, meeting, movie]
query: query_sound_mode
- id: input_source
type: enum
values: [hdmi1, hdmi2, hdmi3, hdmi4, usb_c1, usb_c2, vga, android, slot_in_pc, displayport]
query: query_input_source
- id: aspect_ratio
type: enum
values: ["4:3", "16:9", ptp]
query: query_aspect_ratio
- id: picture_mode
type: enum
values: [presentation, bright, cinema, user, dicom_sim, hdr]
query: query_picture_mode
- id: color_temperature
type: enum
values: [standard, cool, warm]
query: query_color_temperature
- id: osd_lock_state
type: enum
values: [off, on]
query: query_osd_lock
- id: wlan_status
type: enum
values: [disconnected, connected]
query: query_wlan
- id: lan_status
type: enum
values: [disconnected, connected]
query: query_lan
- id: set_acknowledgement
type: enum
values: [pass, fail]
description: "Response to all SET commands: P=pass, F=fail"
Variables
# All settable continuous parameters have corresponding SET actions listed above.
# Queryable continuous values are listed in Feedbacks.
# No settable variables exist outside the action command set.
Events
# Unsolicited system status notifications sent automatically by the device.
- id: system_standby
label: Standby Mode
payload: "INFO0"
description: "Device entered standby mode"
- id: system_warming_up
label: Warming Up
payload: "INFO1"
description: "Device is warming up"
- id: system_cooling_down
label: Cooling Down
payload: "INFO2"
description: "Device is cooling down"
- id: system_over_temperature
label: Over Temperature
payload: "INFO7"
description: "System over-temperature warning"
Macros
# No multi-step command sequences documented in source.
Safety
confirmation_required_for: []
interlocks:
- description: >
Remote power on via LAN and OMS only works when Power Mode (Standby) is set
to "Active". If Power Mode Standby is set to "Eco", remote power on will not
function. Active Standby mode consumes higher power because the mainboard
remains active to listen for power commands.
- description: >
Wake on LAN is grayed out and non-functional when Power Mode (Standby) is
set to "Active". Wake on LAN and Active Standby are mutually exclusive
power-on mechanisms.
# UNRESOLVED: No other safety warnings, interlock procedures, or power-on
# sequencing requirements documented in source beyond the standby mode notes above.
Notes
- Device type: Interactive Flat Panel (IFP).
- Dual protocol: Device supports both RS-232C serial and TCP/IP LAN control simultaneously. Command syntax is identical across both transports.
- Device ID addressing: Commands use
xxas a 2-digit ASCII device ID placeholder. All hex examples in the source use device ID00. Multi-device addressing via device ID is implied but not further documented. - Response case inconsistency: Source shows both
OKandOkin GET response columns — treat responses case-insensitively or test against actual device. - Port conflict: Source body text states "RJ45 (port 23)" while the LAN Control Settings configuration table states port 4023. The table value (4023) is likely the actual control port; port 23 may be a generic reference to Telnet. Verify against a live device.
- Source typos identified:
- Balance CMD column says
n=50-50(should ben=0-100per Parameter column and hex range). - USB Type C2 hex code duplicates USB Type C1's hex (both show n=27 encoding).
- HDMI4 hex ends with
0x1D(GS) instead of0x0D(CR). - DICOM SIM hex contains
0x21('!') instead of0x20(space). - Reset To Default hex shows
od(lowercase) instead of0D— cosmetic only.
- Balance CMD column says
- Information string format (query_information n=1): Response
OKabbbbbccddddeeencodes:a=power state (0=off, 1=on),bbbbb=usage hours,cc=input source code,dddd=firmware version,ee=display/picture mode.
- **Port conflict:** text says 23, table says 4023 — both noted, neither assumed
- **Serial config:** 9600/8/N/1/NM — all explicitly stated in source table
- **Auth:** `none` inferred (no login procedure documented)
- **4 source typos** caught (Balance range, USB-C2 hex dup, HDMI4 CR byte, DICOM space byte) — all flagged UNRESOLVED
- **Traits:** powerable, queryable, levelable, routable — all inferred from command evidence
- **4 unsolicited events** (INFO0-2, INFO7) in Events section
- **Safety interlocks:** Active vs Eco standby + Wake-on-LAN mutual exclusion documented verbatim
## Provenance
```yaml
source_domains:
- region-resource.optoma.com
source_urls:
- https://region-resource.optoma.com/products/import/Documents/09cd23e5-1d37-4ffa-aea0-20fa08ea870d.pdf
- https://region-resource.optoma.com/products/documents/pCHX7OBKzs2mdVuuEM4S9SbMKg0VlpT1cm1YTF6k.pdf
retrieved_at: 2026-07-13T19:53:50.442Z
last_checked_at: 2026-07-22T00:28:09.859Z
```
## Verification Summary
```yaml
verdict: verified
checked_at: 2026-07-22T00:28:09.859Z
matched_actions: 45
action_count: 45
confidence: medium
summary: "All 45 spec actions matched verbatim with correct command codes and parameters; transport verified at serial and LAN with all stated values; complete bidirectional coverage. (14 unresolved item(s) noted in Known Gaps.)"
```
## Known Gaps
```yaml
- "The source text says \"RJ45 (port 23)\" while the LAN Control Settings table says port 4023. Both values are stated; they conflict."
- "No authentication procedure described anywhere in the source."
- "USB Type C2 hex code (line 83 of source) appears to be a copy of USB Type C1 (n=27) rather than the documented n=30 — likely source typo."
- "HDMI4 hex (line 84) ends with 0x1D (GS) instead of 0x0D (CR) — likely source typo."
- "DICOM SIM hex (line 114) contains 0x21 ('!') where 0x20 (space) is expected — likely source typo."
- "Balance CMD column says \"n=50-50\" but Parameter column and hex range indicate 0-100 — source typo."
- "No other safety warnings, interlock procedures, or power-on"
- "Firmware version compatibility not stated in source."
- "Exact TCP control port (23 vs 4023) — conflicting values in source."
- "Voltage, current, and power specifications not in this source excerpt."
- "Protocol version number not stated."
- "Maximum command rate / polling interval limits not stated."
- "Error recovery sequences beyond P/F response not documented."
- "Full decoding of information string sub-fields (cc/ee code tables partially documented in Note*1)."
```
---
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0