Skip to content
Shopping from United States? (prices in USD)
Free US shipping over $50 (lower 48)
Ship to
Electron Plus
← All manuals

SPA120 Dual Source Picoammeter


title: "SPA120 User Manual" subtitle: "Dual Source Picoammeter" version: "V26301" date: "April 2026" lang: "English"

Notices

Copyright

© Electron Plus 2024-2026

This manual (or part thereof) may not be reproduced by any means (electronic or photographic, including translation into a foreign language) without prior written consent and agreement from Electron Plus as set-out in United Kingdom and international copyright laws.

Electron Plus is a trading style of Electron Plus Instruments Limited.

Part Number

SPA120_V26301_EN.PDF

Issue

V26301, April 2026

Location

The latest version of this document can be found on our website:

www.electron.plus/manuals

Published By

Electron Plus Instruments Limited
Unit 8 Manor Farm Business Centre
Manor Lane
Stutton
Suffolk
IP9 2TD
UK

Hereafter referred to as Electron Plus.

Notes

  • We frequently update our manuals and add new features and improvements as they become available, please ensure that you check our website for an updated version of this document, especially if updating your Electron Plus software.
  • We make every effort to ensure the accuracy of this manual's contents. If you find any errors, have suggestions for expanding on a feature, or feel that we can improve its contents then please contact us at support@electron.plus
  • Copying or reproducing this document or any part of this document without written permission of Electron Plus is strictly prohibited.

Trademark Acknowledgement

Electron Plus fully recognises and acknowledges any trademark(s) of the respective trademark holder.

Windows™ is a trademark of Microsoft Corporation.

Purpose of Manual

The purpose of this manual is to enable you to safely setup, configure and operate your Electron Plus instrument, associated software and/or accessories.

Please pay particular attention to any section with a warning symbol.

Safety Warnings

Warnings, cautions and notes are colour coded through-out this manual. These are divided into several categories and are described below:

::: warning WARNING - Pay special attention to anything written here - this is for your safety and continued protection and is critical information! :::

::: caution CAUTION - Damage may occur to your equipment or any DUT (device under test). :::

::: note NOTE - General text, with useful information or tips. :::

REACH / CLP Compliance Statement

Statement on Safety Data Sheet (SDS) for product:
SPA120 Dual Source Picoammeter

According to EU Regulation (EC) N° 1907/2006 (REACH) and Regulation (EC) N° 1272/2008 (CLP), no Safety Data Sheet is required for this product.

This product is classified as an article under REACH and:

  • has no hazardous classification under CLP
  • contains no Substances of Very High Concern (SVHC) in concentrations above 0.1% w/w and no intentional released under normal or reasonably foreseeable conditions of use (REACH Article 33)
  • complies with Directive 2011/65/EU (RoHS) as amended by Directive (EU) 2015/863 (RoHS 3)

For safe use, please refer to the user manual and product labelling.

Should any changes occur in product composition or regulations, we will notify affected customers promptly.

Issued by:
Electron Plus Instruments Limited

Issue date:
March 2026


Getting Started

Welcome to the EPIC software for the SPA120 Dual Source Picoammeter by Electron Plus. This manual covers every aspect of operating the instrument and software. The SPA120 provides two independent measurement channels (Ch.1 and Ch.2), each with its own current measurement input and programmable bias voltage source.

What is the SPA120?

The SPA120 is a Dual Source Picoammeter that provides two independent measurement channels (Ch.1 and Ch.2). Each channel has its own current measurement input and programmable bias voltage source, allowing simultaneous measurement of two devices or two points on the same circuit. Both channels offer the full range of measurement capabilities, with the added benefit of dual-channel operation for comparative or differential measurements.

Key Specifications

ParameterSpecification
Current measurement ranges2mA, 200uA, 20uA, 2uA, 200nA, 20nA, 2nA, 200pA
Number of ranges8
Bias voltage supply0V to +40V (or -40V)
Polarity controlPositive / Negative
Sample rates2Hz, 10Hz, 20Hz
Rolling averaging1x, 2x, 4x, 8x, 10x, 16x, 20x, 32x, 40x, 64x
Channels2
InterfaceUSB 2.0
SoftwareEPIC (free updates)

System Requirements

  • Windows 10 or later
  • USB 2.0 port for instrument connection
  • Minimum 1440x900 display resolution (1920x1080 recommended)
  • EPIC software (free download from www.electron.plus)

What is in the Box

  • 1x SPA120 Dual Source Picoammeter
  • 1x USB cable

Instrument Indicators

The SPA120 has one LED indicator:

  • GREEN LED — Indicates the unit is connected and communicating with the EPIC software.

The source output state is shown by the Source button indicator in the EPIC software. There is no physical LED for source status.


Quick Start

  1. Connect the SPA to your computer via the USB cable
  2. Launch the EPIC software
  3. Select SPA120 as the active instrument (if not already selected)
  4. Click the Connect button to establish communication
  5. Select the desired current measurement range
  6. Set the bias voltage and polarity as required
  7. Connect your device or circuit to the input terminals
  8. Enable the Source output by clicking the Source button
  9. Click Run to begin recording and observe the live current on the graph

::: warning Always ensure the source output is disabled in EPIC before connecting or disconnecting devices from the input terminals. The Source button indicator must show OFF before handling the input connections. :::


Introduction

Welcome

Congratulations and thank you for purchasing an Electron Plus product.

Please take a few minutes to read the 'Before you start' section of this manual, especially as misusing this product can result in damage to it, your device-under-test or potentially place you in danger.

Before You Start

General

The SPA120 is a USB-powered instrument and does not require an external power supply under normal operating conditions.

Handle the input terminals and connectors with care. Do not force connections or over-tighten terminal posts.

::: caution The SPA120 can generate bias voltages up to 40V at the output terminals. Users are expected to be fully aware of the risks posed by these voltages and the precautions required to maintain safety. :::

::: warning If the Source button in EPIC shows ON, assume that a bias voltage is present at the output terminals and act accordingly! :::

Safety and Handling

::: warning WARNING - Read this section carefully before operating your Source Picoammeter :::

Maximum Ratings

The SPA120 has the following absolute maximum ratings that must never be exceeded:

ParameterMaximum Rating
Bias voltage output0V to ±40V DC
Input current (measurement terminal)Do not exceed selected range full-scale
Operating temperature0°C to 40°C
Storage temperature-20°C to 60°C
Humidity20% to 70% RH, non-condensing

::: caution Exceeding these limits may permanently damage the instrument and void your warranty. :::

Electrostatic Discharge (ESD) Precautions

The SPA120 contains sensitive electronic components that can be damaged by electrostatic discharge. When handling the instrument:

  • Use an anti-static wrist strap when connecting/disconnecting measurement leads
  • Store the instrument in its anti-static packaging when not in use
  • Avoid touching the input connector centre pins directly
  • Discharge yourself by touching a grounded metal object before handling

Package Contents

Your SPA120 package should contain:

  • 1x SPA120 Dual Source Picoammeter
  • 1x USB 2.0 cable

::: caution If any items are missing or damaged, please contact Electron Plus immediately at support@electron.plus :::

Initial Inspection

Before use, inspect your instrument for any damage that may have occurred during shipping:

  1. Check the enclosure for cracks, dents, or other physical damage
  2. Inspect the input connectors for bent pins or damage
  3. Examine the USB connector for damage
  4. Verify the instrument label shows your serial number

::: caution If you notice any damage, do not operate the instrument. Contact Electron Plus or your distributor immediately. :::

Measurement Best Practices

For accurate low-current measurements, follow these guidelines:

  • Allow the instrument to warm up for a few minutes before precision measurements
  • Use the Null/Zero function to cancel offset currents before taking critical readings
  • Keep measurement cables as short as practical
  • Use shielded cables for measurements below 20nA to minimise noise pickup
  • Use guarded connections where possible for measurements below 2nA to reduce leakage paths
  • Avoid fluorescent lighting and other sources of electromagnetic interference near the measurement area
  • Ensure all connections are clean and free from oxidation or contamination
  • Allow the measurement to stabilise — settling time increases for lower current ranges
  • For ultra-low current measurements (200pA range), use a Faraday cage or shielded enclosure

Operating Environment

  • Temperature: 0°C to 40°C (32°F to 104°F) operating, -20°C to 60°C storage
  • Humidity: 20% to 70% relative humidity, non-condensing
  • Altitude: Up to 2000m above sea level
  • Location: Indoor use only, in a clean, dry environment
  • Ventilation: Ensure adequate airflow around the instrument

What You Will Need

To operate the SPA120, you will require:

Installation Sequence

Please install the EPIC software BEFORE connecting your instrument to a computer for the first time.

You do not need to remove a previous copy of EPIC, the new copy will overwrite the necessary existing file(s). The "settings.txt" file will only be created if it is not present.

When EPIC is first started, it will build a number of files (unless they are already there from a previous installation) in the installation directory.

EPIC software is specifically for the Electron Plus range of products including curve tracers, source picoammeters, analog signature analysers, and power analysers ONLY.

::: note If upgrading from an earlier version of EPIC please be aware that the program EXE is named after the version (e.g. EPIC26_64.EXE). Previous desktop shortcuts may not work or may link to the previous version. :::

Installing EPIC Software

Electron Plus products require a USB connection to a PC running EPIC (our proprietary software) in order to function.

You can download the latest copy of EPIC for free from www.electron.plus/software. EPIC is being constantly revised with new features, updates and bug fixes.

  1. Download the installer ZIP file from the software page (e.g. Install_EPIC26007_64.ZIP)
  2. Open the downloaded file (Windows will recognise the ZIP format and display the contents like a folder), then double click the EXE installer inside
  3. Follow the on screen instructions to complete the installation

Before starting EPIC, we recommend installing the USB driver — see next section for details.

::: note This manual MAY NOT represent the most up-to-date features and screen-shots, if something is unclear, please contact support@electron.plus and we will promptly try to assist you. :::

Installing the USB Driver

This product communicates with the host PC via USB using a CH340 bridge IC made by WCH.

A copy of the official WCH device driver is available from the SOFTWARE section of our website www.electron.plus/software, device drivers can also be downloaded directly from WCH's website.

The driver we use with Windows machines is: CH341SER and is available as .EXE or a .ZIP


Connecting Your Instrument

USB Connection

The SPA connects to your computer via a USB 2.0 cable. The instrument uses a CH340 USB-to-serial bridge which creates a virtual COM port.

The SPA120 is USB-powered and does not require an external power supply for normal operation.

COM Port Selection

The software will attempt to auto-detect the SPA on startup. If auto-detection fails:

  1. Open Settings by clicking the Settings button
  2. Navigate to the Comms tab
  3. Use the Scan button to search for available COM ports
  4. Select the correct COM port from the dropdown list
  5. Click Set to confirm

The SPA120 has its own COM port setting stored independently from other instruments. The assigned COM port is displayed under the instrument button on the Instrument selection tab.

Connection Status

The connection status is displayed in two places:

  • Connect button in the top bar - shows the current connection state
  • Comms Status widget (if enabled via the Advanced panel) - shows detailed communication statistics including TX, RX, and Errors
StatusMeaning
ConnectedInstrument is communicating normally
DisconnectedNo communication with instrument
SearchingSoftware is attempting to find the instrument
ErrorCommunication error detected

Troubleshooting Connection Issues

  • Ensure the USB cable is firmly connected at both ends
  • Check that the GREEN LED on the SPA is lit (indicates power and USB connection)
  • Try a different USB port on your computer
  • Check that the correct COM port is selected in Settings
  • Ensure no other software is using the same COM port
  • Check Windows Device Manager for the COM port listing
  • Try restarting both the software and the instrument

Input Settings

The input settings control how the SPA measures current from the device under test. These controls are located in the left-hand ribbon of the main display.

Range Selection

The SPA provides eight current measurement ranges, each optimised for a specific decade of current. Select the range using the Range control in the left ribbon. Use the + and - buttons to step through the available ranges.

RangeFull ScaleBest For
2mA2 milliampsGeneral-purpose current measurement, LED testing
200uA200 microampsModerate leakage currents, sensor characterisation
20uA20 microampsLow-current device testing, photodetector characterisation
2uA2 microampsInsulation resistance testing, low-leakage semiconductors
200nA200 nanoampsHigh-resistance material characterisation
20nA20 nanoampsUltra-low leakage measurement, capacitor leakage
2nA2 nanoampsPicoammeter-grade measurement, thin-film characterisation
200pA200 picoampsUltra-low current measurement, guard-ring structures

Choosing the correct range: Select the lowest range that can accommodate the expected current without over-ranging. A lower range provides finer resolution and lower noise. If the measured current exceeds the selected range, the display will indicate an over-range condition.

::: note For best accuracy at very low currents (2nA and 200pA ranges), allow the instrument to warm up for a few minutes and use the Null/Zero function to cancel any offset before taking measurements. :::

Sample Rate

The sample rate determines how frequently the instrument acquires current readings. Select the sample rate using the Sample Rate control.

Sample RateDescription
2HzSlowest rate. Provides the lowest noise and best accuracy. Ideal for stable, low-current measurements where speed is not critical.
10HzBalanced rate. Good compromise between noise performance and update speed. Suitable for most general-purpose measurements.
20HzFastest rate. Best for capturing rapidly changing currents or for fast data logging. Higher noise floor than slower rates.

A slower sample rate allows the instrument to average over a longer integration period, reducing noise and improving measurement stability. Use 2Hz for the most demanding low-current measurements and 20Hz when you need to capture transient behaviour.

Null / Zero

The Null (also called Zero) function cancels residual offset current in the measurement path. This is essential for low-current measurements where offsets from cables, connectors, and the instrument's input circuitry can be significant.

To perform a null/zero:

  1. Disconnect the device under test (or ensure zero current is flowing)
  2. Allow the reading to stabilise
  3. Click the Null button
  4. The instrument captures the current offset and subtracts it from all subsequent readings

The null offset is stored for the currently selected range. If you change ranges, you may need to perform the null procedure again.

On the SPA120, each channel has its own independent Null function. Click the Null button in the Ch.1 or Ch.2 controls to null that channel separately.

::: note Null/zero is particularly important when measuring on the 200pA, 2nA, and 20nA ranges, where input offset currents can be a significant fraction of the full-scale reading. :::

Rolling Averaging

Rolling averaging reduces noise by computing a moving average of multiple consecutive readings. Select the averaging factor using the Averaging control.

Averaging FactorEffect
1xNo averaging. Each displayed reading is a single sample.
2xAverage of 2 consecutive readings
4xAverage of 4 consecutive readings
8xAverage of 8 consecutive readings
10xAverage of 10 consecutive readings
16xAverage of 16 consecutive readings
20xAverage of 20 consecutive readings
32xAverage of 32 consecutive readings
40xAverage of 40 consecutive readings
64xAverage of 64 consecutive readings. Maximum smoothing.

Trade-off: Higher averaging factors produce a smoother, more stable reading but increase the response time. With 64x averaging at 2Hz sample rate, the displayed reading reflects the average over 32 seconds of data. For fast-changing signals, use a lower averaging factor or no averaging (1x).

Typical usage:

  • 1x to 4x - Fast-changing signals, transient capture, initial setup
  • 8x to 20x - General-purpose measurement, moderate noise reduction
  • 32x to 64x - Stable DC measurements where maximum noise rejection is needed

Source Supply

The SPA includes a programmable bias voltage source for applying a controlled voltage to the device under test. The source supply controls are located in the left-hand ribbon of the main display.

Voltage Control

The source supply provides a continuously adjustable output from 0V to +40V (or -40V when negative polarity is selected). Use the + and - buttons to step through preset voltage levels, or click the centre of the control to enter a custom voltage value directly via a dialog.

The voltage output is suitable for biasing semiconductors, driving sensors, characterising high-resistance materials, and measuring insulation resistance.

::: caution Always start with a low voltage when testing an unknown device and increase gradually to avoid damage. :::

Polarity

The source supply polarity determines whether a positive or negative voltage is applied to the output terminals. Click the polarity toggle to switch between Positive and Negative.

  • Positive: Applies a positive bias voltage (0V to +40V)
  • Negative: Applies a negative bias voltage (0V to -40V)

Select the polarity appropriate for your device under test and measurement configuration.

Source On/Off

The Source button enables or disables the bias voltage output.

  • Click Source to toggle the voltage output on or off
  • The Source button indicator in EPIC shows the current state
  • The source will automatically disable if a communication error occurs
  • On the SPA120, each channel has its own Source on/off control

::: warning Always ensure the device under test is properly connected before enabling the source output. The Source button must show OFF before connecting or disconnecting devices. :::


Graph Display

The main graph area plots measured current against time.

Main Graph

Current (Y-axis) is plotted against time (X-axis). The display updates continuously as new readings are acquired, showing stability, transient events, drift, and the effect of voltage changes on current.

Graph Title

Click the graph title at the top of the main graph to edit it. The title is saved with setup files.

Graph Key

Below the main graph, a colour-coded key identifies each channel's trace. Ch.1 is shown in yellow, Ch.2 in cyan. Toggle the key on or off from the Graph Keys button in the Advanced panel.

Sub-Graph Overview

Below the main graph, a sub-graph overview provides a miniature view of the entire recording. This is particularly useful for long recordings where only a portion of the data fits in the main graph view.

Key features of the sub-graph:

  • Shows the complete recording at all times, giving context for where the current view sits within the full dataset
  • C and D markers (vertical dashed lines with drag handles) indicate which portion of the recording is currently displayed in the main graph. These are labelled C and D to distinguish them from the main graph's A and B measurement cursors
  • Drag the C or D markers to manually scroll through the recording. Dragging either marker moves the entire view window — C marks the left (start) edge and D marks the right (end) edge
  • Click within the sub-graph to reposition the view

Auto-follow mode: When first started, the D marker automatically tracks the right edge of the incoming data so the main graph always shows the latest measurements. This is indicated by the D marker turning green. If you drag either C or D marker to browse earlier data, auto-follow disengages and the D marker returns to the normal grid colour. To re-engage auto-follow, simply drag the D marker back to the right edge of the sub-graph — it will snap to auto-follow mode and turn green again

Trace dimming: Click on a column of the sub-graph to dim that trace, useful for focusing on specific time regions or comparing before/after segments.

Splitter bar: The boundary between the main graph and sub-graph can be dragged vertically to adjust the relative sizes of each graph. Drag up to give more space to the sub-graph, or down to enlarge the main graph. The splitter position is saved with setups.

Timebase

The Timebase control in the left ribbon sets the horizontal time scale (seconds per division) for the main graph. Use the + and - buttons to zoom the time axis in or out. The timebase determines how much time is visible in the main graph window at once. Smaller timebase values show finer detail; larger values show more data.

Y-Axis Scale

The Y-Scale control sets the vertical current scale (amps per division) for the main graph. Use the + and - buttons to adjust the vertical zoom. The Y-axis scale determines how much current range is visible in the main graph.

Y-Axis Mode

Below the Y-Scale control, four mode buttons control how the Y-axis is positioned:

ModeDescription
AUTOAutomatically adjusts the Y-axis range to fit all visible data. Best for general use.
CENTRECentres the Y-axis around the current live reading, keeping the trace mid-screen.
FORCE+Forces the Y-axis positive, placing zero at the bottom of the graph. Useful when measuring only positive currents.
FORCE-Forces the Y-axis negative, placing zero at the top of the graph. Useful when measuring only negative currents.

Recording

Click the Run button to begin recording current measurements to the graph. The instrument will continuously acquire and display readings at the selected sample rate.

Click the Stop button to end the recording session. The session is automatically saved, and the graph is cleared ready for the next recording.

Pause and Resume

Click the Pause button to temporarily suspend recording without ending the session. The graph retains all data collected so far.

Click Pause again (or Run) to resume recording. New data is appended to the existing session. The boundary between paused and resumed segments is marked on the graph.

Pause Markers

In Local Time and UTC display modes, pause boundaries appear as a filled gap on the graph with a rotated text label showing the duration of the pause (e.g. "RECORDING PAUSED FOR 00:01:23.456").

Range Change Warning

If the measurement range is changed on either channel during a pause, a bright red warning is displayed alongside the pause duration text:

CH1 RANGE: 200 pA → 2 nA | CH2 RANGE: 20 nA → 200 nA

This alerts you that data either side of the pause was measured with different sensitivity, so readings across that boundary are not directly comparable. Warnings appear independently for each channel — only the channel(s) whose range actually changed will be shown.


Session Browser

The Session Browser provides access to previously recorded measurement sessions.

Browsing Sessions

Use the < > arrow buttons to step through saved session files. The session data is loaded and displayed on the graph, allowing you to review historical measurements.

Opening a Specific Session

Click the centre of the Session Browser panel (where the session name is displayed) to open a file chooser dialog. This lets you navigate directly to any session JSON file in the sessions folder without stepping through files one at a time.

Returning to Live Data

After browsing session files, start a new recording to return to live data display.


Results Display

The right-hand ribbon displays live numerical data from the instrument.

Live Current

The primary result displayed is the live current reading, shown in engineering notation with appropriate units (mA, uA, nA, or pA). This value updates continuously at the selected sample rate.

Max / Min Tracking

The results display tracks and shows:

  • Maximum (MAX+) - The highest current reading observed since the last reset
  • Minimum (MAX-) - The lowest (most negative) current reading observed since the last reset

Click on the MAX+ display to reset the positive maximum to the current reading, or click on the MAX- display to reset the negative maximum independently. Each reset only affects the value you click on. If a tracked value exceeds 4 digits, the display shows OVR (over-range) instead of the numeric value.

Max/Min tracking identifies peak and trough values during a session.

Resistance Calculation

The SPA calculates and displays the resistance of the device under test using Ohm's law:

R = V / I

Where V is the applied bias voltage and I is the measured current. This provides a real-time resistance reading that updates as the voltage or current changes.

::: note The resistance reading requires a non-zero bias voltage. :::


Cursors

The SPA provides a full cursor measurement system for making precise measurements on recorded graph data.

X Cursors

Click the X Cursor button on the toolbar to enable horizontal (time) cursors. Two vertical cursor lines (A and B) appear on the main graph.

  • Drag cursor A or B directly on the graph to position them
  • Use the +/- fine-adjust buttons in the cursor controls to nudge cursors by small increments
  • Cursor values are displayed in absolute time (seconds from the start of recording), regardless of the current view position

Y Cursors

Click the Y Cursor button on the toolbar to enable vertical (current) cursors. Two horizontal cursor lines (A and B) appear on the main graph.

  • Drag cursor A or B directly on the graph to position them
  • Use the +/- fine-adjust buttons to nudge cursors by small increments
  • Cursor values are displayed with the correct current units (A, with appropriate SI prefix)

Slope Measurement

Click the Slope button to enable slope measurement between the cursor positions:

Slope = (XB - XA) / (YB - YA)

Cursor Results

Toggle the cursor results table using the Cursor Measurements button. When visible, the table appears in the right-hand ribbon and displays:

MeasurementDescription
XATime position of cursor A
XBTime position of cursor B
XB-XATime difference between cursors (delta time)
YACurrent value at cursor A
YBCurrent value at cursor B
YB-YACurrent difference between cursors (delta current)
SlopeRate of change (when slope measurement is enabled)

Activating Slope mode automatically enables the cursor results table.


Dual Channel Features

The SPA120 provides two independent measurement channels, referred to as Ch.1 and Ch.2. Each channel has its own current measurement input, bias voltage source, and associated controls.

Channel Operation

  • Ch.1: The primary measurement channel. All controls in the main left ribbon apply to Ch.1.
  • Ch.2: The secondary measurement channel. Ch.2 controls appear in a dedicated section below the Ch.1 controls.

Each channel operates independently with its own:

  • Current measurement range
  • Bias voltage setting and polarity
  • Null/zero offset
  • Source on/off control

Both channels share the same sample rate and rolling averaging settings.

Dual Channel Display

When using the SPA120, the graph display shows both channels simultaneously. Ch.1 is plotted in yellow and Ch.2 in cyan, allowing direct visual comparison. The bottom information text also shows settings for both channels in their respective trace colours.

The results display shows live readings for both channels, including individual current, max/min, and resistance values.

Typical Applications for Dual Channel Operation

  • Comparative measurement: Measure two similar devices side-by-side under identical conditions to identify differences
  • Differential measurement: Monitor current at two points in the same circuit simultaneously
  • Before/after testing: Use one channel as a reference and the other for the device under test
  • Matched pair selection: Compare devices to find closely matched pairs for precision circuits

CSV Export

The CSV export feature saves measurement data in comma-separated values format, suitable for opening in spreadsheet applications (such as Microsoft Excel or LibreOffice Calc) or importing into analysis software.

Saving CSV Data

Click the CSV button on the toolbar to save the current recorded data. A file save dialog will appear allowing you to choose the filename and location.

CSV File Format

The SPA CSV file contains 9 columns with one row per recorded sample:

ColumnDescription
SampleSample number (sequential from 0)
Time (s)Time in seconds from the start of recording
UTC TimeUTC timestamp for each sample (YYYY-MM-DD HH:MM:SS format)
Ch1 Current (A)Channel 1 measured current in Amps
Ch2 Current (A)Channel 2 measured current in Amps
Input Range Ch1Channel 1 input range setting text
Input Range Ch2Channel 2 input range setting text
Source Ch1 (V)Channel 1 source voltage setting
Source Ch2 (V)Channel 2 source voltage setting

Configuration Options

Configure CSV export in the Settings window under the File Export tab:

SettingDescription
Save LocationFolder where CSV files are saved
Auto-NameAutomatically generate sequential filenames
PrefixText prefix for auto-named files

Auto-Naming

When auto-naming is enabled, files are saved with a sequential counter:

[Prefix]_001.csv, [Prefix]_002.csv, [Prefix]_003.csv...

The counter can be reset or preset to a specific value in Settings.


PNG Capture

The PNG capture feature saves the current graph display as a PNG image file.

Saving a PNG

Click the PNG button on the toolbar to save the current display as a PNG image.

Configuration Options

Configure PNG capture in the Settings window under the File Export tab:

SettingDescription
Save LocationFolder where PNG files are saved
Auto-NameAutomatically generate sequential filenames
PrefixText prefix for auto-named files
Include Sub-GraphInclude the sub-graph area in the capture (checked by default)
Include Top RibbonInclude the top ribbon (toolbar) in the capture
Include Left RibbonInclude the left ribbon (controls) in the capture
Include Right RibbonInclude the right ribbon (results) in the capture
Use CSV NameMatch the PNG filename to the CSV filename

::: note The capture always includes the main graph area. Use the checkboxes to extend the capture to include surrounding ribbons. By default only the sub-graph is included. :::

Auto-Naming

When auto-naming is enabled, files are saved with a sequential counter:

[Prefix]_001.png, [Prefix]_002.png, [Prefix]_003.png...

The counter can be reset or preset to a specific value in Settings.


Metadata Overlay

The Metadata Overlay displays key settings as a semi-transparent table on the graph. Toggle it using the Info button on the top ribbon or via the Advanced panel. Each click cycles through four corner positions before turning off.

Displayed Information

FieldDescription
Ch.1 RangeChannel 1 measurement range (e.g. 200 pA, 2 nA, 20 nA)
Ch.1 NullChannel 1 null offset, shown only when Null is active
Ch.1 SourceChannel 1 bias supply voltage; displays "0 V" when the source is off
Ch.2 RangeChannel 2 measurement range
Ch.2 NullChannel 2 null offset, shown only when Null is active
Ch.2 SourceChannel 2 bias supply voltage; displays "0 V" when the source is off
Sample RateCurrent sample rate (2 Hz, 10 Hz, or 20 Hz)
AveragingRolling average multiplier (e.g. 10x)

::: note The Null rows only appear when Null is enabled on the respective channel. Null values are displayed in engineering notation with 5 significant digits (e.g. "20.000 nA" or "1.9546 pA"). Channel-specific information is grouped together: Range, then Null (if active), then Source for each channel. :::

Draw Order

By default the INFO box is drawn in front of the traces, which may obscure parts of the measurement data. To draw the INFO box behind the traces instead, go to Settings > Graph Tab and change the INFO Box Draw Order to "Behind Traces". This allows traces to be drawn over the INFO box, keeping the measurement data fully visible.


Data Streaming

Planned feature — not yet available. Data streaming (CSV write, HTTP POST, MQTT) is planned for a future software release and is not available in the current shipping version. This section is provided for reference only.

Data Streaming writes measurement data continuously to external files and services as it is acquired. Unlike the standard CSV export, there is no row limit.

Data Streaming is configured in the Settings window under the Data Streaming tab.

Overview

When one or more streaming outputs are enabled, every measurement sample is buffered internally and periodically dispatched to the enabled outputs. The dispatch interval is configurable and shared across all outputs — it can be set in samples (e.g. every 100 samples) or seconds (e.g. every 10 seconds).

Three output types are available:

OutputDescriptionStatus
CSV WriteWrites batches of samples to timestamped CSV files in a chosen directoryAvailable
HTTP POSTSends batches of samples as JSON to a remote URLAvailable
MQTT SendPublishes sample data to an MQTT brokerFuture

Each output is independently enabled — you can use any combination simultaneously.

CSV Streaming

When CSV Write is enabled, EPIC creates a new CSV file for each batch of samples. Files are written to the configured directory (default: stream\) and named using the UTC timestamp of the first sample in the batch:

stream_20260308_142345_123.csv

CSV File Format

Each CSV file contains a header row followed by one row per sample. The SPA120 includes both channel 1 and channel 2 columns:

ColumnDescription
SampleMonotonic sample counter (never resets during a session)
InstrumentInstrument and serial number, e.g. SPA120:1X1X1X
UTC TimeISO 8601 timestamp with milliseconds, e.g. 2026-03-08T14:23:45.123Z
Ch1 Value (A)Channel 1 measured current in Amps (scientific notation, full precision)
Ch2 Value (A)Channel 2 measured current in Amps (scientific notation, full precision)
Ch1 Range (A)Channel 1 input range in Amps (scientific notation)
Ch1 Source (V)Channel 1 source supply voltage (scientific notation)
Ch1 Source EnableChannel 1 source on/off state (1 = On, 0 = Off)
Ch2 Source (V)Channel 2 source supply voltage (scientific notation)
Ch2 Source EnableChannel 2 source on/off state (1 = On, 0 = Off)
Ch1 Null Offset (A)Channel 1 null/zero offset value in Amps (scientific notation)
Ch1 Null EnableChannel 1 null engaged (1 = On, 0 = Off)
Ch2 Null Offset (A)Channel 2 null/zero offset value in Amps (scientific notation)
Ch2 Null EnableChannel 2 null engaged (1 = On, 0 = Off)
Ch1 AveragingChannel 1 rolling averager count (e.g. 1, 2, 4, 8, 10, 16, 20, 32)
Ch2 AveragingChannel 2 rolling averager count
Ch1 Short EnableChannel 1 input short engaged (1 = On, 0 = Off)
Ch2 Short EnableChannel 2 input short engaged (1 = On, 0 = Off)

::: note All current and voltage values are output in scientific notation at full IEEE 754 double precision (15 significant digits), e.g. 1.85123456789012e-09. This avoids any rounding that could affect post-processing. :::

CSV Streaming vs Standard CSV Export

FeatureStandard CSV ExportCSV Streaming
TriggerManual (click CSV button)Automatic (continuous)
Row limitLimited by in-memory bufferUnlimited — writes directly to disk
File countSingle fileOne file per batch
PrecisionFixed decimalFull scientific notation
TimestampsRelative seconds + basic UTCISO 8601 with milliseconds

HTTP POST

When HTTP POST is enabled, EPIC sends each batch of samples as a JSON payload to the configured URL. This enables real-time data collection by remote servers, cloud dashboards, or automation systems.

JSON Payload Format

{
    "version": "V26301",
    "instrument": "SPA120:1X1X1X",
    "pushTime": "2026-03-08 14:23:45",
    "sampleCount": 100,
    "status": {
        "recording": 1
    },
    "samples": [
        {
            "sample": 1,
            "instrument": "SPA120:1X1X1X",
            "utcTime": "2026-03-08T14:23:35.767Z",
            "ch1Value": -1.79719729476114e-12,
            "ch2Value": 3.45678901234567e-11,
            "ch1Range": 0.002,
            "ch1Source": 1.5,
            "ch1SourceEnable": 1,
            "ch2Source": 0.0,
            "ch2SourceEnable": 0,
            "ch1NullOffset": 0.0,
            "ch1NullEnable": 0,
            "ch2NullOffset": 0.0,
            "ch2NullEnable": 0,
            "ch1Averaging": 1,
            "ch2Averaging": 1,
            "ch1ShortEnable": 0,
            "ch2ShortEnable": 0
        }
    ]
}

Authentication

If your endpoint requires authentication, enter a Bearer token in the Auth Token field. EPIC will include it in the HTTP Authorization header:

Authorization: Bearer <your-token>

HTTP POST runs on a background thread

The HTTP request is performed on a separate thread so that the main EPIC display and measurement loop are never blocked, even if the server is slow to respond or unreachable.

Testing HTTP POST with webhook.site

The easiest way to verify that HTTP POST is working is to use webhook.site, a free online service that gives you a temporary URL and displays all incoming requests in real time.

Step-by-step

  1. Open your web browser and go to https://webhook.site
  2. The site will display a unique URL at the top of the page, for example:
    https://webhook.site/abc12345-6789-def0-1234-abcdef567890
    
  3. Copy this URL to the clipboard
  4. In EPIC, open Settings and select the Data Streaming tab
  5. Tick the HTTP POST checkbox under Output Enables
  6. Paste the webhook.site URL into the URL field
  7. Set the streaming interval as desired (e.g. 100 samples or 10 seconds)
  8. Close the Settings window
  9. Start recording on the SPA120 — click Run
  10. Switch back to your web browser — you should see JSON payloads appearing on the webhook.site page within a few seconds

Each incoming request will show:

  • The full JSON body containing your measurement samples (including both Ch1 and Ch2 data)
  • HTTP headers including Content-Type: application/json
  • The timestamp of each request

::: note webhook.site URLs are temporary and the free tier typically accepts only 50 requests before requiring a new URL. Use a low dispatch interval (e.g. 1000 samples) or short test runs to stay within this limit. For permanent data collection, set up your own HTTP endpoint or use a cloud service. :::

Alternative test endpoints

  • Postman Echohttps://postman-echo.com/post — echoes your payload back as a JSON response
  • Local Python server — for offline testing, save this as postserver.py and run with python postserver.py:
from http.server import HTTPServer, BaseHTTPRequestHandler
import json

class Handler(BaseHTTPRequestHandler):
    def do_POST(self):
        length = int(self.headers.get('Content-Length', 0))
        body = self.rfile.read(length)
        print(json.dumps(json.loads(body), indent=2))
        self.send_response(200)
        self.end_headers()
        self.wfile.write(b'OK')

HTTPServer(('', 8080), Handler).serve_forever()

Then set the EPIC HTTP POST URL to http://localhost:8080.

Streaming Interval

The streaming interval controls how often buffered samples are dispatched to all enabled outputs. It is a single shared setting — CSV and HTTP POST both use the same interval.

Two modes are available:

ModeDescriptionExample
SamplesDispatch after a fixed number of samples have been collected100 samples at 10 Hz = every 10 seconds
SecondsDispatch after a fixed time period has elapsedEvery 30 seconds, regardless of sample rate

::: note In Samples mode, the dispatch is triggered immediately when the sample count is reached. In Seconds mode, the dispatch is checked once per main loop iteration (typically 20–50 times per second) so the actual timing is accurate to within ~50 ms. :::

Available presets:

Samples modeSeconds mode
505
10010
20030
50060
1000300

Gang Range and Gang Source (SPA120 Only)

The Gang Range and Gang Source features link Channel 2 settings to Channel 1, so that changes to Channel 1 automatically propagate to Channel 2.

These are toggle buttons available in the Miscellaneous section of the smorgasbord panel, and on the top ribbon when enabled.

Gang Range

When Gang Range is active:

  • Changing the Ch.1 measurement range automatically sets Ch.2 to the same range
  • Toggling Ch.1 auto-range mode also toggles Ch.2
  • The Ch.2 range controls are dimmed and locked — they cannot be adjusted independently
  • Auto-ranging on Ch.1 also drives Ch.2 to the same range

Gang Source

When Gang Source is active:

  • Changing the Ch.1 source voltage automatically sets Ch.2 to the same voltage
  • Toggling Ch.1 source polarity also toggles Ch.2
  • Switching Ch.1 source on/off also switches Ch.2
  • The Ch.2 source controls are dimmed and locked — they cannot be adjusted independently

Disabling Gang

Click the Gang Range or Gang Source button again to disable ganging. Once disabled, the Ch.2 controls return to normal and can be adjusted independently. The Ch.2 settings remain at whatever values they were synced to — they are not reverted.

::: note Gang features are useful when you want both channels to measure under identical conditions, for example when comparing two devices or monitoring two points in the same circuit with matched settings. :::


Save / Load Setups

Saving a Setup

  1. Click the Save Setup button (in the Advanced panel or top bar)
  2. Choose a filename and location in the save dialog
  3. The current configuration is saved as a JSON file

What is saved:

  • Current measurement range (both channels)
  • Bias voltage and polarity settings (both channels)
  • Source on/off state
  • Sample rate and rolling averaging factor
  • Null/zero offset values
  • Export settings (CSV/PNG paths, auto-naming, prefixes)
  • Display settings (graph title, trace colours)
  • Graph configuration (sub-graph height, time display mode, UTC offset)
  • Cursor positions and enable states
  • Both Ch.1 and Ch.2 channel configurations

Loading a Setup

  1. Click the Load Setup button
  2. Select a previously saved setup file (.json)
  3. All settings are restored from the file

::: note The setup file includes the instrument type. A setup saved for the SPA120 cannot be loaded on a different instrument type. :::


Settings

The Settings window provides access to all application configuration options. Open it by clicking the Settings button.

When an SPA instrument is selected, the settings window displays only the tabs relevant to SPA operation. CTL503-specific tabs (Test/Graph Mode, Collector Supply, Step Generator, Sweep/Live Values, Key/Measurement, Sweep Settings) are automatically hidden.

The available settings tabs for SPA instruments are:

Language Tab

Select the display language for the software interface. EPIC supports a wide range of languages including English, French, German, Spanish, Italian, Portuguese, Japanese, Chinese, Korean, Arabic, Hindi, Russian, and many more.

Instrument Tab

Select which instrument the software should communicate with. The instrument selection is organised by instrument family:

  • Row 1: CTL503 (Curve Tracer) - with COM port displayed
  • Row 2: SPA100, SPA120 (Source Picoammeters) - with COM ports displayed

The currently active instrument is highlighted in green. Each instrument button shows the assigned COM port number below it.

Comms Tab

Configure communication settings:

  • COM port selection and scanning
  • Connection method (auto-detect or manual)
  • Manual COM port entry

File Export Tab

Configure CSV and PNG export settings:

  • File save locations
  • Auto-naming options and prefixes
  • PNG capture area (full window or graph only)
  • Sequential counter management

Graph Tab

Configure graph display options including trace colours and display preferences:

  • Display Decimation Algorithm - Choose between Min/Max (preserves peaks) or LTTB (preserves shape) for trace rendering
  • INFO Box Draw Order - Controls whether the Metadata Overlay (INFO box) is drawn in front of or behind the measured traces. When set to "Behind Traces", the traces are drawn on top of the INFO box, making them more visible. The default is "In Front of Traces"

Cursors Tab

Configure cursor behaviour and display options.

Calibration Tab

Instrument calibration management. The SPA120 is factory-calibrated and adjusted during production testing at Electron Plus facilities. Recalibration can be performed via the EPIC calibration utility. The calibration data is stored in settings/SPA120_cal.JSON.

Colours Tab

Customise the display colours for traces, backgrounds, and UI elements. Trace colours can be independently set using RGB values with real-time preview.

Setups Tab

Manage instrument setup files, including save/load configuration presets.

Data Streaming Tab

Configure continuous data output to external files and services. Enable or disable each output independently (CSV Write, HTTP POST, MQTT Send), set the shared streaming interval in samples or seconds, configure the CSV output directory, and enter the HTTP POST URL and optional authentication token. A live status display shows the total samples streamed, last CSV file written, and most recent HTTP response code.


Calibration

The SPA120 is factory-calibrated and adjusted during production testing at Electron Plus facilities. If recalibration is required:

  1. Open Settings and navigate to the Calibration tab
  2. Follow the on-screen calibration procedure
  3. The calibration data is stored in settings/SPA120_cal.JSON

Calibration ensures accuracy across all eight current measurement ranges and the voltage source output.


Advanced Panel (Smorgasbord)

The Advanced panel (also known as the Smorgasbord) allows you to toggle the visibility of various toolbar buttons and controls. Click the Advanced button to open the panel.

Each button on the smorgasbord panel has a small blue ring indicator in its top-left corner. A filled blue circle means the button is currently enabled and visible in the main ribbon. A hollow blue ring means the button is hidden. Click the blue ring to toggle a button's visibility without changing its function — this lets you keep the main ribbon uncluttered by hiding controls you don't use frequently.

Export Functions

  • PNG - Show/hide the PNG capture button
  • CSV - Show/hide the CSV export button

Cursor/Measurement Functions

  • X Cursors - Show/hide X-axis (time) cursors
  • Y Cursors - Show/hide Y-axis (current) cursors
  • Slope - Show/hide slope measurement
  • Cursor Measurements - Show/hide the cursor results table

Graph Functions

  • Graph Keys - Show/hide the colour-coded channel key below the graph (see Graph Key section)
  • Metadata Overlay - Toggle the metadata overlay on the graph area (see Metadata Overlay section)

Miscellaneous

  • Save Setup - Save current configuration
  • Load Setup - Restore saved configuration
  • Gang Range - Link Ch.2 range to Ch.1 (see Gang Range and Gang Source section)
  • Gang Source - Link Ch.2 source to Ch.1 (see Gang Range and Gang Source section)

This is useful for simplifying the interface by hiding controls you don't regularly use, or for maximising the graph display area.


Safety Information

::: warning The SPA120 can generate voltages up to 40V at the output terminals. Always observe the following safety precautions: :::

  • Never touch the output terminals while the source is enabled (Source button shows ON)
  • Always disable the source before connecting or disconnecting devices from the input terminals
  • Use appropriate voltage settings to protect devices under test
  • Ensure proper grounding of the instrument and test setup
  • Do not operate the instrument with damaged cables or connectors
  • Keep the instrument in a dry environment away from liquids
  • Use shielded cables for ultra-low current measurements to minimise noise pickup
  • Guard connections should be used where possible for measurements below 2nA to reduce leakage paths

Troubleshooting

Connection Problems

Symptom: Cannot connect to the instrument

  • Check USB cable is firmly connected at both ends
  • Verify the GREEN LED on the SPA is lit
  • Check that the correct COM port is selected in Settings
  • Try scanning for COM ports again
  • Restart the instrument and software
  • Check Windows Device Manager for the COM port

Symptom: Connection drops intermittently

  • Use a shorter USB cable
  • Avoid USB hubs - connect directly to the computer
  • Check for electromagnetic interference near the USB cable

Measurement Problems

Symptom: Readings are noisy or unstable

  • Select a slower sample rate (2Hz) for lower noise
  • Increase the rolling averaging factor
  • Use the Null/Zero function to cancel offsets
  • Use shielded cables and keep leads short
  • Ensure the test environment is free from vibration and air currents (important for ultra-low current measurements)
  • Allow the instrument to warm up for a few minutes before taking critical measurements

Symptom: Readings are zero or very small

  • Verify that the source output is enabled (Source button shows ON in EPIC)
  • Check that the bias voltage is set to a non-zero value
  • Verify that the device under test is properly connected
  • Ensure the correct polarity is selected for your device
  • Try a more sensitive (lower) current range

Symptom: Over-range indication (OVR displayed)

  • Switch to a higher current range
  • Reduce the bias voltage if the current is too high
  • Check for short circuits in the test setup
  • If MAX+ or MAX- shows OVR, this indicates the tracked peak value exceeded 4 digits; click the individual display to reset its tracking

Symptom: Large offset current on sensitive ranges

  • Perform a Null/Zero calibration with no device connected
  • Allow the instrument to warm up before nulling
  • Check for contamination or moisture on connectors and cables
  • Use guarded connections to minimise leakage paths

Display Issues

Symptom: Graph is not updating

  • Verify that recording is active (Run button pressed)
  • Check that the instrument is connected (GREEN LED lit)
  • Ensure the correct instrument type is selected in Settings

Symptom: Sub-graph not visible

  • Check that the splitter bar has not been dragged fully to the bottom
  • Drag the splitter bar upward to reveal the sub-graph overview

Symptom: Cursors not responding to clicks or drags

  • Ensure X or Y cursors are enabled via the toolbar buttons
  • Click directly on the cursor line to initiate a drag
  • Use the +/- fine-adjust buttons as an alternative to dragging

File Export Issues

Symptom: Cannot save CSV or PNG files

  • Check that the save location exists and is writable
  • Verify there is sufficient disk space
  • Check file permissions on the save directory
  • Try changing the save location in Settings

Data Streaming Issues

Symptom: CSV streaming files are not being created

  • Check that CSV Write is ticked in Settings → Data Streaming → Output Enables
  • Verify the streaming directory exists and is writable
  • Confirm that recording is active (click Run) — streaming only outputs data while the instrument is acquiring samples
  • Check the Status section at the bottom of the Data Streaming tab — the "Samples streamed" counter should be increasing

Symptom: HTTP POST is not sending data

  • Check that HTTP POST is ticked in Settings → Data Streaming → Output Enables
  • Verify the URL is correct and reachable from your computer
  • Check the HTTP last status field in the Status section — a value of 200 indicates success
  • If the status shows an error message, check your network connection and firewall settings
  • Ensure the URL begins with http:// or https://
  • If using an Auth Token, verify it is correct and has not expired

Symptom: Data appears in CSV files but not in HTTP POST (or vice versa)

  • Each output is independently enabled — check that both are ticked under Output Enables
  • Both outputs share the same streaming interval — data is dispatched to all enabled outputs simultaneously

Support & Contact

If you need further assistance:

Electron+ provides free software updates for all instruments. Check the website regularly for the latest version of EPIC.