X100 Source Measure Unit (Source Meter)

Order Code: P2005A1-UK


(excluding Taxes)


Xtralien Logo


Xtralien facilitates precision test and measurement by providing the hardware and software required for users to create their own low-cost and effective scientific systems.


Advanced users only: The X100 requires knowledge of programming. For specific applications such as IV curves, please see the turnkey systems on our Test and Measurement page. For guides on how to program the X100, please see our Getting Started page. For Programming in Python, please see our Scientific Python Tutorials.


Product Description - Source Measure Unit

The Xtralien X100 incorporates two source measure units (source-meters) and two precision voltage meters. It is capable of measuring a wide range of research devices including photovoltaics, LEDs and OLEDs, transistors and more.

Xtralien is a section of Ossila devoted to developing precision test and measurement equipment to make device characterisation easier, faster and cheaper.

The board only design of the X100 not only makes it cheaper than conventional source-measure units or semiconductor-parameter analysers but also makes it easier to integrate into experiments and equipment - all with high precision, easy to use programs for common applications* and simple to use command interface compatible with a wide array of languages including LabVIEW, MATLAB, python and many more.

*A variety of applications are in development at the moment - contact us for more information.

manual icon

View our manual

Applications and Material Systems

The number of uses for the X100 is vast. We've put some of the uses below, however most lab-scale devices that require electrical characterisation in the DC (or low frequency) range between ±10 V and ±100 mA per channel can be measured by Xtralien.

Devices & Uses Example Measurement Types
Photovoltaics IV Curves, lifetime measurements, maximum power point tracking etc
LEDs and OLEDs IV Curves, Lifetime
Sheet Resistance 4 Point Probes


Example material systems

Perovskites Nanotubes GaAs and GaN
Graphene & 2D Nanowires Diamond
Metal Oxides Quantum Dots Germanium
Organics CIGS & CZTS Silicon




Advantages of Xtralien

If there is a single objective for X100 it is to make life easier: easier to start characterising devices, easier to set up and start using, easier to collect the data you need and easier to program.

We think that a key skill for experimental scientists is to be able to control instruments. The X100 is designed to allow every budding engineer access to affordable but precision instrumentation and to supercharge the data collection in your labs.

Key advantages include:

  • High-performance and low-cost
  • Simple to use with demo programs for common applications
  • Direct integration with experiments and optical benches
  • Flexible and reliable communications via built-in ethernet and USB
  • Scaleable. Use one at a time or one hundred at a time over ethernet
  • Fully programmable with easy to use command language
  • Compatible with all common programing languages (LabVIEW, Matlab, C, Java, Fortran, Python, Perl etc).


The X100 contains four instruments on one board - two source-measure units and two precision voltage sense channels. There's also a general purpose shutter/trigger to allow it to control other instruments (or be controlled). View as PDF.


Source Measure Units (SMU 1 and SMU 2)

The source measure units output a voltage and then measure both the voltage and current. The output voltage is always measured on the output to the BNC rather than assuming it is at the set voltage in case of any load effects (for example short circuiting the output or low impedances causing a small drop in voltage). Each source measure unit has manually selectable ranges so that both large and small currents can be measured with accuracy.

Source measure unit voltage source specifications:

Range Resolution Accuracy Noise
±10V 333  µV 0.1%  25 µV


Source measure unit voltage measure specifications

Range Resolution Accuracy Noise
± 10 V 100 µV 0.1% 100 µV


Source measure unit current measure specifications.

Range Max Current Resolution Burden Noise
1 ± 100 mA 100 µA < 10 mV 6.0 E-6
2 ± 10 mA 10 µA < 10 mV 6.0 E-7
3 ± 1 mA 1 µA < 10 mV 6.0 E-8
4 ± 100 µA 100 nA < 10 mV 6.0 E-9
5 ± 10 µA 10 nA < 10 mV 6.0 E-10


Precision Voltage Meter Specifications (V sense 1 and V sense 2)

The voltage meters are designed to accurately sense small voltages while simultaneously having a wide dynamic range of ±10 V.

Range Resolution Accuracy Noise
± 10 V 100 µV 0.1% 100 µV



The Shutter/Trigger can be used either as an input or an output. It can be used to send a trigger signal to other instruments or configured to wait for a trigger from other instruments. The voltage level of this BNC is 5 volt any higher my damage the port. 

Demo Programs

To get you up and running quickly, we are building a range of demo programs to do common and useful measurements. Click here for our 'Getting Started' guides.

Of course the true power of the X100 is the flexibility for people to write their own programs which is why it is simple to interface to in any programming language.

Programming Languages

The X100 has been designed to be simple to use and work with pretty much any and every programming language (at least anything that supports either serial coms or ethernet, which is pretty much everything commonly in use). Common languages that can be used to interface to it are:

  • LabVIEW™
  • Python
  • VB
  • Java and Javascript
  • Fortran
  • C / C++
  • Perl

We provide reference code showing basic functionality for LabVIEW, Matlab and Python and PseudoCode that can be translated into most other programming languages so whatever your favourite language you should be up and running quickly.

Xtralien X100 Programming

Example Code

A range of code examples for the various programming languages can be found on the Xtralien page, with the number of applications growing constantly. We've put some example pseudo-code below. Don't worry if you can't (or don't want to code), as you can also use our easy-to-use reference programs to do many common things simply and easily.

Example Pseudo-code (Contact us for real code examples in python, LabVIEW or MATLAB):

#Open a USB serial interface to the instrument (on COM1) at a baud rate 
#of 115,200 and call that instrument interface Xtralien1.
Xtralien1=serial(COM1, 115200);
#send a command to the instrument interface named Xtralien1. There are lots of
#commands available but one of the most simple and powerful is the sweep 
#command. Let's tell the source-measure unit 1 (SMU1) to take a sweep between
# -1 V and 1 V in 0.01V increments as we might do for a photovoltaic device.
print(Xtralien1, "SMU1 sweep -1 1 0.1");
#Now read back a line from the instrument interface
#You now have your sweep data stored as an array of text in the
#variable called data_string. From here you could save it to disk as a csv file
#to open in a spreadsheet or email it to the far side of the world. However, 
#often we'll want to plot it or do some maths on it so its often useful to 
#convert it to an array of numbers (instead of text that represents numbers)
#but this is easy since Xtralien uses standard number and array formatting.
#Data comes back from Xtralien in an array in the form
#voltage_1,current_1; voltage_2,current_2;  ... voltage_n, current_n;
#Convert data_string into a matrix array by scanning it for pairs of regular 
#formatted (%g) numbers separated by a comma. In the case here we have 21 data
#points (from -1 V to +1 V in 0.1 V steps) so we  need to repeat this 21 times.
#and that's it. We can now plot the data or take a fourier transform or do 
#anything we like - the possibilities are endless.