Crestron SIMPL+ Serial Control: A Practical Guide for AV Integrators
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
| Function | Description |
| `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
- ▸Panasonic Projector RS-232 Commands
- ▸Extron RS-232 Control Guide — SIS Protocol
- ▸Sony BRAVIA Professional RS-232 Commands
- ▸NEC Display RS-232 Commands
- ▸Kramer Switcher RS-232 Commands — Protocol 2000 & 3000
- ▸[Crestron SIMPL+ Serial Control Guide]- Biamp Tesira RS-232 and Telnet Control
- ▸QSC Q-SYS External Control Protocol
- ▸AMX NetLinx Serial Control Guide
- ▸RS-232 vs IP Control in Commercial AV
- ▸Crestron vs AMX vs Extron: Control System Comparison
Free RS-232 Tools
Baud rate reference, device settings table, terminator guide, and DB9 pinout — all free, no signup required.
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.