Frequently Asked Questions


+ Can I connect to a device by directly typing in its IP address?

Yes. In the iPad app, simply tap on the '...' button which appears in the bottom left corner of the "Select your device" screen, then choose "Other device...". Ports 27182-27186 must be open to connect to a device on a different subnet.

+ I don't have an iPad. Can I still use Moku:Lab?

Yes! You can interact with Moku:Lab using Python, LabVIEW and MATLAB from any computer running Mac OS, Windows or Linux.

+ If I want to use an iPad to run my Moku:Lab, what model / operating system is required?

The minimum requirements are an iPad Air or iPad mini 2 or newer running iOS 8 or later. Choose your model from

+ All of my lab computers run Windows. Will I need to change them all to Mac OS?

No, Moku:Lab works perfectly well in a Windows lab environment. You can transfer data to your Windows computer via email or Dropbox using the the in-app sharing button. Or use our Python library to integrate Moku:Lab into your Windows-based experiment control system.

+ The Moku:Lab has an FPGA inside it. Can I get access to the FPGA to execute my own code?

Sorry, not yet. We hope to bring you this capability in the future. We won't do anything to stop you running your own code but we are unable to support it at this time. If this feature is important to you please let us know, but for now Moku:Lab is designed to work out of the box in the same way as conventional test and measurement instruments like oscilloscopes and waveform generators.


+ Are the inputs of the Moku:Lab protected?

Yes, the Moku:Lab's does have front-end protection to reduce the chances of accidental damage to the ADCs. Each input has a sensing circuit that protects it from over voltage events. If a voltage beyond ±7.5 V is present then the inputs will be disconnected within about 10 ms. Once disconnected, the Moku:Lab is protected up to voltages of 30V DC.


+ Can I set the channel offset in screen divisions while zooming?

To zoom in and out while keeping the channel offset fixed on the screen, simply pan up or down with two fingers held together. This 'rapid zooming' technique works horizontally and on other instruments as well!

+ What is the difference between "Normal" and "Precision" acquisition modes?

Moku:Lab records samples from the analog inputs at a rate of 500 MS/s. When looking at long time spans, the data's sample rate is reduced to display the trace on the screen. In "Normal" acquisition mode, the input is simply downsampled; that is, only every Mth sample is taken. This can cause aliasing of high frequency signals: for example, a high frequency sine wave may appear as a lower frequency sine wave when the oscilloscope timebase is zoomed out. In "Precision" mode, the input is lowpass filtered (averaged) before downsampling. This reduces aliasing artifacts and increases the resolution of the trace. Note that in this mode, high frequency signals can be filtered out, so the oscilloscope trace may appear to be zero even if a high frequency signal is present at the input.

Lock-in Amplifier

+ Can I adjust the corner frequency of the low-pass filter?

Yes! It is adjustable from 237 mHz to 3.98 MHz via an iPad, Python or Matlab.

+ What is the maximum rate at which I can save data, and how many points can I save?

The sample rate is dynamically adjusted by the horizontal zoom of the display, and can be set up to the full ADC sample rate of 500 MS/s. Currently you can save 16k points for two channels simultaneously.

+ Can the Lock-in Amplifier demodulate using an external source?

Yes!! Currently the Lock-in Amplifier demodulates using an internal source. The September 2017 software update added support for direct demodulation with an external source, demodulation with a PLL (Phase-locked loop) locked to an external source, and the ability to modulate and demodulate at different frequencies.

+ Does the Lock-in include a PID controller for feedback applications?

Yes! A PID controller was added in the September 2017 update. Update your iPad App to get all the new goodies.

+ The Lock-in can readout I and Q (X and Y). What about R and theta?

Following the September 2017 free update, to switch from an X and Y readout to R and theta on the Moku:Lab App, tap the X Y block on the block diagram. The default theta gain is 0.8 V/cycle.

Data logger

+ How long can I record for?

The Moku:Datalogger is limited only by storage. The Moku:Lab has 500MB of internal storage and can also log to an SD card of any size. Note though that most SD cards use the FAT32 filesystem, which is limited to a maximum file size of 4GB.

Recording a single channel at minimum rate to a binary file, this gives you approximately 4 months of recording to internal storage, up to 2.5 years to an SD card.

+ How can I read data from .li files?

The LI File Converter can be used to convert binary data from a .li file into plain text data in CSV (comma-separated values) format, or to a MATLAB .mat file. You can download it here:

+ How can I import a CSV file from Moku:Datalogger into MATLAB?

If you only need the data itself, simply type load yourfile.csv at the MATLAB command prompt. CSV files generated by Moku:DataLlgger also contain a text header with information about when the data was recorded, the instrument settings, and what each column in the data represents. If you want to import this metadata as well, use the command moku = importdata('yourfile.csv').

PID controller

+ How can I invert my controller's response?

You can enter negative values into the control matrix to invert one or both input signals.

+ What do the different colored buttons mean when configuring a PID controller?

Often it is useful to be able to configure a controller's transfer function before implementing it. When the 'P', 'I', 'D', 'I+', 'IS', or 'DS' buttons are orange, any changes you make to those parameters will not take effect until you tap the button again and it turns green or purple.

Bode analyzer

+ How can I plot the ratio of Input 1 and Input 2?

By default, each channel shows the ratio of the input to the output, In / Out. This is useful for measuring the transfer function of a device under test. The math channel allows you to plot different combinations of Ch 1 and Ch 2. If the output amplitudes of both channels are set to the same value, then viewing the math channel as Ch 1 / Ch 2 will show the ratio In 1 / In 2, since the outputs are the same.

Digital filter box

+ Can I load my own filter coefficients?

Yes! Moku:DigitalFilterBox implements infinite impulse response (IIR) filters using 4 cascaded Direct Form I second-order stages with a final output gain stage. To specify a filter, you must supply a text file containing the filter coefficients. The file should have six coefficients per line, with each line representing a single stage. If output scaling is required, this should be given on the first line. Each coefficient must be in the range [-4.0, +4.0). Internally, these are represented as signed 48-bit fixed-point numbers, with 45 fractional bits. The output scaling can be up to 8,000,000. Filter coefficients can be computed using signal processing toolboxes in e.g. MATLAB or SciPy.