Clone wiki

FRA4PicoScope / Version History

Version History

Version 0.8.0 (beta)

New Features:

  • Cursor/ruler and automatic measurements for FRA Plots
    • Two separate cursors can be positioned with click/drag and nudge to take arbitrary measurements
    • Delta frequency provided for measuring filter bandwidth
    • Automatic measurements for -3 dB, Gain margin, and Phase margin points
  • Custom plot title and font size
  • Added support for newest 6000E scopes: PS6405E, PS6425E, PS6406E, PS6426E
  • Ability to run with partially installed Picotech SDK
  • Allow installation to alternative location

Fixed bugs:

  • Installer always lists as the version installed (i.e. as shown in Windows 10 Apps and features)
  • FRA data cannot be exported when FRA was partially executed
  • Error checking of signal generator API for PS3000 family scope was incorrect
  • Unable to connect PS5203 (affects all PS5000 family scopes)
  • Optional DC power not handled properly for 4 channel PS5000D scopes (i.e. cannot run when DC power is not connected, though the scope supports this mode)
  • Frequency shifts in AWG result in lower measurement purity when bandwidth is low
  • Application crashes when any SDK DLL cannot be found (e.g. from a partially installed Picotech SDK)
  • Prompt to open Demo scope doesn’t always come to foreground, making it appear like the application never launched
  • Program can crash when trying to run FRA with an invalid channel. This can happen if a previous FRA was interrupted by removing DC Power and either channel C or D was selected
  • Several issues with channel DC offsets
    • DC offset could not extend beyond minimum amongst all ranges
    • DC offset field was enabled for scopes that do not support DC offsets
    • Application did not range check DC offset parameter
  • Incorrect DDS precision was being used for PS5000D scopes.
  • Diagnostic Time Domain Plots were not being plotted correctly when number of collected samples was high
  • Diagnostic Time Domain Plots would not be output if the FRA was interrupted
  • Miscellaneous minor fixes


  • Update to PicoScope SDK Version

Version 0.7.3b

New Features:

  • Add support for new PicoScope 6000E models (PS6824E, PS6424E, PS6804E, PS6404E, PS6403E)
  • Add support for new PicoScope 4000A models (PS4x24A)
  • Real time plotting - Plots the Gain and Phase while the FRA is running. Useful to detect if something went wrong before much time has elapsed.
  • Plot data points that have been captured correctly, even if overall FRA fails
  • Fixed resolution mode and choice between fixed/auto resolution for FlexRes scopes
  • Add Demo scope so users can try out the application without a scope. To access, start the app with no scope connected. Requires CPU/Platform support of AVX2 instructions.
  • Format text in log to draw attention to warnings and errors
  • Add warning for USB3 scope connected to USB2 port

Fixed bugs:

  • Signal generator routines were not using best precision possible
  • Steps complete status was reporting incorrect value
  • Fix error message: "Start frequency must be >= inf Hz"
  • Custom plan mode was not compatible with descending sweep
  • Noise reject vertical resolution field in Settings Dialog populated with random characters
  • PS4824 was missing the +/- 50V range
  • Miscellaneous minor fixes


  • Update to PicoScope SDK Version

Version 0.7.0b

New Features:

  • Custom Plan mode - Define multiple FRA execution segments, each with a different frequency range, number of steps and stimulus amplitude/offset. Useful alternative to Adaptive Stimulus mode for SMPS measuremnts
  • Modular interface for adding external signal generator support. This also enabled adding scopes like PS4444 that don't have a built-in signal generator. External Generator feature can also be accessed via FRA4PicoScope API
  • Add support for new PicoScope 5000D models
  • Ability to set a d.c. offset for the signal generator
  • New diagnostic to trace calls to PicoScope SDK API
  • Increase steps per decade limit to 5 digits

Fixed bugs:

  • Unable to initialize PicoScope 2208B
  • Incorrect minimum signal generator frequencies
  • Workaround bugs related to using aggregation to get min/max
  • Remove duplicate sample points
  • ValidateSettings was checking adaptive stimulus settings when they weren't being used
  • Connect scope dialog still shows disconnected scope
  • Miscellaneous minor fixes including Coverity Bugs


  • Migrated to VS 2019, Boost 1.72.0
  • Update to PicoScope SDK Version

Version 0.6b

  • Added support for new PS2000B series scopes
    • To make this work you will need to have the PicoScope Application installed and the SDK removed.
  • Added a UI for setting the configuration (no more need to hand edit the configuration files)
  • Handle power mode changes on flexible power scopes
    • Allow operation without auxilliary DC power applied
  • Added an API feature
    • Potentially useful to support other custom applications of FRA (e.g component impedance measurement)
    • Exposed via a DLL so it is accessible via multiple languages (e.g. C#, VBA, Python, etc)
    • Available as a separate feature in the installer
  • Adaptive stimulus mode which is important for SMPS stability measurements
  • New bandwidth based sampling for noise reject mode
  • Added a log verbosity mechanism to control what messages get logged
  • Improved the installer to allow for upgrade. No longer any need to remove prior version before installing the new one
  • Detect and report invalid SDK/API version
  • Fixed several bugs, most notably:
    • Fixed compatibility issues with PS3000D/MSO and PS6000 scopes
    • Fixed several issues with time domain diagnostic plots
    • Fixed issue where application window resizes on high DPI displays when the plot is drawn

Version 0.5b

  • Added support for PS3000D[MSO], PS4000A, PS5000, and PS6000 family scopes. This code is currently untested.
    • This completes initial implementation of all compatible PicoScope models.
  • Plotting enhancements
    • Independently plot gain and phase
    • Specify phase wrapping threshold
    • Phase unwrapping option
    • Store and recall plot settings
  • Compute and plot gain and phase margins
    • Includes ability to control phase crossover point for gain margins
  • Analysis efficiency enhancements
    • Initial range for input channel considers the signal generator amplitude
    • Option to traverse frequencies in descending order (sweepDescending)
  • Switched to new Pico Technology installed API, version
  • Fixed several bugs, most notably:
    • Fixed another issue with time domain diagnostic plots which prevented them from working on machines without PLplot build files.
    • Signal generator precision was being calculated incorrectly for PS3000 family scopes
    • Data capture timeout was not computed correctly for some scope families, preventing lower frequencies from being used.

Note: It seems that you currently may need to uninstall any preexisting version first before upgrading.

Version 0.4b

  • Main Bode plot now uses nicer looking anti-aliased fonts and lines - updated to PLplot 5.11.x with Qt support
  • Fixed critical bug affecting timebase calculation for PS2000 series scopes (includes PS2204A and PS2205A), and PS3000 series scopes; PS2204A is tested to work.
  • Fixed situation where most recently used scope was not remembered for scopes without enumeration functions.
  • Fixed issues preventing time domain diagnostic plots from working
  • Channel attenuation settings are now processed
  • Fixed numerous reports from Coverity Scan
  • Various other minor bug fixes (see commit log for details)

Version 0.3b

  • Adds support for scopes using driver families 2000, 3000, and 3000A. This code is currently untested.
  • Fixed various bugs affecting the interface to previously supported but untested scopes

Version 0.2b

  • Adds new features for custom plot axis scaling, ticks and grids. The user can single click the plot to change the plot axis settings, or zoom into a region by dragging the mouse.
  • Implements application version handling for the settings file.
  • Various bug fixes:
    • Better handling of errors in PLplot
    • Fixed minor bug in plot axes auto-scaling calculation
    • More comprehensive treatment of settings file dirty/open flags
    • Miscellaneous robustness improvements

Version 0.1b

Initial release