Xprotolab Plain

The Xprotolab Plain is a multi scope board created by Gabotronics. It is the most inexpensive but feature rich oscilloscope in the market. It consists of a simple DIP module with a USB interface. Visualization of the signals and controlling the oscilloscope is done on the PC interface software (open source). The Xprotolab Plain is similar to the original Xprotolab, but doesn't have the display and buttons, so it only works with the USB interface. The board measures only 1 x 2 inches, and can be mounted directly on a breadboard. The Xprotolab can also be used as a development board for the AVR XMEGA microcontroller.

Our Package includes

  • Xprotolab Plain (Connectors were soldered)
  • 10 x IC hook
  • Micro USB Cable

Documents & links

Pin description

Name Description Comment
+5V +5V Input voltage Do not apply +5V if using the USB port
+3V +3.3V Output voltage 200mA max output
GND Ground It is recommended to use all ground pins to reduce voltage offset errors.
CH1 Analog Channel 1 Input range : -14V to +20 V
CH2 Analog Channel 2 Input range : -14V to +20 V
AWG Arbitrary Waveform Generator Output range : +/- 2V
EXT External Trigger Digital input, max 5.5V
Logic 0 Digital Channel 0 I2C Sniffer signal : SDA
Logic 1 Digital Channel 1 I2C Sniffer signal : SCL
Logic 2 Digital Channel 2 UART Sniffer signal : RX
Logic 3 Digital Channel 3 UART Sniffer signal : TX
Logic 4 Digital Channel 4 SPI Sniffer signal : /SS
Logic 5 Digital Channel 5 SPI Sniffer signal : MOSI
Logic 6 Digital Channel 6 SPI Sniffer signal : MISO
Logic 7 Digital Channel 7 SPI Sniffer signal : SCK

General specifications

  • Module size : 1.980“ x 1.01”
  • PDI interface
  • USB connectivity : Windows, Linux, MAC, Android

Oscilloscope specifications

  • 2 Analog inputs
  • Maximum sampling rate : 2MSPS
  • Analog bandwidth : 200kHz
  • Resolution : 8bits
  • Input impedance : 1MΩ
  • Buffer size per channel : 256
  • Input voltage range : -14V to +20V

Logic Analyzer specifications

  • 8 Digital Inputs, 3.3V level
  • Maximum sampling rate : 2MSPS
  • Frequency counter : 16Mhz
  • Protocol sniffer : UART, I2C, SPI
  • Internal pull up or pull down
  • Buffer size : 256

AWG specifications

  • 1 Analog output
  • Maximum conversion rate : 1MSPS
  • Analog Bandwidth : 44.1kHz
  • Resolution : 8bits
  • Output current : +/- 7mA
  • Buffer size : 256
  • Ouput voltage : +/- 2V

Xprotolab plain is available on ODROID-XU4, C1/C1+ and C2 with Ubuntu.
And you can use it on Ubuntu Host PC (x86).

1. Install Qt packages

(1) XU4
$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get install -y qt5-default libqt5serialport5-dev libusb-1.0-0-dev
$ sudo apt-get --reinstall install libgles2-mesa
(2) C2
$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get install -y qt5-default libqt5serialport5-dev libusb-1.0-0-dev
(3) C1/C1+
$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get install -y qt5-default libqt5serialport5-dev libusb-1.0-0-dev

In case of C1/C1+, you should add swap space due to its limited RAM.
Before build operation of xscopes-qt, run the following steps.

$ sudo fallocate -l 2G /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile

After build, you can free the swap space as following.

$ sudo swapoff -a
(4) Ubuntu PC (x86)
$ sudo apt-get install -y qt5-default libqt5serialport5-dev libusb-1.0-0-dev
$ sudo apt-get install libudev-dev

2. Get soure code

$ sudo apt-get install git
$ cd ~
$ git clone

3. Build

$ cd ~/xscopes-qt
$ qmake
$ make -j4

It takes a couple of minutes to compile and get the xscope image.

If you encounter this error during build process, reinstall mali-x11 package.

g++ -Wl,-O1 -o xscope main.o xprotolabinterface.o qcustomplot.o libusbdevice.o fft.o complex.o customtheme.o serialp 
/usr/bin/ld: cannot find -lGLESv2
$ sudo apt-get install --reinstall mali-x11

4. Run

  • Run xscope command as a root
$ sudo ./xscope
  • Then, connect Xprotolab to your Board using micro USB cable
  • Click “Connect” button in the tab [Options] → [Connection]

[ Tips! ] Run without sudo

It's an optional tip, so you don't need to follow the steps by default.

If you want to run the program without sudo such as desktop icon, you need to change the permission and reload udev.

  • Remove the USB cable of Xprotolab from your board
  • Add the following line into a udev rules file.

For C2,
add the following line in /etc/udev/rules.d/10-odroid.rules.

SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="06f9", GROUP="users", MODE="0666"

For XU4 and C1/C1+,
add the following line in /etc/udev/rules.d/10-odroid.rules.

 SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="06f9", GROUP="plugdev"

And for Ubuntu PC (x86),
add the following line in /etc/udev/rules.d/100-usb.rules or another rules file you already have.

 SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="06f9", MODE="0666", GROUP="plugdev"
  • Then reload the udev
$ sudo udevadm control --reload
  • Connect Xprotolab and Click “Connect” button again

Learn more on this page if you want to run it on other OS.
Other OS programs

You can confirm program installation and HW connection by checking AWG signal.

1. Wiring
Connect [CH1] and [AWG] directly using a probe.

2. Waveform setting
Please find the tab, [Waveform Generator] of Xscope program and set options.

  • accessory/development/xprotolab.txt
  • Last modified: 2019/10/01 13:02
  • by joy.cho