# uSMU **Repository Path**: Fly_zhou/uSMU ## Basic Information - **Project Name**: uSMU - **Description**: No description available - **Primary Language**: Unknown - **License**: CERN-OHL-P-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-08-18 - **Last Updated**: 2026-10-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
## Background
SMUs are "4-quadrant" devices, meaning they can both source **and** sink current at both positive **and** negative voltages. This makes them very useful for semiconductor device characterisation - including LEDs, transistors and solar cells.
In photovoltaic research laboratories, a SMU is typically used to vary the voltage applied to an illuminated solar cell, whilst simultaneously measuring the current. This voltage sweep allows us to plot the solar cell's I-V characteristics, and calculate its light-to-power conversion efficiency.
SMUs are generalised pieces of test equipment, designed to be highly sensitive over vast current & voltage ranges. For example, the workhorse [Keithley 2400](https://uk.tek.com/keithley-source-measure-units/keithley-smu-2400-series-sourcemeter) has a voltage range between 100 nV and 200 V, and a current range between 1 pA to 10 A. This is likely overkill for most research and education applications concerning solar cells, which tend to operate between 0-5 V and μA to mA. The μSMU doesn't intend to replace precision SMUs, rather to supplement them in cost-sensitive areas where such precision is not required.
The μSMU is a USB-powered SMU with a +/- 5 V voltage range and +/- 50 mA source/sink capability. The PCB is only 70mm x 43mm
## Function
The μSMU was originally inspired by [Linear Technology's DC2591A evaluation board](https://www.analog.com/media/en/technical-documentation/user-guides/855-dc2591a_rev01_demo_manual.pdf), which demonstrates an I2C address translator IC to interface up to 8 modules containing several I2C devices with an Arduino-style board. Somewhat consequentially, these boards also contain fantastic SMU circuits!
The voltage applied to the device-under-test (DUT) is supplied by a LT1970 opamp driven by a 16-bit DAC on the non-inverting input and a 2.048V reference on the inverting input. The current flowing through the DUT is measured by amplifying the voltage drop through a high-side 50 Ohm shunt resistor using a precision programmable gain amplifier. Both the DUT voltage and shunt resistor voltage drop are measured using a 16-bit ADC. The whole system is controlled using a STM32F072 microcontroller, which presents a USB virtual communications port for interfacing.
## Capabilities
| Parameter | |
| -------------------------- | ------------- |
| Voltage range | -5 to +5 V |
| Voltage measure resolution | ~0.6 mV |
| Minimum voltage step size | <1 mV |
| Current limit | -50 to +50 mA |
| Current resolution | ~10 nA |
## Free I-V Curve Tracer
A free, browser-based I-V curve tracer for the μSMU is available from [Undalogic here](https://www.undalogic.com/usmu/app)
