Summary
RS-232C external control protocol for LG Plasma TV models RU-42PX10/11/20 and RU-50PX10/11/20. ASCII command set over a D-Sub 9-pin male RS-232C connector at 9600 bps, supporting power, input select, aspect ratio, picture/sound adjustments, PIP/DW, tuner control, and key/IR passthrough.
Transport
protocols:
- serial
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # inferred: source specifies 3-wire "Not standard" option; standard 7-wire RS-232C used; no explicit flow-control bytes documented
auth:
type: none # inferred: no auth procedure in source
Connector: D-Sub 9-Pin Male. Pin 2 RXD (Receive), Pin 3 TXD (Transmit), Pin 5 GND. Crossed (reverse) cable required for PC-to-PDP connection. (Source: "RS-232C Configurations" section.)
Traits
- powerable # inferred from power command examples
- routable # inferred from input select command examples
- queryable # inferred from query command examples (Transmit 'FF' data to read status)
- levelable # inferred from volume/contrast/brightness/color/tint/sharpness commands
Actions
- id: power
label: Power On/Off
kind: action
command: "ka {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast). Hex per "Real data mapping 1" (0x00..0x63).
- name: Data
type: string
description: "0 = Power Off, 1 = Power On"
- id: power_query
label: Power Status Query
kind: query
command: "ka {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: input_select
label: Input Select (Main Picture)
kind: action
command: "kb {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=TV, 1=Video1, 2=Video2, 3=Component1, 4=Component2, 5=RGB, 6=DVI"
- id: input_select_query
label: Input Select Query
kind: query
command: "kb {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: aspect_ratio
label: Aspect Ratio (Main Picture)
kind: action
command: "kc {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Normal (4:3), 1=Wide (16:9), 2=Horizon, 3=Zoom"
- id: aspect_ratio_query
label: Aspect Ratio Query
kind: query
command: "kc {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: screen_mute
label: Screen Mute
kind: action
command: "kd {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Screen mute off (Picture on), 1=Screen mute on (Picture off)"
- id: screen_mute_query
label: Screen Mute Query
kind: query
command: "kd {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: volume_mute
label: Volume Mute
kind: action
command: "ke {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Volume mute on, 1=Volume mute off"
- id: volume_mute_query
label: Volume Mute Query
kind: query
command: "ke {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: volume_control
label: Volume Control
kind: action
command: "kf {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Volume 0-64 (per Real data mapping 1)
- id: volume_control_query
label: Volume Control Query
kind: query
command: "kf {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: contrast
label: Contrast
kind: action
command: "kg {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Contrast 0-64 (per Real data mapping 1)
- id: contrast_query
label: Contrast Query
kind: query
command: "kg {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: brightness
label: Brightness
kind: action
command: "kh {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Brightness 0-64 (per Real data mapping 1)
- id: brightness_query
label: Brightness Query
kind: query
command: "kh {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: color
label: Color
kind: action
command: "ki {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Color 0-64 (per Real data mapping 1)
- id: color_query
label: Color Query
kind: query
command: "ki {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: tint
label: Tint
kind: action
command: "kj {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "Tint 0-64 (Red 0 ~ Green 64, per Real data mapping 1)"
- id: tint_query
label: Tint Query
kind: query
command: "kj {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: sharpness
label: Sharpness
kind: action
command: "kk {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Sharpness 0-64 (per Real data mapping 1)
- id: sharpness_query
label: Sharpness Query
kind: query
command: "kk {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: osd_select
label: OSD Select
kind: action
command: "kl {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=OSD off, 1=OSD on"
- id: osd_select_query
label: OSD Select Query
kind: query
command: "kl {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: remote_control_lock
label: Remote Control Lock Mode
kind: action
command: "km {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Lock off, 1=Lock on"
- id: remote_control_lock_query
label: Remote Control Lock Mode Query
kind: query
command: "km {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: pip_dw
label: PIP / DW
kind: action
command: "kn {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=PIP/DW off, 1=PIP, 2=DW1, 3=DW2"
- id: pip_dw_query
label: PIP / DW Query
kind: query
command: "kn {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: split_zoom
label: Split Zoom
kind: action
command: "kp {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Reset split zoom, 21-24=Selection 1-4 of 2 split zoom, 41-45=Selection 1-5 of 4 split zoom, 91-99=Selection 1-9 of 9 split zoom (per Real data mapping 2)"
- id: split_zoom_query
label: Split Zoom Query
kind: query
command: "kp {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: pip_position
label: PIP Position
kind: action
command: "kq {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Right down on screen, 1=Left down on screen, 2=Left up on screen, 3=Right up on screen"
- id: pip_position_query
label: PIP Position Query
kind: query
command: "kq {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: treble
label: Treble
kind: action
command: "kr {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Treble 0-64 (per Real data mapping 1)
- id: treble_query
label: Treble Query
kind: query
command: "kr {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: bass
label: Bass
kind: action
command: "ks {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Bass 0-64 (per Real data mapping 1)
- id: bass_query
label: Bass Query
kind: query
command: "ks {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: balance
label: Balance
kind: action
command: "kt {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Balance 0-64 (per Real data mapping 1)
- id: balance_query
label: Balance Query
kind: query
command: "kt {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: color_temperature
label: Color Temperature
kind: action
command: "ku {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Cool, 1=Normal, 2=Warm, 3=Off"
- id: color_temperature_query
label: Color Temperature Query
kind: query
command: "ku {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: red_adjustment
label: Red Adjustment
kind: action
command: "kv {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Red 0-3C (per Real data mapping 3)
- id: red_adjustment_query
label: Red Adjustment Query
kind: query
command: "kv {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: green_adjustment
label: Green Adjustment
kind: action
command: "kw {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Green 0-3C (per Real data mapping 3)
- id: green_adjustment_query
label: Green Adjustment Query
kind: query
command: "kw {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: blue_adjustment
label: Blue Adjustment
kind: action
command: "k$ {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Blue 0-3C (per Real data mapping 3)
- id: blue_adjustment_query
label: Blue Adjustment Query
kind: query
command: "k$ {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: pip_input_select
label: PIP Input Select
kind: action
command: "ky {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=TV, 1=Video1, 2=Video2, 3=Component1, 4=Component2, 5=RGB, 6=DVI"
- id: pip_input_select_query
label: PIP Input Select Query
kind: query
command: "ky {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: abnormal_state
label: Abnormal State
kind: query
command: "kz {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: ism_method
label: ISM Method
kind: action
command: "jp {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Normal, 1=White wash, 2=Orbiter, 3=Inversion"
- id: ism_method_query
label: ISM Method Query
kind: query
command: "jp {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: low_power
label: Low Power
kind: action
command: "jq {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Low power off, 1=Low power on"
- id: low_power_query
label: Low Power Query
kind: query
command: "jq {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: orbiter_time
label: Orbiter Time Setting
kind: action
command: "jr {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Orbiter time 1-FE
- id: orbiter_time_query
label: Orbiter Time Setting Query
kind: query
command: "jr {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: orbiter_pixel
label: Orbiter Pixel Setting
kind: action
command: "js {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Orbiter pixel 1-9
- id: orbiter_pixel_query
label: Orbiter Pixel Setting Query
kind: query
command: "js {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: picture_size_dw
label: Picture Size for Double Window
kind: action
command: "jt {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: Main window size 0-14 (per Real data mapping 1)
- id: picture_size_dw_query
label: Picture Size for Double Window Query
kind: query
command: "jt {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: auto_configure
label: Auto Configure
kind: action
command: "ju {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "1=To set (RGB/PC mode only)"
- id: auto_configure_query
label: Auto Configure Query
kind: query
command: "ju {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: tune_command
label: Tune Command
kind: action
command: "ma {SetID} {Data0} {Data1} {Data2} {Data3}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data0
type: string
description: "Channel number (Air: 02-45, Cable: 01, 0E-7D)"
- name: Data1
type: string
description: "Main/Sub: 0"
- name: Data2
type: string
description: "0"
- name: Data3
type: string
description: "High: Main Channel 0 / Sub Channel 1; Low: Air 0 / CATV 1"
- id: channel_add_del
label: Channel Add/Del
kind: action
command: "mb {SetID} {Data}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: Data
type: string
description: "0=Channel Memory, 1=Channel Erase"
- id: channel_add_del_query
label: Channel Add/Del Query
kind: query
command: "mb {SetID} FF"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- id: key
label: IR Key Code Send
kind: action
command: "mc {SetID} {KeyCode}"
params:
- name: SetID
type: string
description: Monitor ID (1-99, or '00' to broadcast)
- name: KeyCode
type: string
description: "IR key code (refer to IR Code Table in source page 40)"
Feedbacks
- id: power_state
type: enum
values: [on, off]
description: Echoed in acknowledgement for `ka` query
- id: input_state
type: enum
values: [tv, video1, video2, component1, component2, rgb, dvi]
description: Echoed in acknowledgement for `kb` query
- id: aspect_state
type: enum
values: [normal_4_3, wide_16_9, horizon, zoom]
description: Echoed in acknowledgement for `kc` query
- id: screen_mute_state
type: enum
values: [off, on]
description: Echoed in acknowledgement for `kd` query
- id: volume_mute_state
type: enum
values: [on, off]
description: Echoed in acknowledgement for `ke` query
- id: volume_state
type: integer
range: 0-64
description: Echoed in acknowledgement for `kf` query (per Real data mapping 1)
- id: abnormal_state
type: enum
values: "0=Normal (Power on and signal exist), 1=No signal (Power on), 2=Off via remote, 3=Off via Sleep Time, 4=Off via RS-232C, 5=5V down, 6=AC down, 7=Off via Fan Alarm, 8=Off via Off Time, 9=Off via Auto Off, a=Off via On Time"
description: Echoed in acknowledgement for `kz` query
Variables
# UNRESOLVED: no explicit settable parameters documented beyond discrete actions above
Events
# UNRESOLVED: source does not describe unsolicited notifications from the device
Macros
# UNRESOLVED: source does not describe multi-step sequences
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source does not contain safety warnings or interlock procedures.
Notes
Command frame format:
- All ASCII commands use the structure:
[Command1][Command2][ ][SetID][ ][Data][Cr] [Command1]isj,k, orm[Command2]is a single ASCII character (a-z,$)SetIDis two ASCII hex digits (e.g.01for Set ID 1).00broadcasts to all connected monitors. Adjustment range 1-99 in user menu, transmitted as hex (0x00-0x63).Datais two ASCII hex digits- Space separator is ASCII
0x20 [Cr]is carriage return0x0D
Querying status:
- Transmit
FFdata byte to read status of any command (e.g.ka 01 FFfor power state)
Acknowledgement format:
- Normal:
[Command2][ ][SetID][ ][OK][Data][x] - Error:
[Command2][ ][SetID][ ][NG][Data][x]where Data is1=Illegal Code,2=Not supported function,3=Wait more time
Real data mapping 1 (used by most commands, including Set ID display):
- 0..9 = hex digits representing decimal 0..9
- A = decimal 10
- F = decimal 15
- 10 = decimal 16
- 63 = decimal 99
- 64 = decimal 100
Real data mapping 2 (Split Zoom):
- 0 = Reset, 21/24 = Selection 1/4 of 2 split, 41/42/43/44/45 = Selection 1-5 of 4 split, 91-99 = Selection 1-9 of 9 split
Real data mapping 3 (Color temperature adjustments - red/green/blue, range 0x00-0x3C):
- 0..0x1D = -30..-1
- 0x1E = 0
- 0x3A = +28
- 0x3B = +29
- 0x3C = +30
IR Code Table: Source provides IR hex codes for remote control (page 40). Codes include Power (08 / C4 Power On / C5 Power Off), Mute (09), number keys (10-19), input discrete codes (D6=TV, 5A=Video1, D0=Video2, BF=Component1, D4=Component2, C6=DVI, D5=RGB), arc discrete codes (1E=4:3, 1A=16:9, 54=Zoom), and others. The mc (Key) command sends these IR codes to the monitor.
Remote control lock note: When main power is cycled on/off, remote control lock is released automatically.
Auto-off behavior: If no button is pressed within 2 hours after the TV turns on with the On Timer function, the TV automatically reverts to standby mode.
Source: "External Control Device Setup" section from the LG Plasma TV RU-42PX10/11/20, RU-50PX10/11/20 service manual.
Provenance
source_domains:
- web.archive.org
- manualslib.com
source_urls:
- http://web.archive.org/web/20040729171412/http://www.lgcommercial.com/product_manuals/RU-42PX10C.pdf
- https://www.manualslib.com/manual/93370/Lg-Ru-42px10c.html
retrieved_at: 2026-09-16T21:37:21.456Z
last_checked_at: 2026-09-17T22:16:52.816Z
Verification Summary
verdict: verified
checked_at: 2026-09-17T22:16:52.816Z
matched_actions: 65
action_count: 65
confidence: medium
summary: "All 65 spec actions map to source commands 01–34 with matching wire tokens (ka..kz, jp..ju, ma..mc) and all transport values are stated verbatim in the source. (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "full input list completeness for every regional model variant not stated; firmware version not stated in source."
- "no explicit settable parameters documented beyond discrete actions above"
- "source does not describe unsolicited notifications from the device"
- "source does not describe multi-step sequences"
- "source does not contain safety warnings or interlock procedures."
- "full list of regional model variants not confirmed; firmware version compatibility not stated in source. The IR Code Table key codes referenced by the `mc` Key command are listed in the source but were not transcribed as individual actions (they are sent via the `mc` action)."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0