CrestronSIMPL+RS-232Serial ControlAV Programming

Crestron SIMPL+ Serial Control: A Practical Guide for AV Integrators

May 4, 2026

Crestron SIMPL+ serial modules let you control any RS-232 device with custom code. Once you understand the structure, you can build a working module for any device in under an hour.


SIMPL+ Module Structure

Every SIMPL+ module has: compiler directives, input/output declarations, variable declarations, and event handlers.

```

#SYMBOL_NAME "My_Device_Control"

STRING_INPUT RX$[256];

BUFFER_INPUT RXBuf$[1024];

DIGITAL_INPUT PowerOn, PowerOff;

STRING_OUTPUT TX$;

```


Compiler Directives

  • 3-Series: #CRESTRON_SERIES_3 (or leave blank)
  • 4-Series: #CRESTRON_SERIES_4
  • Both: #CRESTRON_SERIES_3_AND_4

COM Port Configuration

In SIMPL Windows Configuration Manager, set:

  • Baud rate to match the device (9600 most common)
  • 8 data bits, No parity, 1 stop bit
  • Hardware handshaking: Off
  • Software handshaking: Off

Sending Commands

```

PUSH PowerOn

{

TX$ = "PON\x0D";

}

// With HEX bytes (Sony):

PUSH PowerOn

{

TX$ = "\x8C\x00\x00\x02\x01\x8F";

}

// With variable data:

CHANGE VolumeLevel

{

TX$ = "VOL" + ITOA(VolumeLevel) + "\x0D";

}

```


Parsing Responses

Use BUFFER_INPUT and GATHER:

```

CHANGE RXBuf$

{

STRING incoming[256];

incoming = GATHER("\x0D", RXBuf$);

IF (FIND("PON", incoming) > 0) { PowerFb = 1; }

IF (FIND("POF", incoming) > 0) { PowerFb = 0; }

}

```


Key String Functions

FunctionDescription
`FIND(needle, haystack)`Position of substring or 0
`MID(string, start, count)`Extract substring
`ITOA(integer)`Integer to ASCII string
`ATOI(string)`ASCII string to integer
`CHR(integer)`Character from ASCII code

Common Mistakes

  • No string size in declaration — always declare: STRING MyCmd[50]
  • STRING_INPUT instead of BUFFER_INPUT — always use BUFFER_INPUT for receive
  • Not using GATHER — parse RXBuf$ without GATHER and you get partial responses
  • Forgetting compiler directive — causes warnings on 4-series projects

Related Guides


Free RS-232 Tools

Baud rate reference, device settings table, terminator guide, and DB9 pinout — all free, no signup required.

Open Free RS-232 Tools →


Generate RS-232 Commands Instantly

Need exact command strings for a device not covered here? [AV-Command](https://av-command.com) includes free RS-232 troubleshooting checklists and a free tools reference — no signup required. The AI Assistant generates exact command strings, serial port settings, and Crestron SIMPL+ code for hundreds of devices instantly.

Try AV-Command Free — upgrade anytime for AI commands →

⚡ AV-Command Pro
Need commands for a different device?
AV-Command generates RS-232 command strings, serial port settings, and Crestron SIMPL+ code for hundreds of AV devices instantly.
Get Pro Access — $5.99/mo →