- 1 General sigrok questions
- 1.1 What is sigrok?
- 1.2 What does the name sigrok mean?
- 1.3 What is the correct spelling of the name?
- 1.4 What is the official sigrok logo and where can I get it?
- 1.5 Is my measurement device supported?
- 1.6 Will you add support for my measurement device?
- 1.7 Do you build/sell/design logic analyzers?
- 1.8 Which device do you recommend buying?
- 2 Logic analyzer questions
- 3 Multimeter questions
- 4 Miscellaneous
General sigrok questions
What is sigrok?
sigrok is a portable, cross-platform, Free/Libre/Open-Source signal analysis software suite that supports various device types:
It is licensed under the terms of the GNU GPL.
What does the name sigrok mean?
sigrok is a software suite that groks signals for you.
What is the correct spelling of the name?
The name is spelled sigrok (yes, a lower-case "s", even at the beginning of sentences). It is not spelled "sigrock" or "SigRock" or "Sigrock" or "Sigrok".
What is the official sigrok logo and where can I get it?
See the Logo wiki page for PNG and SVG versions of the sigrok logo, which is intended for things developed by the sigrok project.
Is my measurement device supported?
Check the Supported hardware page for a list of supported devices, and those that are currently being worked on. Also, each device has its own wiki page, which lists the details of the hardware support for the respective device.
Will you add support for my measurement device?
Maybe. We generally try to support as much hardware as possible. However, as there are really many, many, many, many, many, many devices out there, this is of course a non-trivial task. We only have limited spare time. Thus, naturally, we're happy about any code contributions for yet unsupported devices!
Note: We generally do not take requests for adding specific hardware support. We already have a huge list of hardware that we plan to support eventually, and there are only a limited amount of developers and a limited amount of time in a day. Telling us "please add support for device XYZ" is not necessary (since we already want to support all devices out there). If you want to see your specific device supported, the best method is to figure out the protocol and add the respective libsigrok driver yourself. We're happy to help with any API or protocol questions, please join us on IRC for that (#sigrok on FreeNode).
Do you build/sell/design logic analyzers?
No. The sigrok project is a pure (open-source) software project. We're not designing, building, or selling hardware. We only add software support for already existing hardware.
Which device do you recommend buying?
We generally don't make any buying recommendations. There are many devices from different companies, with highly different capabilities and features out there, in price ranges from $60 up to $5000 or more. It all depends on your specific needs and preferences, and on the amount of money you are willing to spend.
However, as a small starting point for your own research in order to find a device which fits your need, we provide comparison tables for logic analyzers, mixed-signal devices, oscilloscopes, multimeter, dataloggers, and GPIB interfaces, which list some (but not all) relevant data points which you may want to compare.
Logic analyzer questions
What is a logic analyzer?
A logic analyzer is a device which can display and/or analyze the state of one or more signals of a circuit or target device. For a quick introduction see also the respective Wikipedia page, but make sure to read some of the documents from this entry for more details.
Where can I learn more about logic analyzers?
Here is a list of recommended readings on various topics related to logic analyzers.
Note: Some of the Agilent/Tektronix documents are geared towards higher-end/expensive standalone logic analyzers, i.e. not the usual USB-based ones supported by sigrok. Thus, some of the information in those documents may not necessarily be relevant or important for most people. They do also provide lots of generally useful information, though, so reading them is recommended.
Introduction to logic analyzers:
- Tektronix: The XYZs of Logic Analyzers (PDF)
- EE Times/Agilent: A "How To" tutorial on logic analyzer basics for digital design
- Agilent: Application Note 1337: Feeling Comfortable with Logic Analyzers (PDF)
Samplerate, bandwidth, timing issues:
- EE Times/Agilent: How Much Bandwidth Does Your Logic Analyzer Need?
- Tektronix: The Importance of Timing Accuracy in a Logic Analyzer (PDF)
- Agilent: Application Note 1582: Logic Analyzer Specifications: How Much Timing Speed Do You Need? (PDF)
- Agilent: Reliable State Measurements on High Speed Buses (PDF)
- Tektronix: Fundamentals of Signal Integrity Primer (PDF, you need to provide some info before download)
Comparing or buying logic analyzers:
- Agilent: Application Note 1589: Evaluating Logic Analyzers Objectively (PDF)
- Janatek: F.A.Q: What to consider before buying a logic analyzer
- Agilent: Application Note 1501: 6 Tips for Successful Logic Analyzer Probing (PDF)
- Agilent: Application Note 1450: Logic Analyzer Probing Techniques for High-Speed Digital Systems (PDF)
- Agilent: Application Notes: Logic Analyzer (list of documents)
- Tektronix: Logic Analyzer Tutorials (list of documents)
What kind of logic analyzer probes are available?
There are many logic analyzer probes of varying quality and price on the market (see photo for a small subset).
See Probe comparison for more information about the usefulness and quality of various probe types, where to buy them, and so on.
What is a multimeter?
A multimeter or digital multimeter (DMM) or Volt-Ohm meter (VOM) is a measurement device which can measure multiple things (such as voltage, current, resistance, temperature, and others). We won't go into all the details here, see the multimeter page on Wikipedia for more information.
Where can I learn more about multimeters?
Here's a small selection of good video tutorials on multimeters:
- Afrotechmods: THE BEST Multimeter tutorial (HD)
- makemagazine: MAKE presents: The Multimeter
- Youtube videos by mjlorton (M. J. Lorton):
- How to use a Multimeter for beginners: Part 1 - Voltage measurement
- How to use a Multimeter for beginners: Part 2a - Current measurement (part 2b)
- How to use a Multimeter for beginners: Part 3 - Resistance and Continuity
- How to use a multimeter for advanced measurements: Part 1 - Diodes
- How to use a multimeter for advanced measurements: Part 2 - Current Probes / clamps / transducers
- Multimeter Review / buyers guide / tutorial
- Youtube videos by EEVblog (David L. Jones): Multimeter Reviews (list)
Some information about multimeter safety and the IEC61010 categories:
- ElectronicsOnline: The ABCs of multimeter safety (seems to be adapted from this Fluke PDF)
- Fluke: Electrical Measurement Safety Program (various articles)
Getting a usable lsusb for USB HID devices
Sometimes you might see output like this in an lsusb of a USB HID device:
Report Descriptors: ** UNAVAILABLE **
In order to get HID descriptor output in lsusb on Linux you need to perform one of the steps descibed below:
Option 1 (recommended): For each HID device, also a hidraw device is registered. The corresponding sysfs entry also contains a report descriptor:
A more readable representation can be generated using the USB Descriptor and Request Parser
Just unbind a specific driver instance. This will leave all other USB HID devices on your system in a working state.
$ ls /sys/bus/usb/drivers/usbhid 3-2:1.0 4-3:1.4 5-3:1.0 bind module new_id uevent unbind $ echo 5-3:1.0 > /sys/bus/usb/drivers/usbhid/unbind
(you'll have to find out which number refers to your device using e.g. lsusb and checking the contents of the /sys/bus/usb/drivers/usbhid directory; in this case it is 5-3:1.0)
Option 3 (easier, but will disable all USB HID devices):
You can run rmmod usbhid. However, this will disable all USB HID devices, including your USB keyboard/mouse! Do this only if you are sure you can recover from this again (i.e. run modprobe usbhid) afterwards. This can be achieved by logging in via ssh or a serial console, or by using a PS/2-attached keyboard instead of a USB-attached keyboard.