Analog Discovery 2 + LabView Home Bundle - Review

Table of contents

RoadTest: Analog Discovery 2 + LabView Home Bundle

Author: jdlui

Creation date:

Evaluation Type: Test Equipment

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Standard oscilloscopes and function generators found in a university student lab

What were the biggest problems encountered?:

Detailed Review:

I reviewed the Digilent Analog Discovery 2 kit and had a real blast with it. This device delivers an incredible value for its retail price and is a welcome addition to any budget conscious or space constrained engineering space.

Hardware Overview

Analog Discovery 2 has just about everything I can think of needing as an amateur electronics hobbyist. This includes oscilloscope, function generator, digital I/O, logical analyzer, power supply, voltmeter, network analyzer, spectrum analyzer, and digital Bus analyzer. The heart of the system is a Xilinx Spartan-6 FPGA.


System triggers are connected along a trigger signal bus, allowing each of the modules to trigger and synchronize with one another.


The system and roadtest comes bundled with LabVIEW software, which can also help in quick demo and building of professional grade interfaces for a lab setup or product.

Initial setup

Hardware setup is pretty easy – you connect the ribbon cable to the module, and connect USB to computer. After installing the Waveforms software, you can connect easily to your device. They’ve thought ahead and carefully made UI to review devices connected. This could be helpful for instructors or anyone who connects multiple devices. Only awkward point: the provided LabVIEW download URL sets of virus alarms in Chrome and Microsoft Edge. I suggest someone look into this.

Interface and first steps

First steps in the environment are fairly straightforward. You can create a new workspace or load up an existing workspace, which is essentially a saved set of your device configurations (scope, power supply, function generator settings, etc.)

When you start fresh, you select components you need, enter the settings, and away you go. Select a wavegen and a scope, connect 4 wires, and you can generate some signals and confirm functionality of your scope.


In the wavegen menu you select the type of wave you want, and key in frequency, amplitude data, etc. You can also mouse over and roll scroll wheel to slide these values up and down.


On the scope view, the auto trigger works pretty well. There is a lot of info here! There is a histogram of values on the right side. Several other buttons to the right side allow you to configure each scope channel with typical values of offset, divisions, etc. I again find the text list of options with dropdown menus to be very unintuitive and clunky. I think icons and dials should be present here.


Scroll wheel to zoom in and a timeline appears above your signal. Click and drag to pan around timeline. Pretty intuitive overall.


There are several cursors that are available for measurement, and this is somewhere for a computer based system with mouse input to really shine. The pulse cursor is a fantastic cursor, and measures the time difference between rising and falling wave edges, allowing you to easily find an empirical measure of frequency and duty cycle.



The quick measure cursor might have some uses but it’s not intuitive and I didn’t spend time on it. You can click in several points to construct several measurements but it doesn’t feel elegant.


There are some opportunities for note taking and markup which is quite useful. You can add text notes to the image and rich text formatted notes to the text box below. Note that while there are several options to save your workspace and save individual acquisition signals, I haven’t found any of the export options to properly export these notes.


Feedback on scope

I’m not an expert user of function generators and scopes, I’m used to the classic dial configuration, and I’m sure many users feel the same. The set of dropdown menus with text descriptions is not well suited for intuitive navigation in my opinion. Improvement advice: Have visual icons for each option, and have a visual wheel appear that the user can click and drag with mouse.


Some other things worth seeing:

Static I/O control looks pretty great. The use of the digital I/O pins can really help bridge the gaps with LabVIEW’s I/O and the breadboard sitting on your desk. This is like a DAQ with more easily accessed I/O for input and indicators.


You can read from 8 IO pins and light up a 7 segment display. Similarly you can define a slider bar of values [0,255] that are output in form of a 8bit number, or read 8 digital pins as input for a [0,255] digital number progress bar. Note the progress bar data inputs for Digital IO are listed 7-0 so when you look down at the scope and see pins ordered 0 to 7, then you must remember that pin 0 is LSB.


This button control design seems useful, but the hidden start/stop button could lead to some UX issues.


Good verification of 8 bit logic and my ability to run wires: Create a slider bar output and a progress bar input.




File save and load

Ability to add text notes and also save workspace is very useful to increase the on-the-go value of this device. For students that buy/loan this device for their electronics labs, they can save their workspace config before they leave at the end of class. The acquisition saving will save each of the acquired sample points, giving you an ability to load up a frozen workspace without live signal and review old data.

For a practical exercise in this saving, I somehow crashed software when using the wavegen. When I opened it, I was able to easily load a prior workspace.

One piece of feedback: Save each file type you can until you understand the difference between the clunky set of project, workspace, acquisition, etc. Too many file types!


You can also export individual acquisitions without saving whole workspace, but I again get a feeling that this functionality is not fully implemented. I can save an acquisition signal but the image saving does not work.



When I export a channel I have an option to save my notes and comments. None of them actually saved though…


To truly raise the bar on convenience for students who are frantically learning their electronics courses, I recommend:

  • One click export - save an image with auto timestamp to encourage students to document better and take notes. Perhaps generate a notebook file like a python notebook?
  • Auto save checkpoints – auto-save data signal acquisitions every few minutes or each time a distinct high quality signal is obtained. Make them available in little thumbnails so someone can go back in time and try to find their last good working settings – even if they didn’t save their work.
  • Some thought has been put into master the UI on this - but students/everyone would succeed a lot better with a quick 5 tab tutorial when they start up. Or like many programs, rotate the advice each time the program is started

LabVIEW testing

Tutorial: Get started with LabVIEW and WaveForms:

On Tutorial page, click link to the waveforms VI

Install WaveForms Toolkit for LabVIEW,

Open LabVIEW. Clicking link above should open VI Package Manager VIPM and prompt you to install.



Visible light communication demo

I wanted to evaluate this device’s over ability to help me prototype and troubleshoot a circuit quickly. The circuit in question uses a LM555 timer to oscillate an LED, and then a transimpedance amplifier to capture the oscillating LED signal from a photodiode on the receiving end. This is the fundamental basis of a Visible Light Communication system, which is all the rage in communications community as the next big highspeed communications frontier. The build below a basic prototype demo.

I start by (messily) connecting a LM555 timer. My resistor and cap choices indicate that I should have a transmission frequency around 2.7 kHz and duty cycle 0.66. I connect the power supply lines to my breadboard and then connect the two scope probes to my timer output and my ground line. Note that it’s important to read the manual! I was troubleshooting circuit for several minutes before I realized that the voltage supply lines need to be explicitly turned on – I guess I got lazy from prototyping with Arduino. Turn on the scope and power supply correctly and we see that we indeed have the expected frequency and duty cycle.



Swap in a different resistor set and I can again quickly and easily confirm a change in oscillation: 282 Hz with 0.96 duty cycle.


Trim pot control is success



Overall this is an incredible swiss army knife tool that is a must have for any novice electronic hobbyist or hacker. I did all my testing sitting in a corner of my small condo and this device allowed me to bring home a whole complement of electronics testing equipment, and I know well that I have barely scratched the surface. Knowing the average going price for a function generator and oscilloscope, the price point on this little beauty is truly an excellent value. This is a must-have for any serious electronic engineer.

This device is great for student electronics lab at university, or a hobbyist on a budget or someone with space constraints. This can do more than enough for the average electronics project and would also make a great buy for a future engineer who is tinkering before going away to university or a cash-strapped hardware startup. While I don’t know enough to test the true accuracy of the device’s measurements against a calibration standard or super high-end device, I imagine this device will suit the vast majority of home hobbyist projects, maybe being pushed to boundaries during high frequency RF projects.

This device is probably not well suited to high traffic areas, dedicated electronics labs, or picky and impatient engineers. I think any university or professional electronics lab would still rather the classic larger devices with knobs and more intuitive interface.

The hardware has many capabilities but the software UI really feels like a version 1.0. Many things did not work out of the box, and I found some features turning off at unexpected times, introducing more uncertainty into my circuit building and troubleshooting. The inconsistent UI across the different modules is troubling to me (specifically the lack of a visual obvious on/off switch in the Digital I/O)

Considerations for Improvement

  • UI: All wavegen and scopes I’ve used use knobs and dials. This should not be any different. This device should give a consistent experience to other devices on market so that engineering students learn good and consistent practice while circuit building.
  • Notifications: tool tips and flashing reminders, etc. I think that the benefit of software is that useful information can be presented to the user. I had only seen one pop-up for an overcurrent condition. More of these should pop-up and they should persist! If the user looks away for a moment the miss the notification
  • Intelligent tips and guides. The UI still feels clunky and takes a while to get comfortable. For this reason, I think tips on start-up would be quite useful. More intelligent tips and pop-ups would be useful, such as reminding user when a voltage supply or wavegen has turned off.
  • Ideas for cable management. There are several times where the ribbon cable design becomes a huge hassle. I’m sure there are some solutions that could be clipped on the cables to stop these messes from happening.
  • image
  • Custom views and UI. Since this integrates so closely to LabVIEW, custom button and dial layouts would be interesting and useful.