2B is a simple protocol used to receive and send messages to Arduino, it provides a convenient method to use the device in conjunction with a PC
It uses a two ASCII chars based protocol to represent port address and value.
For example, to set port 11 to 65 (pwm port), the first char will be "VT"(vertical tab) and the second one "A". see extended version of ASCII table
In this way, the analog ports had been limited to 255 values. Any sign of 127 to 255 in ASCII table will correspond to the sign by the table as: Windows 1251 (Cyrillic), ISO 8859-7 or Windows 1252 (Latins).
The protocol uses two separate one way channels to set and read device ports. With this protocol, you can treat it as a post processor Arduino through RS232. Program in the Arduino can be easily modified as the case makes it quite flexible. In its request for an extension
program could work with multiple devices simultaneously, but still needs a chief controller, and some hardware changes.
All has been tested on Ubuntu Edgy/Feisty. The "ser" python class contained into "ser.py", will search the right port for you. If the class is not able to find a valid port, check if it is like "/dev/ttyUSB*" on your system, if not, fix it in "ser.py" file
A problem with "ftdi_sio" has been detected if "brltty" is installed. Remove it if you do not need soft braille display
Enjoy it!
Marco Sangalli