Do you want to test your next Mac OS X-to-Arduino project without always having the Arduino available? Do you want to test you cool Processing application when your mate hasn't finished writing the Arduino sketch? Do you want to do test driven development of your Mac OS X based application without dependency on your microcontroller? If the answer to any of these questions is yes, then VirtualSerialPortApp is for you. Creating a pair: When you launch VirtualSerialPortApp you have the option to name the two ends of the virtual serial port pair (both of which will reside in the system protected /dev directory). It is also possible to set the baud rate at which the pair will communicate. Once you are happy with parameters select the Create Pair Button. You will then be prompted for your password, this is necessary as the /dev directory is a 'root' owned directory and to create the pair (e.g. write new files) it is necessary to invoke the underlying socat tool as root. Having created the pair, the interface changes such that you cannot amend the names of the two end points or change the baud rate. You can now either monitor one of the end points or break the pair. Whilst the underlying Pseudo TTY's are told to operate at the specified speed the actual transfer speed is currently ignored by the OS when data is communicated between the pair. Monitoring a port: Having created a virtual serial port pair you have the ability to monitor one of the end points you have created. To open the monitor window click on the eye icon against the corresponding end point. When you open the monitor window you are not actually connected to the end point (perhaps you want to send and receive some data prior to your interaction) and therefore you need to select Connect to be able to send and view data for that end point. When you select Connect (and a successful connection is made) the interface changes to allow data to be sent and for files to be opened. Sending data: Having made a connection to one of the end points any data received on the end point is displayed in output window. To send data, arbitrarily long text can be typed into the textfield and sent by selecting the Send button. Alternatively, and to avoid always having to re-type test data, you can open a file. Having selected a file, it is transmitted in its raw (byte) form to the paired end point. Breaking a pair: After you finish with your virtual serial port pair, you will be able to break the pair and clean up the underlying /dev directory. To enable this, simple select the Break Pair button on the main window. You will be prompted for your password again (as with creating the pair, it is a privileged operation removing the underlying files). Detailed instructions on how to install and use the VirtualSerialPortApp utility on your Mac are available HERE.