User Manual
www.veear.eu
24 EasyVR 3 User Manual (1.0.14)
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) or communication proxies/bridges.
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










