Examples
SweepMe! can be used for sheer number of academic and industrial measurements and processes, from a simple reading of a temperature sensor to device fabrication by physical vapor deposition in a vacuum chamber. A few example use-cases are presented in this article. However, the possibilities are indeed unlimited! As the retired NASA astronaut Ron Garan once said, “We are limited only by our imagination and our will to act”.
For each use-case, a self-explanatory example Sequencer is given, with a short explanation. One can configure the Modules by double-clicking on them in the Sequencer window. In this article, the Sequencer is depicted with the free online ASCII tree-generator tool Tree.
Current-voltage characteristics
Task
Acquire an IV curve of a semiconductor device
Sequencer
MakeFile
└── SMU-Keithley_2400
└── SMU-Keithley_2400 # e.g. for transistors characteristic curve
Solution
One SMU module is all you need for the quickest, simplest current-voltage curve of a semiconductor device like an LED, a solar cell, or a transistor! By adding a second SMU, one can measure the characteristic curves of two-port networks and devices. Don't forget to input the sweep range of SMU(s) in the sweep values window of the module!
Cyclic battery tests
Task
Measure accelerated battery capacity tests
Sequencer
MakeFile
└── SMU-Rohde&Schwarz_NGx
Solution
Yes! Just one module to do battery tests!
Sensor monitoring system
Task
Make a simple data acquisition and monitoring system for sensors and actuators of a lab or building
Sequencer
MakeFile
└── Loop
└── Logger-Arduino_DHTxx
└── MQTT
└── Delay
Solution
A microcontroller board like Arduino can come in handy as an interface between sensors and computers. There are different SweepMe! drivers accompanied with Arduino .ino sketch files to read common sensors. In the example below, a DHT temperature and relative humidity sensor is read with the Logger-Arduino_DHTxx driver in a certain interval, defined by delay. The data then is published with popular IoT protocol MQTT over the local network. For more information, please refer to Arduino Driver guide and MQTT articles.
Angle dependent spectra
Task
Measure angular spectra of a light sources like OLED, LED
Sequencer
MakeFile
└── Switch-Arduino_StepperMotor
└── SMU-Keithey_2400
└── Spectrometer-OceanOptics_USB4000
Solution
A switch module controls a stepper motor using an Arduino_StepperMotor driver and sweeps positions around the light source. Then an SMU drives the light source and a spectrometer acquires the spectrum at each point.
Device lifetime and material degradation characterization
Task
Measure device lifetime and material temperature, humidity dependent characterization
Sequencer
MakeFile
└── Condition # condition to break the measurement loop e.g. after one month
└── Temperature-BELEKTRONIG_BTC-LAB # Peltier element temperature controller
└── Logger-RaspberryPi-Pico # an MCU as a simple DAQ
└── Loop
└── Delay
Solution
SweepMe! not only suits short-time measurements, but also measurements that can last for weeks and months! You can integrate SweepMe! into your lifetime and degradation setups. Enjoy!
Sensitive EQE measurements
Task
Measuring external quantum efficiency of solar cells or photo detectors
Sequencer
MakeFile
└── Switch - Lamp
└── Switch - Optical chopper
└── Monochromator
└── Switch - Filter wheel
└── Switch - Current amplifier
└── LockIn
└── LockIn
└── CustomFunction
Solution
A module Switch is used to load a driver for controlling a lamp power supply and another one for controlling an optical chopper. A Monochromator module makes a wavelength variation defined in the Sweep editor of this module. At each wavelength, the wavelength is handed over to a Switch module that connects to a filter wheel in order to change filters such that second harmonics are reduced. A further Switch module controls a current amplifier. Two LockIn modules are used to measure the signal at the sample and at the same time at a reference to be able to automatically calculate important parameters such as EQE with a CustomFunction module that is runnign a individual evaluation script.
Wafer prober tests and measurements
Task
In semiconductor industry, it's sometimes the case that the test and automation engineer design a measurement routine quickly and apply different measurements for each die on a wafer.
Sequencer
MakeFile
└── ReadValues
└── WaferProber-SENTIO
└── Switch-Keithley_707B
├── Condition
│ └── SMU-Keithley_4200-SCS
│ └── SMU-Keithley_4200-SCS
├── Condition
│ └── Temperature-Eurotherm_350x
│ └── SMU-Keithley_4200-SCS
│ └── SMU-Keithley_4200-SCS
└── Condition
└── SMU-Keithley_4200-SCS
Solution
With SweepMe!, this task is easier than ever! Define the wafer die positions and measurement routine flags in an Excel file and read it by putting the add-on module ReadValues in the Sequencer. Then check for measurement flags with the add-on module Condition and run the appropriate measurement for the specified die.
Vacuum thin film deposition
Task
Make a fully automated and controlled sample fabrication system through Physical Vapor deposition (PVD) by thermal evaporation
Sequencer
MakeFile
└── Delay # define an interval
└── Logger-Leybold_CombivacCM31 # UHV pressure meter
└── Logger-Inficon-SQM-160 # two-channel QCM deposition rate monitor
└── CustomFunction-Smoothing_Savitzky-Golay # smoothing filter for the matrix deposition rate
└── CustomFunction-Smoothing_Savitzky-Golay # smoothing filter for the dopant deposition rate
└── Switch-Yoctopuce_Yocto-Relay # pneumatic shutter
├── Loop # pre-heating to slightly below the evaporation temperatures
│ └── Temperature-Eurotherm-22xx # temperature controller for matrix crucible
│ └── Temperature-Eurotherm-22xx # temperature controller for dopant crucible
│ └── Condition # exit the loop when the temperatures are reached
├── Loop # waiting loop to guaranty ultra-high vacuum
│ └── Condition # exit the loop if UHV is met
├── Loop # stabilization loop (with more aggressive PID parameters)
│ └── PID # PID module to stabilize the matrix rate
│ └── PID # PID module to stabilize the dopant rate
│ └── Temperature-Eurotherm-22xx # read temperature and apply power to matrix crucible
│ └── Temperature-Eurotherm-22xx # read temperature and apply power to dopant crucible
│ └── Condition # open the shutter at the right deposition rate and exit the loop
└── Loop # deposition loop (with more robust PID parameters)
└── PID # PID module to keep the matrix rate stable
└── PID # PID module to keep the dopant rate stable
└── Temperature-Eurotherm-22xx # read temperature and apply power to matrix crucible
└── Temperature-Eurotherm-22xx # read temperature and apply power to dopant crucible
└── Condition # stop the measurement when a desired thickness is deposited
Solution
With SweepMe! you have all you need for a quick, yet powerful thin-film fabrication with PVD by thermal evaporation. For this you need to boost your SweepMe! with its Add-On Modules like PID, Condition, and CustomFunction. Don't manually tune your PID parameters; instead, use PID module's autotuning feature!