The CHECKSUM step outputs a checksum calculated from the message contents.

The parameters of this step specifier are:
| SUM8 | Creates a one byte checksum by adding all bytes and truncating the sum to the lowest 8 bits. |
| SUM8H | Like SUM8, but the checksum is coded as a 2 digit hex number. |
| NSUM8 | Creates a one byte checksum by adding all bytes, taking the negative value of the sum and then truncating the sum to the lowest 8 bits. |
| NSUM8H | Like NSUM8, but the checksum is coded as a 2 digit hex number. |
| XOR8 | Creates a one byte checksum by XOR-ing all specified bytes. |
| XOR8H | Like XOR8, but the checksum is coded as a 2 digit hex number. |
| MOD95 | Creates the one character modulo 95 checksum, known from the protocol used by Miteq devices (see below). |
| CRC8 | Creates a one byte CRC8 checksum. |
| CRC16L | Creates a two byte CRC16 checksum, using the ARC/LHA CRC algorithm. Places the least significant byte first (little endian). |
| CRC16B | Creates a two byte CRC16 checksum, using the ARC/LHA CRC algorithm. Places the most significant byte first (big endian). |
| start | The buffer position of the first character to be included in the checksum computation (0 means the first character). |
| end | The buffer position of the last character to be included in the checksum computation, relative to the actual position (-1 means the character left of the first checksum character). |
The MOD95 type checksum is computed following the formula:
