
www.veear.eu
24
EasyVR 3
User Manual (1.0.11)
EasyVR Programming
Communication Protocol
Introduction
Communication with the EasyVR module uses a standard UART interface compatible with 3.3-5V
TTL/CMOS logical levels, according to the powering voltage VCC.
A typical connection to an MCU-based host:
The initial configuration at power on is 9600 baud, 8 bit data, No parity, 1 bit stop. The baud rate can be
changed later to operate in the range 9600 - 115200 baud.
The communication protocol only uses printable ASCII characters, which can be divided in two main groups:
Command and status characters, respectively on the TX and RX lines, chosen among lower-case
letters.
Command arguments or status details, again on the TX and RX lines, spanning the range of capital
letters.
Each command sent on the TX line, with zero or more additional argument bytes, receives an answer on the
RX line in the form of a status byte followed by zero or more arguments.
There is a minimum delay before each byte sent out from the EasyVR module to the RX line, that is initially
set to 20 ms and can be selected later in the ranges 0 - 9 ms, 10 - 90 ms, and 100 ms - 1 s. That accounts
for slower or faster host systems and therefore suitable also for software-based serial communication (bit-
banging).
Since the EasyVR serial interface also is software-based, a very short delay might be needed before
transmitting a character to the module, especially if the host is very fast, to allow the EasyVR to get back
listening to a new character.
The communication is host-driven and each byte of the reply to a command has to be acknowledged by the
host to receive additional status data, using the
space
character. The reply is aborted if any other character
is received and so there is no need to read all the bytes of a reply if not required.
Invalid combinations of commands or arguments are signaled by a specific status byte, that the host should
be prepared to receive if the communication fails. Also a reasonable timeout should be used to recover from
unexpected failures.
If the host does not send all the required arguments of a command, the command is ignored by the module,
without further notification, and the host can start sending another command.
The module automatically goes to lowest power sleep mode after power on. To initiate communication, send
any character to wake-up the module.
VCC
GND
ERX
ETX
EasyVR
3.3V
– 5V
GND
TX
RX
Host MCU