ScopeFun – Open Source All-in-One Instrumentation

ScopeFun – Open Source All-in-One Instrumentation

Five Benchtop Tools in One Open Source Device.

ScopeFun in an open source, all-in-one instrumentation platform. It includes an oscilloscope, arbitrary waveform generator, spectrum analyzer, logic analyzer, and digital pattern generator.


Hardware is built around Xilinx Artix-7 FPGA with an onboard RAM available for buffering samples (512 MB DDR3 SDRAM). All hardware settings are controlled via software GUI. USB connectivity is provided via Cypress’s FX3 USB 3.1 Gen1 chip. Hardware is USB powered which eliminates the need for additional power supply. Below you can find more information about individual hardware components.


Two analog channels are available as oscilloscope inputs. Both oscilloscope channels are protected against overvoltages up to +/- 50 V. Input coupling selection is available (DC, AC, GND) and is controlled via program GUI. Input signals are buffered via analog front end for impedance, level (gain) and offset adjustments. Each analog channel is sampled at 250 Msps with 10-bit analog-to-digital converter (ADC). Two ADC’s can be configured for sampling in interleaved mode which provides a single channel sampling speed of 500 Msps. Digital samples are processed by FPGA which also contains trigger logic. When trigger condition is met, samples are transferred to onboard DDR3 SDRAM which provides buffer length of 128 Mega samples per channel. Hardware also supports Equivalent Time Sampling (ETS). For this purpose an analog trigger signal is sampled inside FPGA LUT delay line to determine exact time of trigger event relative to the ADC sampling clock. This provides a sampling speed of 2 GSps for repetitive signals.

Waveform Generator

There are two generator outputs with which can generate voltages up to 4 Vpp. Both AWG channels are protected against short circuit and overvoltage (+/- 25 V). Generator channels have 50 Ohm output impedance which allows connection to various equipment. User can select waveform shape, frequency, level and offset via program GUI and settings are immediately reflected in FPGA control registers. Digital samples are generated inside FPGA at 200 Msps per channel and transferred to dual digital-to-analog converter (DAC). Simple signals are derived from counters. Sine wave output is generated with the help of CORDIC algorithm, so that outputs of arbitrary frequency can be obtained. User can also provide a custom waveform sample data and upload it to FPGA internal memory (BRAM).

Logic Analyzer / Pattern Generator

12-bit digital interface is sampled at 250 Mhz and is logically divided into two 6-bit channel groups. Each channel group can be independently selected as input (Logic analyzer) or output (Pattern generator). Digital interface voltage can be adjusted – ranging from 1,25 V to 3,3 V, but inputs are designed to accept also 5 V. Selected interface voltage is also available on dedicated output pins and can be used as voltage supply. Custom digital samples for pattern generator can be uploaded to FPGA and internal clock divider is available to control the output frequency. It is also possible to override individual outputs with a logic ‘LOW’ or ‘HIGH’ at any time.

Features & Specifications

  • Oscilloscope
    • Channels: 2
    • Real-time sampling rate: 250 Msps dual channel / 500 Msps single channel
    • Equivalent time sampling (ETS): 2.0 Gsps
    • Resolution: 10 bits
    • Voltage ranges (with 1× probe): 10 mV to 2 V per division
    • Memory depth: 128,000,000 samples per channel
  • Arbitrary Waveform Generator
    • Channels: 2
    • Update rate: 200 Msps
    • Resolution: 12 bits
    • Output voltage: 4 Vpp
    • Custom waveform length: 32,768 samples per channel
  • Spectrum Analyzer
    • Channels: 2
    • Frequency range: DC to 125 MHz
  • Logic Analyzer
    • Channels: 12 (six input + six output; or 12 input; or 12 output)*
    • Maximum sampling rate: 250 Msps
    • Memory depth: 128,000,000 samples per channel
  • Digital Pattern Generator
    • Channels: 12 (six input + six output; or 12 input; or 12 output)*
    • Maximum sampling rate: 250 Msps
    • Custom waveform length: 32,768 samples per channel
  • Primary Components
    • FPGA: Xilinx Artix-7
    • Memory: 512 MB DDR3 SDRAM
    • Connectivity: Cypress FX3 USB 3.0
  • Software
    • Server mode: remotely connect to ScopeFun hardware via IP network
    • Python API: read samples and control ScopeFun hardware directly from Python
    • Advanced signal rendering: 3D frame history and virtual persistence

* The logic analyzer and digital waveform generator share the same 12 channels.


Oscilloscope software is designed to run on all major desktop operating system. 32 bit and 64 bit. This includes Windows 7, 8 and 10, all Linux systems and Mac OSX operating systems.

Introduction Video

Presentation Video

The project is already funded on Crowdsupply and more information can be found on the project homepage.

Please follow and like us:
Pin Share
About mixos

Mike is the founder and editor of, an electronics engineering community/news and project sharing platform. He studied Electronics and Physics and enjoys everything that has moving electrons and fun. His interests lying on solar cells, microcontrollers and switchmode power supplies. Feel free to reach him for feedback, random tips or just to say hello :-)

view all posts by admin
Notify of

Inline Feedbacks
View all comments
Get new posts by email:
Get new posts by email:

Join 97,426 other subscribers