Work In Progress!

Getting Started


Setting Up the Software


-> What Platforms are recommended?

The toolchain has been developed and tested on Ubuntu versions>=12.04 . It has also been tested on Raspbian Wheezy.

-> Installing the toolchain [ Debian packaging pending . I’m sorry you’ll have to go through this]

Installing dependencies (Might be incomplete):

sudo apt-get install python-qt4 python-opengl python-qt4-gl
python-sip python-scipy python-numpy ipython-qtconsole


sudo easy_install pyqtgraph

A) From Github ( *Recommended for now)

git clone
cd vLabtool
sudo python install

B) From PyPI

sudo easy_install vLabtool

——– The above steps install the Python module as well as several Apps that can be accessed directly from a shell.

Current list: vLabtool-scope, vLabtool-stream, and several others, all prepended with ‘vLabtool’ .

* easy_install fails to install the permissions file ‘proto.rules’ to a custom location. In the absence of the rules file, the user will need to manually configure permissions for /dev/ttyACM devices, or run all apps as superuser. So running from a local copy of the software is recommended.

Testing the graphical apps

open a shell (terminal, or ctrl-alt-t) , run the following


This fires up the oscilloscope program which also includes the logic-analyzer, and several widgets to control voltage sources, waveform generators etc.


Check the USB connection first.
If that fails, try running the app in super-user mode

sudo vLabtool-scope

If the above succeeded, then it’s a permissions issue. Please refer to the previous step, and install the toolchain from source [github step].
You may also manually copy the rules.proto file to /etc/rules.d/rules.proto, and restart udev.

sudo udevadm control –reload-rules
sudo udevadm trigger

The following video shows how to use the analog functions . * Clicking on the ‘Digital Signals’ tab will switch the application to Logic Analyzer mode, and you will need to return to the Analog Section for this demo.

For the digital section, select the peripherals tab, and click on the ‘update’ button. This sets a 500Hz, 50% PWM on SQ1,SQ2,SQ3,SQ4 . Connect these to the digital inputs (ID1, ID2 , ID3, ID4 ) , and check them out by clicking on the ‘digital signals’ tab. Right click and drag on the plot for zooming along a particular direction. Here’s a demo video:

The ‘EVERY EDGE’ setting on the logic analyzer is not valid in multi-channel mode if the first signals on any of the channels rise within 200nS of start time, or the trigger signal. If this is the case, please select ‘EVERY_RISING_EDGE’ or ‘EVERY_FALLING_EDGE’ to verify the data.

Getting acquainted with the Python Library

There’s an app designed specifically for letting users quickly try a few odd commands from the library without having to write code which includes initialization routines, or plotting routines.
in a terminal, run:

This will load a window like so,

This is an embedded iPython console with an instance referring to your device already loaded.

iPython will autocomplete function calls on pressing the ‘TAB’ key, and will also display documentation when you open the first bracket

A graph has also been included in this App. It is an embedded PyQtGraph widget with one trace loaded. It has been linked to the iPython widget, and a call to ‘plot’ will plot datasets.
– Left click and drag to pan. Right click and drag to zoom along a particular direction.

If you have matplotlib installed, you could also try

But the interactive PyQtGraph will be much more useful here.

Testing the Wireless Nodes

Run the following command on a shell ( ensure all the nodes are turned off)

    • Connect a supported I2C sensor breakout board to the node ( HMC588L, TSL2561, MPU6050 to name a few)
      Match Vcc,GND,SCL,SDA of the sensors to the labelled pins on the node.
    • Turn on the nodes.
    • Upon turning on the nodes, they transmit their address to any vLabtool that’s listening. Yours is.You will find that their addresses are automatically loaded onto the demo app.
    • Unselect ‘Register new nodes’ [ this is important so that your vLabtool does not keep listening for nodes that other users in the vicinity may be plugging in later ]
    • Click on ‘Refresh Node List’.
    • This will add a row for each node, and each row will contain a pulldown menu with the addresses of the sensors.
    • Select a sensor. Click on ‘GO’
    • Watch data being magically plotted.
    • Try out parameter changing menus that will have been loaded with your sensor.Here’s a video. It’s too fast, so please try and keep up till I replace it.