Oscilloscope Pro

Available in Android Market

Follow Version updates here

Oscilloscope Pro is useful tool for electronic engineers/audio engineers wanting to monitor electronic/audio signals  Find this application by searching for Oscilloscope in the market or use the QR code to the right.

Currently there are two input options for the application.

***** USB SUPPORT ******

The newest and best input option is a USB hardware device provided by Gabotronics. USB host mode has now been compatible since android 3.1, therefore most new phones and tablets will support USB host mode (Please check device). NFX Oscilloscope supports the Gabotronics Xprotolab (firmware V1.84 and greater), this has 2 analogue input channels and 8 digital channels and measures a tiny 2.5 x 4 cm!! The device it’s self is a cheap portable alternative to most mainstream oscilloscopes, and has many different features. Connecting the Xprotolab to the NFX Oscilloscope provides a powerful and cheap oscilloscope platform for your portable needs. For more information on the Xprotolab click the following link.

So match this application with the cheap device from gabotronics and you will get a great portable oscilloscope!
Note: Only the analogue channels are supported on the xprotolab, future updates will bring digital and tone generator support.

Spec list for xprotolab:
2 Analog Inputs
Maximum Sampling rate: 2MSPS
Analog Bandwidth: 200kHz
Resolution: 8bits
Input Impedance: 1MΩ
Buffer size per channel: 256
Input Voltage Range: -14V to +20V

Currently the NFX OScilloscope only supports the 2 Analogue channels on the Xprotolab, but updates will bring AWG (onboard tone generator) and digital inputs support.

Currently the USB mode has been tested on Samsung Galaxy Nexus , Asus Transformer , Asus Nexus 7.

Application Usage

Usage of the application is simple with many features implemented with touch gestures and a quick preference side bar which is highlighted yellow in the picture.

There are 4 different trigger options highlighted in blue

  • Free        : No triggering
  • Auto       : This continuously displays the input, but will also trigger on signals which exceed the trigger threshold.
  • Trigger   : This is designed to monitor continuous signals, for example a sinusoid.
  • Impulse :  Impulse mode will trigger and pause on the first break of the threshold

The following shows the controlling gestures.

  • Move the markers by dragging with one finger in the X axis
  • Dragging else where in the X axis moves the trigger point on screen
  • Dragging in the Y axis will move the nearest channel up and down.
  • Dragging in the red area will move the trigger level up and down.
  • Pinch in the X direction will adjust the time per division
  • Pinch in the Y direction will adjust the gain on the nearest channel

***** Microphone SUPPORT ******

The second option is the microphone input to the android device. This can be used to attach a scope lead to the jack socket. More information can be found at the following website.

The application has three different modes which are accessed by pressing the devices menu button.  These modes are:

  • Auto       : This continuously displays the input, but will also trigger on signals which exceed the trigger threshold.
  • Trigger   : This is designed to monitor continuous signals, for example a sinusoid.
  • Impulse :  The impulse mode has an extended time range in comparison to the trigger mode, there is an also flag which can be set to only trigger once and stop monitoring.  In this mode it is possible to drag the time line along and view data after the trigger point.

The simple UI allows fast manipulation of the X and Y axis, along with quick manipulation of trigger positions and amplitudes.

From the menu it is possible to move to a settings page where the trigger detection(falling/rising/both edge), sample rate, voltage span amongst others.

Features Round up:

  • Three different modes to adapt to the situation
  • Quick and easy manipulation to gain/time/trigger threshold levels
  • Adaptable trigger settings to suit the users needs
  • Fundamental Frequency readings
  • Input Level readings

For information on scope cables please see the following two posts https://nfxdevelopment.wordpress.com/2011/11/03/155/ and https://nfxdevelopment.wordpress.com/2012/02/08/more-scope-cables/

That’s the full run down of the application. See the images below for examples of the UI.

  1. I believe everything said was very logical. But, what
    about this? suppose you added a little content?

    I mean, I don’t wish to tell you how to run your website, however what if you added a headline that makes people want more? I mean Oscilloscope Pro NFX Development is kinda plain. You could look at Yahoo’s front page and note
    how they write article headlines to grab viewers interested.
    You might add a related video or a pic or two to get readers interested about what you’ve got to say. In my opinion, it could bring your posts a little bit more interesting.

      • nfxDevelopment
      • December 15th, 2012


      Thanks for the tips.
      Unfortunately this is my second job and I do not have the time to put into web design. Therefore all my time goes into the development and stabilisation of the application.
      Thanks again, I hope you understand.

      Nick Winder

    • Android user
    • December 27th, 2012

    What android versions is this compatible with? Was not able to install it on android 4.0.3.

      • nfxDevelopment
      • December 28th, 2012

      This may be dependant on the device that you use. Unfortunately not all devices can be supported due to some specific needs. this could be USB support etc. What device are you using? Thanks

        • Android user
        • December 28th, 2012

        HTC Vivid (PH39100), thanks

        • nfxDevelopment
        • December 31st, 2012

        Hi again.
        Could I ask that you use AndroidPit to download the application which is a alternate app store. This is another store that I distribute on as an alternative, they have slightly more relaxed requirement specs, which may help in your case. Thanks

        • Android user
        • January 1st, 2013

        Install from AndroidPit worked. Thanks for the support.

        Have to wait for my cable to ship. The app is running, and sampling from the speaker works.

    • Nick Tompkins
    • January 6th, 2013

    Of the 2 choices in inputs… is there a certain one that is more accurate and is there one that works better for the Nexus 7 tablet?

      • nfxDevelopment
      • January 7th, 2013

      Thanks to another user I did some testing on the Nexus and it appears there is no external microphone support on the jack socket. So therefore the only way to go is the gabotronics products. Thanks

    • Chris Miller
    • January 7th, 2013

    Does your app support X-Y mode for a component tracer?

      • nfxDevelopment
      • January 7th, 2013

      Hi, At the current time there is no support for X-Y. This could be supported in the future, but I cannot put a time scale on it. Thanks

    • Steven Swedenburg
    • January 21st, 2013

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.FormatException: Input string was not in a correct format.
    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
    at System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
    at System.Convert.ToDecimal(String value)
    at OscilloscopeDotNet1.Form1.USBConnect() in D:\Projects\Visual Studio\Xprotolab_interface\MainForm.cs:line 4755
    at OscilloscopeDotNet1.Form1.Connect() in D:\Projects\Visual Studio\Xprotolab_interface\MainForm.cs:line 4765
    at OscilloscopeDotNet1.Form1.Form1_Load(Object sender, EventArgs e) in D:\Projects\Visual Studio\Xprotolab_interface\MainForm.cs:line 4661
    at System.Windows.Forms.Form.OnLoad(EventArgs e)
    at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
    at System.Windows.Forms.Control.CreateControl()
    at System.Windows.Forms.Control.WmShowWindow(Message& m)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.Form.WmShowWindow(Message& m)
    at System.Windows.Forms.Form.WndProc(Message& m)
    at OscilloscopeDotNet1.Form1.WndProc(Message& m) in D:\Projects\Visual Studio\Xprotolab_interface\MainForm.cs:line 5774
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

    ************** Loaded Assemblies **************
    Assembly Version:
    Win32 Version: 4.0.30319.296 (RTMGDR.030319-2900)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
    Assembly Version: 0.10.4649.20634
    Win32 Version: 0.10.4649.20634
    CodeBase: file:///C:/My_Documents/Gabotronics/Xprotolab_interface/obj/Debug/Xprotolab_interface.exe
    Assembly Version:
    Win32 Version: 4.0.30319.1001 built by: RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    Assembly Version:
    Win32 Version: 4.0.30319.1001 built by: RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    Assembly Version:
    Win32 Version: 4.0.30319.1001 built by: RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    Assembly Version:
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    Assembly Version:
    Win32 Version: 4.0.30319.233 built by: RTMGDR
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    Assembly Version:
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

    From a WIN 7 machine. also crashes on Android Tablets, both the T-101 and the V909. Suggestions?

      • nfxDevelopment
      • January 21st, 2013

      Hi, Sorry this is a debug dialogue had in there to try and work out when it happened.
      One question I have though, how and why are you running this on a win7 machine?
      When does this crash happen?
      Any more info, please could you email nfxdevelopment@gmail.com so I keep records.

    • Steven Swedenburg
    • January 21st, 2013

    I have a Win 7 machine, works after complaining, works great when it is not crashed, once up it is stable.
    I have the NFX Oscilloscope app on a ASUS T-101 and a T-mobile LG-V909.
    The V909 is erratic, crashes, may not find the USB device.
    I have never gotten the T-101 to find the oscilloscope.

    • Gryffyn
    • March 7th, 2013

    Found this.. thought it might be helpful to someone. It seems to cover various ROMs and what’s being reported as claiming to have USB Host support and what actually does. I’m not totally sure the Asus Transformer TF101 has support, it’s a little confusing.


    Also, reading somewhere else it seems like you might need a USB OTG (On The Go) adapter cable that allows the device to act as host. So maybe it’s not just software support but might also need this OTG cable as well?

    I’m just starting into learning electronics and from what I saw years ago, an oscilloscope would be very helpful so I’m researching before I buy. Using my existing Android devices as a display would be a great space saver, and I’m sure save a few bucks as well… plus the ability to upgrade software is pretty nice.

    I have an Asus Transformer TF101, an HP Touchpad (with CM9 if I recall.. been a while), an HTC EVO 4G (my old phone) and an HTC EVO 4G LTE (new phone). I’m tempted to get one of the XMEGA deals and hope one of these devices supports the host mode properly. hah

    • Youra
    • March 8th, 2013


    Would USB microphone work instead of the internal one when using a tablet with OTG support, such as the Nexus 7 ?


      • nfxDevelopment
      • March 8th, 2013

      The oscilloscope should work with any microphone plugged into the device, as the application will pick up the primary microphone from the Android device.

    • Michael Cheponis
    • June 18th, 2015

    Exception: java.lang.ArrayIndexOutOfBoundsException:
    “length=441; index=441”;
    WaveformGauge.java line 457

    While moving cursors to the right-hand part of the screen in an attempt to turn them off. I just bought the app from Play Store right now, so I suspect I have recent code. Thank you.

      • nfxDevelopment
      • June 18th, 2015

      I have just sent out a update, which is V6.1.21 , this should fix your problem. I hope you enjoy the application.

        • Michael Cheponis
        • June 19th, 2015

        That cursor issue seems OK, but at the moment, I see:

        Exception: java.lang
        IllegalArgumentException: “Invalid audio
        buffer size.”; AudioRecord.java line 340

        When I was changing sample rate from 44.1 to 28 kHz. Thank you.

    • Michael Cheponis
    • June 22nd, 2015

    Michael Cheponis :
    That cursor issue seems OK, but at the moment, I see:
    Exception: java.lang
    IllegalArgumentException: “Invalid audio
    buffer size.”; AudioRecord.java line 340
    When I was changing sample rate from 44.1 to 28 kHz. Thank you.

    Hello, is there any update for fixing this bug? Thank you.

      • nfxDevelopment
      • June 22nd, 2015

      I have just posted v6.1.22, which will have a fix for this bug in. Once again I thank you or bringing this to our attention.

    • James Roberts
    • September 24th, 2016

    Not sure what’s going on, but the green trigger level marker has disappeared. It shows up in microphone mode but not in USB mode with the Xprotolab Plain. I can still drag in that area and see the trigger value change, but the green marker is gone. Any thoughts?

    • Cecil Wallace
    • July 25th, 2017

    Order number GPA.3373.1295.8670.44682 refers. I have bought and downloaded this app but I need something else to get the app working. Please advise what this is. Thank you

      • nfxDevelopment
      • July 26th, 2017

      HI, there are two possible options. You can use the USB mode by clicking the USB checkbox on the right hand panel or use a scope probe with a jack to plug into the android device. I would suggest going with the USB option as the band width and features are much better. Check out http://www.gabotronics.com/ for more information on the units. Thanks

  1. February 3rd, 2014

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: