<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sigrok.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jr-oss</id>
	<title>sigrok - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://sigrok.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jr-oss"/>
	<link rel="alternate" type="text/html" href="https://sigrok.org/wiki/Special:Contributions/Jr-oss"/>
	<updated>2026-04-07T11:34:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rigol_MSO5000_Series&amp;diff=16701</id>
		<title>Rigol MSO5000 Series</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rigol_MSO5000_Series&amp;diff=16701"/>
		<updated>2024-09-29T11:00:47Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox oscilloscope&lt;br /&gt;
| image               = [[File:Sigrok_logo_no_text_transparent_512.png|180px]]&lt;br /&gt;
| name                = Rigol MSO5000 Series&lt;br /&gt;
| status              = in progress&lt;br /&gt;
| source_code_dir     = rigol-ds | rigol-dg&lt;br /&gt;
| analog channels     = 2-4&lt;br /&gt;
| samplerate          = up to 8GSa/s&lt;br /&gt;
| bandwidth           = 70-350MHz (depending on model)&lt;br /&gt;
| vertical_resolution = 8bits&lt;br /&gt;
| triggers            = edge, pulse, runt, window, nth edge, slope, video, pattern, delay, timeout, duration, setup/hold, protocol (optional: RS232/UART, I²C, SPI, CAN, FlexRay, LIN, I2S, MIL-STD-1553)&lt;br /&gt;
| input_impedance     = 1MΩ‖17pF 300V RMS CAT I&lt;br /&gt;
| memory              = 100Mpts (mode/ch-dependent), Option 200Mpts&lt;br /&gt;
| digital channels    = 16&lt;br /&gt;
| dig. samplerate     = up to 1GSa/s&lt;br /&gt;
| dig. memory         = 12,5MPts, option 25M (t.b.c)&lt;br /&gt;
| display             = 9&amp;quot; 1024x800&lt;br /&gt;
| connectivity        = USB host/device, ethernet (LXI), HDMI, trigger out, pass/fail out&lt;br /&gt;
| features            = math: +, &amp;amp;mdash;, x, /, FFT, A&amp;amp;&amp;amp;B, A||B, A^B, vertical sensitivity: 500µV/div - 10V/div&lt;br /&gt;
| website             = [https://www.rigolna.com/products/digital-oscilloscopes/MSO5000/ rigolna.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [https://www.rigolna.com/products/digital-oscilloscopes/MSO5000/ Rigol MSO5000 Series] are 2-/4-channel oscilloscopes with an analog bandwidth of 70-350MHz and up to 8GS/s sampling rate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Model || Analog channels || Bandwidth || Digital channels&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5072 || 2 || 70MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5074 || 4 || 70MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5102 || 2 || 100MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5104 || 4 || 100MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5204 || 4 || 200MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5354 || 4 || 350MHz || 16&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
The device uses [[USBTMC]] or LXI via its Ethernet port for communication with a host PC. The protocol is based on [[IEEE-488|SCPI]] commands.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
[https://beyondmeasure.rigoltech.com/acton/attachment/1579/f-0905/0/-/-/-/-/MSO5_users_guide.pdf User Manual]&lt;br /&gt;
&lt;br /&gt;
[https://beyondmeasure.rigoltech.com/acton/attachment/1579/f-0906/0/-/-/-/-/MSO5_programming_guide.pdf Programming Guide]&lt;br /&gt;
&lt;br /&gt;
== Example use ==&lt;br /&gt;
&lt;br /&gt;
Depending on your type of connection you have to can either use the [[Connection_parameters#USBTMC | USBTMC connection parameter]] or the [[Connection_parameters#VXI | VXI connection parameter]]. Examples:&lt;br /&gt;
&lt;br /&gt;
When connecting over TCP/IP need to specify ip address and port:&lt;br /&gt;
  &lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;-d rigol-ds:conn=vxi/192.168.42.42&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;sigrok-cli -d rigol-ds:conn=vxi/192.168.1.250 --config data_source=Live -o live.sr -O srzip --frames=1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [[Rigol-ds data source]] for more information on data source.&lt;br /&gt;
&lt;br /&gt;
== Digital channels ==&lt;br /&gt;
The MSO500 Series has dedicated memory for digital channels, which is smaller in size than the analog memory.&lt;br /&gt;
To have the same capturing time, the digital sampling rate is lower than the analog sampling rate.&lt;br /&gt;
&lt;br /&gt;
Note: The support is not in mainline, yet. See [https://github.com/sigrokproject/libsigrok/pull/95 | PR#95]&lt;br /&gt;
&lt;br /&gt;
== Signal generator (option) ==&lt;br /&gt;
The optional signal gnerator can be used with the rigol-dg driver.&lt;br /&gt;
For usage see [[Rigol_DG800_Series | Rigol DG800 Series]]&lt;br /&gt;
&lt;br /&gt;
Suported waveforms&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Waveform || min frequency || max. frequency&lt;br /&gt;
|-&lt;br /&gt;
|| Sine || 100mHz || 25MHz &lt;br /&gt;
|-&lt;br /&gt;
|| Square || 100mHz || 15MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Ramp || 100mHz || 100kHz&lt;br /&gt;
|-&lt;br /&gt;
|| Pulse || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Arb || 100mHz || 10MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Noise || - || -&lt;br /&gt;
|-&lt;br /&gt;
|| DC || - || -&lt;br /&gt;
|-&lt;br /&gt;
|| Sinc || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ExpRise || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ExpFall || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ECG || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Gauss || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Lorentz || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Haversin || 100mHz || 1MHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Signal generator [https://github.com/sigrokproject/libsigrok/pull/96 PR#96]  [https://sigrok.org/gitaction/libsigrok.git/8da5cfc..70cdf23 has been merged 2024-09-28]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Oscilloscope]]&lt;br /&gt;
[[Category:Mixed-signal oscilloscope]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=16122</id>
		<title>Supported hardware</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=16122"/>
		<updated>2021-06-04T10:57:02Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Update IRC link to libera.chat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;sigrok is intended as a flexible, cross-platform, and &amp;#039;&amp;#039;&amp;#039;hardware-independent&amp;#039;&amp;#039;&amp;#039; software suite, i.e., it supports various devices from many different vendors.&lt;br /&gt;
&lt;br /&gt;
Here is a list of currently supported devices (various stages of completeness) in the [http://sigrok.org/gitweb/?p=libsigrok.git;a=summary latest git version of libsigrok] (fewer devices might be supported in tarball releases) and devices we plan to support in the future.&lt;br /&gt;
&lt;br /&gt;
The lists are sorted by category ([[File:Nuvola OK.png|16px]] &amp;lt;span style=&amp;quot;background-color: lime&amp;quot;&amp;gt;supported&amp;lt;/span&amp;gt;: [[:Category:Supported|{{PAGESINCATEGORY:Supported|pages}}]], [[File:Nuvola Orange.png|16px]] &amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;in progress&amp;lt;/span&amp;gt;: [[:Category:In progress|{{PAGESINCATEGORY:In progress|pages}}]], [[File:Nuvola Red.png|16px]] &amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;planned&amp;lt;/span&amp;gt;: [[:Category:Planned|{{PAGESINCATEGORY:Planned|pages}}]]), and alphabetically within those categories.&lt;br /&gt;
&lt;br /&gt;
== Logic analyzers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:ARMFLY MINI LOGIC.png|link=ARMFLY Mini-Logic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ARMFLY Mini-Logic]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ASIX SIGMA 2.png|link=ASIX SIGMA|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ASIX SIGMA]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:BeagleLogic.jpg|link=BeagleLogic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BeagleLogic]] (12(max 14)ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Braintechnology_usb_interface_v26.png|link=Braintechnology USB Interface V2.x|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Braintechnology USB Interface V2.x]] (8/16ch, 24/12MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Braintechnology_usb_lps.png|link=Braintechnology USB-LPS|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Braintechnology USB-LPS]] (8/16ch, 24/12MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chronovu la8 front.png|link=ChronoVu LA8|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ChronoVu LA8]] (8ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chronovu la16.png|link=ChronoVu LA16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ChronoVu LA16]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Cwav_usbee_sx.png|link=CWAV USBee SX|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[CWAV USBee SX]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Buspirate_v3.png|link=Dangerous Prototypes Buspirate|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Dangerous Prototypes Buspirate]] (5ch, 1MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Dangerous prototypes irtoy mugshot.png|link=Dangerous Prototypes USB IR Toy|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Dangerous Prototypes USB IR Toy]] (1ch, 10kHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic Basic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic Basic]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic Plus|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic Plus]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic Pro]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Eeelec xla esla100.png|link=EE Electronics ESLA100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EE Electronics ESLA100]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chronovu la8 ftdi ft245rl.jpg|link=FTDI-LA|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[FTDI-LA]] (8ch, ~10MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:jtagulator-transparent.png|link=JTAGulator|[[File:Nuvola OK.png|16px]]&amp;lt;small&amp;gt;[[JTAGulator | Grand Idea Studio JTAGulator]] (24ch, 1.2MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l mugshot.png|link=Hantek 4032L|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek 4032L]] (32ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 6022be mugshot.png|link=Hantek 6022BL|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6022BL]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hobby components hctest0006 mugshot.png|link=Hobby Components HCTEST0006|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hobby Components HCTEST0006]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic_scanalogic2.png|link=IKALOGIC Scanalogic-2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[IKALOGIC Scanalogic-2]] (4ch, 20MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanaplus mugshot.png|link=IKALOGIC ScanaPLUS|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[IKALOGIC ScanaPLUS]] (9ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Kingst la2016 mugshot.png|link=Kingst LA2016|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Kingst LA2016]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Kingst kqs3506 la16100.png|link=KingST KQS3506-LA16100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[KingST KQS3506-LA16100]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lcsoft-miniboard-front.png|link=Lcsoft Mini Board|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lcsoft Mini Board]] (8/16ch, 24/12MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lecroy logicstudio16 mugshot.png|link=LeCroy LogicStudio|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[LeCroy LogicStudio]] (8/16ch, 1GHz/500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:logic-shrimp-front.png|link=Logic Shrimp|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Logic Shrimp]] (4ch, 20MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mcu123 saleae logic clone.png|link=MCU123 Saleae Logic clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MCU123 Saleae Logic clone]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Meilhaus logian 16l mugshot.png|link=Meilhaus Logian-16L|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Meilhaus Logian-16L]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Microchip_pickit2.png|link=Microchip PICkit2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Microchip PICkit2]] (3ch, 1MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Usbee_ax_clone_front.png|link=MCU123 USBee AX Pro clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MCU123 USBee AX Pro clone]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mcupro_Logic16_overview.png|link=mcupro Logic16 clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[mcupro Logic16 clone]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Openbench logic sniffer front.png|link=Openbench Logic Sniffer|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Openbench Logic Sniffer]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Prist akip 9101 mugshot.png|link=Prist AKIP-9101|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Prist AKIP-9101]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Robomotic buglogic3.png|link=Robomotic BugLogic 3|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Robomotic BugLogic 3]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Robomotic_minilogic.png|link=Robomotic MiniLogic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Robomotic MiniLogic]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae Logic.png|link=Saleae Logic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae_Logic16_bottom.png|link=Saleae Logic16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saanlima Pipistrello-OLS.png|link=Saanlima Pipistrello OLS|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saanlima Pipistrello OLS]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=SUMP compatibles|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[SUMP compatibles]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk lwla1016.png|link=Sysclk LWLA1016|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk LWLA1016]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk lwla1034 mugshot.png|link=Sysclk LWLA1034|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk LWLA1034]] (34ch, 125MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk sla5032 mugshot.png|link=Sysclk SLA5032|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk SLA5032]] (32ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:VKTECH_thumb.jpg|link=VKTECH_saleae_clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[VKTECH_saleae_clone|VKTECH saleae clone]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Wayengineer saleae16.png|link=WayEngineer Saleae16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[WayEngineer Saleae16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(16032)|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZEROPLUS Logic Cube LAP-C(16032)]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(322000)|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZEROPLUS Logic Cube LAP-C(322000)]] (32ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zeroplus_lap-16128u.png|link=ZEROPLUS LAP-16128U|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZEROPLUS LAP-16128U]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Acute_pkla1216.png|link=Acute PKLA-1216|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Acute PKLA-1216]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Arduino_Uno-R3.jpg|link=Arduino|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Arduino]] (6ch, 4MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ASIX Omega.png|link=ASIX OMEGA|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ASIX OMEGA]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Codethink Interrogizer|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Codethink Interrogizer]] (16ch, 200kHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:IMG 20191206 105430.jpg|link=CoLA|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[CoLA]] (96/48/24ch, 25/50/100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic U3Pro16.png|link=DreamSourceLab DSLogic U3Pro16|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic U3Pro16]] (16ch, 1GHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hsa-logic.png|link=HSA Logic|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HSA Logic]] (8ch, 6.25MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ideofy_la_08.png|link=Ideofy LA-08|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Ideofy LA-08]] (8ch, 96/60/30MHz @ 2/4/8ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Intronix Logicport.png|link=Intronix Logicport LA1034|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Intronix Logicport LA1034]] (34ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Link Instruments LA-5580|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Link Instruments LA-5580]] (80ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Minila parport.png|link=MiniLA|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MiniLA]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Minila_mockup.png|link=MiniLA Mockup|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MiniLA Mockup]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Noname_la16_mugshot.png|link=Noname LA16|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Noname LA16]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Noname xl logic16 100m mugshot.png|link=Noname XL-LOGIC16-100M|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Noname XL-LOGIC16-100M]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rockylogic_ant8.png|link=RockyLogic Ant8|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RockyLogic Ant8]] (8ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RockyLogic Ant18e.png|link=RockyLogic Ant18e|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RockyLogic Ant18e]] (8ch, 1GHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk lwla2034 mugshot.png|link=Sysclk LWLA2034|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Sysclk LWLA2034]] (34ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Techtools_digiview_dv1-100.png|link=TechTools DigiView DV1-100|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[TechTools DigiView DV1-100]] (18ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tektronix TLA5204 1000.png|link=Tektronix TLA520X|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Tektronix TLA520X]] (128ch, 2Ghz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Xmos xtag2.png|link=XMOS XTAG-2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[XMOS XTAG-2]] (?ch, 50MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zlg_la1032.png|link=ZLG LA1032|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ZLG LA1032]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mixed-signal devices ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=105px heights=105px&amp;gt;&lt;br /&gt;
File:Armfly_ax_pro.png|link=ARMFLY AX-Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ARMFLY AX-Pro]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk ax pro mugshot.png|link=Sysclk AX-Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk AX-Pro]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Esla201a.png|link=EE Electronics ESLA201A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EE Electronics ESLA201A]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ht usbee axpro v5 mugshot.png|link=HT USBee-AxPro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HT USBee-AxPro]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:LeCroy_WaveSurfer_24Xs-A_front.png|link=LeCroy oscilloscope series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[LeCroy oscilloscope series]] (various)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Noname lht00su1 mugshot.png|link=Noname LHT00SU1|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Noname LHT00SU1]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS1000 series|Rigol DS1000D series]] (16ch, 2ch analog, 50-150MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol DS4000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS4000 series]] (0/16ch , 2-4ch analog, 2-4GS/s, 100MHz/200MHz/350MHz/500MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol VS5000 series|Rigol VS5000D series]] (16ch, 2ch analog, 20-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RS HMO1002.png|link=Rohde&amp;amp;Schwarz HMO1002 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMO1002 series]] (2ch, 1GS/s, 50-100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HMO3000.jpg|link=Rohde&amp;amp;Schwarz HMO3000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMO 3000 series]] (16ch, 2/4ch analog, 4GS/s, 300-500MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RTA4000.jpg|link=Rohde&amp;amp;Schwarz RT series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz RT series]] (8/16ch, 2/4ch analog, 2-5GS/s, 50MHz-1GHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae Logic Pro 16 bottom.jpg|link=Saleae Logic Pro 16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic Pro 16]] (4/16ch, 500/100MHz; 16ch analog, 50MSa/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Siglent_SDS1202X-E_front.png|link=Siglent SDS1000X series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siglent SDS1000X series]] (16ch, 2ch analog, 1GSa/s, 200/100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:sds2304x-mugshot.png|link=Siglent SDS2000X series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siglent SDS2000X series]] (16ch, 2/4ch analog, 2GSa/s, 300/200/150/100/70MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Yokogawa DLM2000 front.png|link=Yokogawa DLM2000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Yokogawa DLM2000 series]] (8ch, 2/4ch analog, 2.5GSa/s, 200/350/500MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Xzl studio ax mugshot.png|link=XZL_Studio AX|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[XZL_Studio AX]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Xzl studio-dx mugshot.png|link=XZL_Studio DX|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[XZL_Studio DX]]&amp;lt;br/&amp;gt; (16ch, 24MHz; 2ch analog),&amp;lt;br /&amp;gt;Analog not supported&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Agilent_MSO7104A.png|link=Agilent MSO7104A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Agilent MSO7104A]] (16ch, ?; 4ch analog, 2GSa/s, 1GHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:BitScope BS10.png|link=BitScope BS10|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[BitScope BS10]] (8ch, 40MHz; 2ch analog, 20MSa/s, ? BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digilent_analog_discovery.png|link=Digilent Analog Discovery|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Digilent Analog Discovery]] (16ch, 100MHz; 2ch analog, 100MSa/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek_1008C.png|link=Hantek 1008C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek 1008C]] (8ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ht usbee dxpro mugshot.png|link=HT USBee-DxPro|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HT USBee-DxPro]] (16ch, 24MHz; 2ch analog)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lab nation smartscope mugshot.png|link=LabNation SmartScope|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[LabNation SmartScope]] (8ch, 100MHz; 2ch analog, 100MSa/s, 45MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Link Instruments MSO-19 front.png|link=Link Instruments MSO-19|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Link Instruments MSO-19]] (8ch, 200MHz; 1ch analog, 200MSa/s, 60MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Meilhaus_mephisto_scope1.png|link=Meilhaus MEphisto Scope1|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Meilhaus MEphisto Scope1]] (16ch, 100kHz; 2ch analog, 1MSa/s, 500kHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Polabs_poscope_basic2.png|link=PoLabs PoScope Basic2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PoLabs PoScope Basic2]] (16ch, 8MHz; 2ch analog, 200kSa/s, ? BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:QuantAsylum QA100.png|link=QuantAsylum QA100|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[QuantAsylum QA100]] (12ch; 2ch analog)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol MSO5000 Series|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Rigol MSO5000 Series]] (16ch, 2-4ch analog, 70-350MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae_Logic8_case_bottom.jpg|link=Saleae Logic8|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic8]] (3/6/7/8ch, 100/50/40/25MHz; 8ch analog, 10MSa/s, 1MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae_logic_pro_8-bottom.png|link=Saleae Logic Pro 8|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic Pro 8]] (4/8ch, 500/100MHz; 8ch analog, 50MSa/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 3205D MSO fp.jpg|link=Pico Technology PicoScope 3205D MSO|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 3205D MSO]] (16ch, 100MHz; 2ch analog, 1/0.5GS/s, 100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSO3254A.jpg|link=Hantek DSO3254A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO3254A]] (16ch, 250MHz; 4ch analog, 1GS/s, 250MHz BW; 1 ch func/arb generator, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oscilloscopes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=100px heights=100px&amp;gt;&lt;br /&gt;
File:Agilent DSO1014A.png|link=Agilent DSO1000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent DSO1000 series]] (2-4ch, 2GS/s, 60-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke_Scopemeter_199B.png|link=Fluke ScopeMeter 199B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke ScopeMeter 199B]] (2ch, 2.5GS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dso-6060c mugshot.png|link=GW Instek GDS-800 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDS-800 series]] (2ch, 25GS/s, 60-250MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hameg HMO2024.png|link=Hameg HMO compact series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hameg HMO compact series]] (2-4ch, 2GS/s, 70-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 6022be mugshot.png|link=Hantek 6022BE|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6022BE]] (2ch, 48MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek DSO-2090.png|link=Hantek DSO-2090|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-2090]] (2ch, 100MS/s, 40MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hung chang dso 2100 mugshot.png|link=Hung-Chang_DSO-2100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hung-Chang DSO-2100]] (2ch, 100MS/s, 30MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS1000 series|Rigol DS1000E series]] (2ch, 1GS/s, 50-150MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DS1074Z front.png|link=Rigol DS1000Z series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS1000Z series|Rigol DS1000Z series]] (4ch, 1GS/s, 50-100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol-ds2072 mugshot.png|link=Rigol DS2000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS2000 series]] (2ch, 2GS/s, 70-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol VS5000 series]] (2ch, 20-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rocktech bm102 mugshot.png|link=Rocktech BM102|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rocktech BM102]] (2ch, 50MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Dds120 mugshot.png|link=SainSmart DDS120|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[SainSmart DDS120]] (2ch, 50MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:YiXingDianZi-MDSO.png|link=YiXingDianZi MDSO|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[YiXingDianZi MDSO]] (2ch, 48MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Dreamsourcelab dscope c20p front.jpg|link=DreamSourceLab DScope C20P|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DScope C20P]] (2ch, 200MS/s, 50MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke scopemeter123.png|link=Fluke ScopeMeter 123|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Fluke ScopeMeter 123]] (2ch, 25MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Focussz_fosc21_mugshot.png|link=Focussz Fosc21|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Focussz Fosc21]] (2ch, 8kS/s, 3kHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=GW Instek GDS-2000 series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDS-2000 series]] (2ch, 1GS/s, 60MHz/100MHz/200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek front.jpg|link=Hantek 6052BE|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6052BE]] (2ch, 150MS/s, 50MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 6254bd mugshot.png|link=Hantek 6254BD|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6254BD]] (4ch, 1GS/s, 250MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Hantek DSO-1200|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-1200]] (2ch, 500MS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek_DSO_2100_usb.jpg|link=Hantek DSO-2100|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-2100]] (2ch, 100M/s, 30MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek DSO-220 Back.jpg|link=Hantek DSO-220|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-220]] (2ch, 60MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek_PSO2020_0.JPG|link=Hantek PSO2020|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek PSO2020]] (1ch, 96MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek dso2250 mugshot.png|link=Hantek DSO-2250|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-2250]] (2ch, 250MS/s, 100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek dso-5200a device front.png|link=Hantek DSO-5200A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-5200A]] (2ch, 250MS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek iDSO1070A.JPG|link=Hantek iDSO1070|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek iDSO1070]] (2ch, 250MS/s, 70MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Hantek iDSO1070A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek iDSO1070A]] (2ch, 125MS/s, 70MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Usbduxfast.png|link=Incite Technology USB-DUXfast|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Incite Technology USB-DUXfast]] (16ch, 3MHz, ? BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Instrustar-IDS205A CaseFront.jpg|link=Instrustar ISDS205A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Instrustar_ISDS205A]] (2ch, 48MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Loto_OSC802.jpg|link=Loto OSC802|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Loto OSC802]] (2ch, 80MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:OsciPrime.png|link=Nexus-Computing OsciPrime|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Nexus-Computing OsciPrime]] (2ch, ?MS/s, 3.3MHz-8MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Owon SDS series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Owon SDS series]] (2ch, 0.5-3.2GS/s, 60-300MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 2203.png|link=Pico Technology PicoScope 2203|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 2203]] (40/20MS/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 2204A.png|link=Pico Technology PicoScope 2204A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 2204A]] (100MS/s, 10MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:PicoScope_2205.png|link=Pico Technology PicoScope 2205|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 2205]] (200/100MS/s, 25MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 3206.png|link=Pico Technology PicoScope 3206|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 3206]] (200/100MS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 5203.png|link=Pico Technology PicoScope 5203|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 5203]] (1/0.5GS/s, 250MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sainsmart dds140 mugshot.png|link=SainSmart DDS140|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[SainSmart DDS140]] (2ch, 200MS/s, 40MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tektronix tds2024b mugshot.png|link=Tektronix TDS2000B series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Tektronix TDS2000B series]] (2-4ch, 1-2GS/s, 60-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:UNI-T UTD2042C.png|link=UNI-T UTD2042C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UTD2042C]] (2ch, 500MS/s, 40MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Velleman PCSU1000.png|link=Velleman PCSU1000|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Velleman PCSU1000]] (2ch, 1GS/s, 50MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:VellemanWFS210.png|link=Velleman WFS210|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Velleman WFS210]] (2ch, 10MS/s, ?? MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dso-220 usb.png|link=Voltcraft DSO-220|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DSO-220]] (2ch, 60MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft DSO-3062C.png|link=Voltcraft DSO-3062C|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DSO-3062C]] (2ch, 1GS/s, 60MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Multimeters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Agilent_34401A|[[file:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent 34401A]] (6.5 digits, GPIB, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Agilent_34405A.png|link=Agilent_34405A|[[file:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent 34405A]] (120000 counts, USB TMC)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Agilent U1232A.png|link=Agilent U12xxx series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent U12xxx series]] (USB/Bluetooth)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bbc gm m2110 mugshot.png|link=BBC Goertz Metrawatt M2110|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BBC Goertz Metrawatt M2110]] (30000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Brymen BM257.png|link=Brymen BM257|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM257]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Brymen bm257s mugshot.png|link=Brymen BM257s|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM257s]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm525s-mugshot.png|link=Brymen BM525s|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM525s]] (10000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm829s-mugshot.png|link=Brymen BM829s|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM829s]] (10000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm_857_mugshot_500000.png|link=Brymen BM857|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM857]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm859s-front-sleeve.png|link=Brymen BM859s|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM859s]] (50000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm869_mugshot.png|link=Brymen BM869|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM869]] (50000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digitek_dt4000zc_device_front.png|link=Digitek DT4000ZC|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Digitek DT4000ZC]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Eevblog 121gw mugshot.png|link=EEVBlog 121GW|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EEVBlog 121GW]] (50000 counts, BLE, SD)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke 187.png|link=Fluke 187/189|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke 187/189]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke 287.png|link=Fluke 287/289|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke 287/289]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke_45_mugshot.png|link=Fluke 45|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke 45]] (100000 counts, GPIB/RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gmc metrahit 14a logo.png|link=Gossen Metrawatt Metrahit 14A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 14A]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen Metrawatt Metrahit 16I small.png|link=Gossen Metrawatt Metrahit 16I|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 16I]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen Metrawatt Metrahit 18S small.png|link=Gossen Metrawatt Metrahit 18S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 18S]] (31000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen Metrawatt Metrahit 25S Logo.png|link=Gossen Metrawatt Metrahit 25S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 25S]] (31000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gmc metrahit 29s logo.png|link=Gossen Metrawatt Metrahit 29S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 29S]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gmc kmm2002 logo.png|link=Gossen Metrawatt T-Com KMM2002|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt T-Com KMM2002]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-397_front.png|link=GW Instek GDM-397|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-397]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-8251a frontpanel.png|link=GW Instek GDM-8251A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-8251A]] (120000 counts, RS232/USB/DigitalIO)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-8251a frontpanel.png|link=GW Instek GDM-8255A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-8255A]] (199999 counts, RS232/USB/DigitalIO)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-9061_frontpanel.png|link=GW Instek GDM-9060|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-9060]] (1200000 counts, LAN/RS232/USB/DigitalIO/GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-9061_frontpanel.png|link=GW Instek GDM-9061|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-9061]] (1200000 counts, LAN/RS232/USB/DigitalIO/GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HP_3457a_sigrok_teaser.png|link=HP 3457A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 3457A]] (7.5 digits, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hp3478a mugshot.png|link=HP 3478A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 3478A]] (5.5 digits, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HT410 logo.png|link=HT Instruments HT410|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HT Instruments HT410]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:100px_Idm103n.png|link=ISO-TECH IDM103N|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ISO-TECH IDM103N]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:keysight-34465a-mugshot.png|link=Keysight 34465A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Keysight 34465A]] (1200000 counts, LAN/USB/GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech mas345 device front.png|link=MASTECH MAS345|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MAS345]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech_ms2115b_mugshot.png|link=MASTECH MS2115B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS2115B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech ms8250b mugshot.png|link=MASTECH MS8250B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS8250B]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech ms8250d mugshot.png|link=MASTECH MS8250D|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS8250D]] (6600 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Meterman-38xr.png|link=Meterman_38XR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Meterman 38XR]] (10000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex M3850M mugshot.png|link=Metex M-3850M|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex M-3850M]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex m4650cr mugshot.png|link=Metex M-4650CR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex M-4650CR]] (20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex_ME-21.jpg|link=Metex ME-21|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex ME-21]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex_me-31.png|link=Metex ME-31|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex ME-31]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metrix mx56c.png|link=Metrix MX56C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metrix MX56C]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mooshimeter_mugshot.png|link=Mooshim Engineering Mooshimeter|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Mooshim Engineering Mooshimeter]] (24bit, BLE)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Norma dm950.png|link=Norma DM950|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Norma DM950]] (21000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pce-pce-dm32.png|link=PCE PCE-DM32|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-DM32]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 3330 mugshot.png|link=PeakTech 3330|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3330]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex_me-31.png|link=PeakTech 3410|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3410]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech3415_top.png|link=PeakTech 3415|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3415]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4370 device front.png|link=PeakTech 4370|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4370]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4390a metex m-3860m mugshot.png|link=PeakTech 4390A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4390A]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rs_22_168_mugshot.png|link=RadioShack 22-168|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RadioShack 22-168]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rs_22-805_front.png|link=RadioShack 22-805|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RadioShack 22-805]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:radioshack_22_812_front.png|link=RadioShack 22-812|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RadioShack 22-812]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:siemens_b1026_logo.png|link=Siemens B1026|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siemens B1026]] (21000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Siemens B1105 small.png|link=Siemens B1105|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siemens B1105]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sparkfun 70c mugshot.png|link=SparkFun 70C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[SparkFun 70C]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tecpel dmm8061.png|link=Tecpel DMM-8061|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tecpel DMM-8061]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tp4000zc_front.png|link=TekPower TP4000ZC|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[TekPower TP4000ZC]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7730.png|link=Tenma 72-7730|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7730]] (20000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7732.png|link=Tenma 72-7732|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7732]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7745.png|link=Tenma 72-7745|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7745]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7750.png|link=Tenma 72-7750|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7750]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-9380A.png|link=Tenma 72-9380A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-9380A]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ut60e_-_front_-_alpha.png|link=UNI-T UT60E|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT60E]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t ut61b mugshot.png|link=UNI-T UT61B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61B]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t ut61c mugshot.png|link=UNI-T UT61C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61C]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni t ut61d device.png|link=UNI-T UT61D|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61D]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Old ver front.png|link=UNI-T UT61E|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61E]] (22000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ut71c mugshot.png|link=UNI-T UT71C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT71C]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t-ut181a mugshot.png|link=UNI-T UT181A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT181A]] (60000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Va_va18b.png|link=V&amp;amp;A VA18B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[V&amp;amp;A VA18B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Va va40b mugshot.png|link=V&amp;amp;A VA40B|link=V&amp;amp;A VA40B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[V&amp;amp;A VA40B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DVM4100.png|link=Velleman DVM4100|link=Velleman DVM4100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Velleman DVM4100]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Victor 70C.png|link=Victor 70C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Victor 70C]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Victor 86c device front.png|link=Victor 86C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Victor 86C]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m-3650cr.png|link=Voltcraft M-3650CR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3650CR]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft_M-3650D_transparent.png|link=Voltcraft M-3650D|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3650D]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m4650cr.png|link=Voltcraft M-4650CR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-4650CR]] (20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft ME-42 logo.png|link=Voltcraft ME-42|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft ME-42]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc820 device.png|link=Voltcraft VC-820|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-820]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc830.png|link=Voltcraft VC-830|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-830]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc840 device front.png|link=Voltcraft VC-840|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-840]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc870 mugshot.png|link=Voltcraft VC-870|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-870]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc920.png|link=Voltcraft VC-920|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-920]] (40000/4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc940.png|link=Voltcraft VC-940|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-940]] (40000/4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc96 mugshot.png|link=Voltcraft VC-96|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-96]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Appa 107.png|link=APPA 107|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[APPA 107]] (4000 / 20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=APPA Multimeters|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[APPA Multimeters]] (Most models, Optical RS232/USB, BLE)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Benning MM 12 - 01 - Front Sleeve.png|link=BENNING MM 12|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[BENNING MM 12]] (40000 counts, RS232/USB, BLE)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=CEM DT-987BT|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[CEM DT-987BT]] (50000 counts, BLE)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digitek dt8000.png|link=Digitek DT8000|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Digitek DT8000]] (8000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digitek dt80000.png|link=Digitek DT80000|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Digitek DT80000]] (80000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Escort 179 device front.png|link=Escort 179|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Escort 179]] (10000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 28C]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28S|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 28S]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen metrahit 30m.png|link=Gossen-Metrawatt METRAHIT 30M|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen-Metrawatt METRAHIT 30M]] (1200000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit X-Tra|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit X-Tra]] (12000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=HYELEC MS8236|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HYELEC MS8236]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:800px-Mastech m9803r device front.png|link=MASTECH M9803R|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MASTECH M9803R]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metrix mx53.png|link=Metrix MX53|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Metrix MX53]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Owon_XDM2041.JPG|link=Owon XDM2041|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Owon XDM2041]] (55000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech-3442-front.png|link=PeakTech 3442|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3442]] (50000 counts, BLE)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4380 mugshot.png|link=PeakTech 4380|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4380]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4390 mugshot.png|link=PeakTech 4390|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4390]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Protek 6500|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Protek 6500]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DM3068 front.png|link=Rigol DM3068|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Rigol DM3068]] (2200000 counts, LAN/USB/GPIB/RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RS PRO S2 - 01 - Front.png|link=RS PRO S2|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[RS PRO S2]] (6000 counts, BLE)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-1016.png|link=Tenma 72-1016|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-1016]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t-ut81b mugshot.png|link=UNI-T UT81B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT81B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft 3850D front transp.png|link=Voltcraft M-3850D|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3850D]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m3890dt usb.png|link=Voltcraft M-3890DT|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3890DT]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m4660a device front.png|link=Voltcraft M-4660A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-4660A]] (20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc890 mugshot.png|link=Voltcraft VC-890|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-890]] (60000 counts, USB/serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft VC-950 - 01 - Front.png|link=Voltcraft VC-950|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-950]] (100000/10000 counts, serial/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCR meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100Px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Der ee de-5000 mugshot.png|link=DER EE DE-5000|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[DER EE DE-5000]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=MASTECH MS5308|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS5308]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:peaktech2165-front.png|link=Peaktech 2165|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[Peaktech 2165]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 2170 mugshot.png|link=PeakTech 2170|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 2170]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:uni_t_ut612_1.png|link=UNI-T UT612|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT612]] (USB/HID)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft4080_2.png|link=Voltcraft 4080|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft 4080]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Agilent U1732B.png|link=Agilent U1732B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Agilent U1732B]] (IR)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=BK Precision 879B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[BK Precision 879B]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sound level meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:CEM DT-8852.png|link=CEM DT-8852|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[CEM DT-8852]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Colead SL-5868P.png|link=Colead SL-5868P|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Colead SL-5868P]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Kecheng KC-330B.png|link=Kecheng KC-330B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Kecheng KC-330B]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:PCE-322A.png|link=PCE PCE-322A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-322A]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tondaj sl-814.png|link=Tondaj SL-814|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tondaj SL-814]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (also: light-/thermo-/hygrometer; RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft_dl_160s.png|link=Voltcraft DL-160S|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-160S]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft_DL-161S.png|link=Voltcraft DL-161S|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-161S]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Thermometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:rs55ii.png|link=APPA 55II|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[APPA 55II]] (2xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lascar Electronics EL-USB-2]] (1xtemp, 1xhum, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:MASTECH_MS6514_mugshot.png|link=MASTECH MS6514|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS6514]] (2x temp, USB/serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mic 98581.png|link=MIC 98581|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MIC 98581]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MIC 98583]] (1xtemp, 1xhum, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t ut325 front.png|link=UNI-T UT325|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT325]] (2xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft k204.png|link=Voltcraft K204|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft K204]] (4xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Elitech rc3.png|link=Elitech RC-3|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Elitech RC-3]] (1xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Escort 19.png|link=Escort 19|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Escort 19]] (1x temp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pax_instruments_t400.jpg|link=Pax Instruments T400|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pax Instruments T400]] (4xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (1xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rding temper front.png|link=RDing TEMPer|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rding temper gold device front.png|link=RDing TEMPer Gold|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer Gold]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rding temper1 device front.png|link=RDing TEMPer1|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer1]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pcsensor_temper1k2.png|link=RDing TEMPer1K2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer1K2]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dl-120th.png|link=Voltcraft DL-120TH|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-120TH]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dl-140th.png|link=Voltcraft DL-140TH|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-140TH]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hygrometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lascar Electronics EL-USB-2]] (temp/humidity, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MIC 98583]] (temp/humidity, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (also: light-/soundlevelmeter; RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Silabs si7005usb dgl eb top.jpg|link=SiLabs Si7005USB-Dongle|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[SiLabs Si7005USB-Dongle]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anemometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Mastech ms6252b.png|link=MASTECH MS6252B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS6252B]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Light meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Lutron YK-2005LX.png|link=Lutron YK-2005LX|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Lutron YK-2005LX]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Energy meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Actaris_a14c5_teleinfo.png|link=EDF Teleinfo|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EDF Teleinfo]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Acme.png|link=BayLibre ACME|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BayLibre ACME]] (I2C)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:UM24C_display.jpg|link=RDTech_UM_series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RDTech UM series]] (USB testers)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:UM24C display.jpg|link=RDTech_TC66C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RDTech TC66C]] (USB tester)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DAQs ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Ni usb 6008.png|link=NI USB-6008|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[NI USB-6008]] (8/2 analog inputs/outputs, 12 digital I/Os)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dataloggers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:EL-USB-CO.png|link=Lascar Electronics EL-USB-CO|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lascar Electronics EL-USB-CO]] (carbon monoxide (CO) logger, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Testo_435-4.png|link=Testo 435-4|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Testo 435-4]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Gsg_indoor_air_monitor.png|link=GSG Indoor Air Monitor|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[GSG Indoor Air Monitor]] (air quality monitor, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Maul_studio_i.png|link=MAUL studio i|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MAUL studio i]] (weighing scale, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft co-20.png|link=Voltcraft CO-20|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft CO-20]] (air quality monitor, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tachometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Uni-t ut372 mugshot.png|link=UNI-T UT372|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT372]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scales ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Kern ew-6200-2nm mugshot.png|link=KERN scale series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[KERN scale series]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital loads ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Arachnid Labs ReLoad Pro - Mugshot.png|link=Arachnid Labs Reload Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Arachnid Labs Reload Pro]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Itech It8511plus frontpanel.png|link=ITECH IT8500 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ITECH IT8500 series]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Maynuo m9812 mugshot.png|link=Maynuo M9812|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Maynuo M9812]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ztetech-ebd-usb%2B.png|link=ZKETECH_EBD-USB|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZKETECH EBD-USB]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Atten ATZ9711.png|link=ATTEN ATZ9711|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ATTEN ATZ9711]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Function generators ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Rohde&amp;amp;Schwarz SME series|[[file:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz SME series]] (1ch, various, GPIB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol_DG811_frontpanel.png|link=Rigol DG800 Series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DG800 Series]] (1-2ch, 10/25/35MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol DG900 Series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DG900 Series]] (2ch, 50/70/100MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Dg1000z_series.png|link=Rigol DG1000z Series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DG1000z Series]] (2ch, 25/35/60MHz, USB, LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:BG7TBL small.png|link=BG7TBL|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[BG7TBL]] (138MHz-4.4GHz, PC-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DDS-3X25]] (25MHz, PC-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hp_3325a_front.png|link=HO 3325A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HP 3325A]] (20MHz, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Jds6600-mugshot.png|link=Joy-IT JDS6600|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Joy-IT JDS6600]] (60MHz, USB RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:MHINSTEK UDB1305S persp.jpg|link=MHINSTEK UDB1xxxS|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MHINSTEK UDB1xxxS]] (2/5/8MHz, Serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:MHINSTEK MHS-5200A persp.jpg|link=MHINSTEK MHS-5200A|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[MHINSTEK MHS-5200A]] (6/12/20/25MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Siglent sdg1010 device front 8116.png|link=Siglent SDG1010|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Siglent SDG1010]] (10MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Velleman PCG10|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Velleman PCG10]] (1MHz, PC-based, LPT)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frequency counters ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DDS-3X25]] (50MHz, PC-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HP 5350B.png|link=HP 5350B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HP 5350B]] (10Hz-20GHz, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RF receivers ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Per vices noctar.png|link=Per Vices Noctar|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Per Vices Noctar]] (100kHz-4GHz, IQ modulator/demodulator, PCIe)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spectrum analyzers ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Siglent SSA3000X series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Siglent SSA3000X series]] (9kHz-2.1GHz, USB, Ethernet)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power supplies ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=Agilent N5700 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent N5700 series]]&lt;br /&gt;
File:Atten PPS3203T-3S.png|link=Atten PPS3203T-3S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Atten PPS3203T-3S]] (3ch, 2x 0-32V, 1x 0-6V at 0-3A, USB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=BK Precision 9310|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BK Precision 9310]]&lt;br /&gt;
File:Chroma_61604_front.png|link=Chroma 61604|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Chroma 61604]] (1ch, 0-300V, 0-16A, 2kVA)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Conrad_digi_35_cpu_logo.png|link=Conrad DIGI 35 CPU|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Conrad DIGI 35 CPU]] (1ch, 0-35V / 0-2.55A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gwinstek-gpd-3303s.png|link=GW Instek GPD series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GPD series]] (2/3/4ch, 0-30V / 0-3A, USB/serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=HP 661xC series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 661xC series]]&lt;br /&gt;
File:Agilent-66312a-mugshot.png|link=HP 66312A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 66312A]] (1ch, 0-20V / 0-2A, GPIB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HP-6632B_mugshot.png|link=HP 6632B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 6632B]] (1ch, 0-20V / 0-5A, GPIB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Velleman ps3005d mugshot.png|link=Korad KAxxxxP series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Korad KAxxxxP series]] (1ch, 0-30V / 0-5A, USB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Manson hcs3202.png|link=Manson HCS-3xxx series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Manson HCS-3xxx series]] (1ch, 1-36V / 0-10A, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Motech_LPS-301_logo.png|link=Motech LPS-301|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Motech LPS-301]] (1ch, 1-32V / 0-2A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Philips PM2813.png|link=Philips PM2800 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Philips_PM2800_series|Fluke/Philips PM2800 series]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rdtech-dps.png|link=RDTech DPS series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RDTech DPS series]] (1ch, various, USB/BT)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RD6006 frontpanel.png|link=RDTech RD series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RDTech RD series]] (1ch, 0-60V, 0-6/12/18A, USB/Serial/WiFi)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=Rigol DP700 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DP700 series]]&lt;br /&gt;
File:Rigol DP832.png|link=Rigol DP800 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DP800 series]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:rs_hmc8043_mugshot.png|link=Rohde&amp;amp;Schwarz HMC 8043|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMC 8043]] (3ch, 0-32V / 0-3A, USB&amp;amp;LXI)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:rs_hmp4040_mugshot.png|link=Rohde&amp;amp;Schwarz HMP 4000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMP 4000 series]] (3/4ch, 0-32V / 0-10A, USB&amp;amp;LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=Delta Elektronika SM3300 series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Delta Elektronika SM3300 series]] (1ch, 18V-660V/3.3kW, USB, RS232, RS485, RS422)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Envox_eez_h24005_front_panel.jpg|link=Envox EEZ H24005|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Envox EEZ H24005]] (2ch, USB&amp;amp;LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Envox_eez_bb3_enclosure_prototype.jpg|link=Envox EEZ Bench Box 3|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Envox EEZ Bench Box 3]] (modular power supply platform, USB&amp;amp;LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=ETommens eTM-xxxxP Series|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[ETommens eTM-xxxxP Series]] (1ch, various, USB/Serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hanmatek_HM305P_front.JPG|link=Hanmatek HM305P|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Hanmatek HM305P]] (1ch, 0-30V/0-5A, USB/Serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rockseed_rs310p.jpg|link=RockSeed RS310P|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[RockSeed RS310P]] (1ch, 0-30V/0-10A, USB/Serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=Siglent SPD3303 series|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Siglent SPD3303 series]] (3ch, 0-32V/0-3.2A, USB, LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=Voltcraft 18220|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft 18220]] (1ch, 0-40V/0-5A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Owon_P4603.JPG|link=Owon P4000 series|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Owon P4000 series]] (1ch, 30V/5A or 60V/3A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Multiplexer / Relay actuators ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:HP_59306A-mugshot.png|link=HP 59306A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 59306A]] (6ch, 0.5A @ 28VDC, 0.5A @ 115VAC, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GPIB interfaces ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Agilent_82357a_top_cover_removed.jpg|link=Agilent_82357A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Agilent 82357A]] (Hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ar488-artag-pcb-top.png|link=AR488|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[AR488]] (Arduino based, USB/RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Beiming_s82357.png|link=Beiming S82357|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Beiming S82357]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ICS 488-USB.png|link=ICS 488-USB|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ICS 488-USB]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:GPIB-USB 82357B clone.png|link=GPIB-USB 82357B clone|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[GPIB-USB 82357B clone]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:NI GPIB-ENET.png|link=National Instruments GPIB-ENET|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[National Instruments GPIB-ENET]] (hardware-based, Ethernet)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:NI GPIB-USB-HS.png|link=National Instruments GPIB-USB-HS|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[National Instruments GPIB-USB-HS]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Prologix-usb.png|link=Prologix GPIB-USB|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Prologix GPIB-USB]] (firmware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:GalvantGPIBUSBrev4.JPG|link=Galvant GPIBUSB|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Galvant GPIBUSB]] (firmware-based, USB, OSHW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential other candidates ==&lt;br /&gt;
&lt;br /&gt;
If you own any other logic analyzers, oscilloscopes, multimeters, dataloggers, ... and want to add support for them in sigrok (or donate/lend devices to developers), please let us know. We&amp;#039;re always happy to add more hardware support! Join the [https://lists.sourceforge.net/lists/listinfo/sigrok-devel mailing list] or ask on [https://web.libera.chat/#sigrok #sigrok@libera.chat] if you want to help out.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=FAQ&amp;diff=16121</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=FAQ&amp;diff=16121"/>
		<updated>2021-06-04T10:02:02Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Update IRC link to libera.chat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General sigrok questions =&lt;br /&gt;
&lt;br /&gt;
== What is sigrok? ==&lt;br /&gt;
&lt;br /&gt;
sigrok is a &amp;#039;&amp;#039;&amp;#039;portable, cross-platform, Free/Libre/Open-Source signal analysis software suite&amp;#039;&amp;#039;&amp;#039; that supports various device types:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot;&lt;br /&gt;
|- align=left&lt;br /&gt;
| [[File:Saleae Logic.png|link=Supported_hardware#Logic_analyzers|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Logic_analyzers|Logic analyzers]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:Link Instruments MSO-19 front.png|link=Supported_hardware#Mixed-signal_devices|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Mixed-signal_devices|MSOs]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:Hantek dso-5200a device front.png|link=Supported_hardware#Oscilloscopes|100px|thumb|Scopes|&amp;lt;small&amp;gt;[[Supported_hardware#Oscilloscopes|Oscilloscopes]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:Voltcraft vc820 device.png|link=Supported_hardware#Multimeters|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Multimeters|Multimeters]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:Tondaj sl-814.png|link=Supported_hardware#Multimeters|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Sound_level_meters|Sound level meters]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
|- align=left&lt;br /&gt;
| [[File:Rding temper front.png|link=Supported_hardware#Thermometers|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Thermometers|Thermometers]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:EL-USB-2.png|link=Supported_hardware#Hygrometers|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Hygrometers|Hygrometers]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:Mastech ms6252b device front.jpg|link=Supported_hardware#Anemometers|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Anemometers|Anemometers]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:Lutron YK-2005LX.png|link=Supported_hardware#Light_meters|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Light_meters|Light meters]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:Maul studio i device.jpg|link=Supported_hardware#Dataloggers|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Dataloggers|Dataloggers]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
|- align=left&lt;br /&gt;
| [[File:Siglent sdg1010 device front 8116.png|link=Supported_hardware#Function_generators|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Function_generators|Function generators]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:Manson hcs3202 front.jpg|link=Supported_hardware#Power_supplies|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#Power_supplies|Power supplies]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
| [[File:Prologix-usb.png|link=Supported_hardware#GPIB_interfaces|100px|thumb|&amp;lt;small&amp;gt;[[Supported_hardware#GPIB_interfaces|GPIB interfaces]]&amp;lt;/small&amp;gt;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It is licensed under the terms of the &amp;#039;&amp;#039;&amp;#039;GNU GPL&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== What does the name sigrok mean? ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;sigrok&amp;#039;&amp;#039;&amp;#039; is a software suite that [http://en.wikipedia.org/wiki/Grok &amp;#039;&amp;#039;&amp;#039;grok&amp;#039;&amp;#039;&amp;#039;s] &amp;#039;&amp;#039;&amp;#039;sig&amp;#039;&amp;#039;&amp;#039;nals for you.&lt;br /&gt;
&lt;br /&gt;
== What is the correct spelling of the name? ==&lt;br /&gt;
&lt;br /&gt;
The name is spelled &amp;#039;&amp;#039;&amp;#039;sigrok&amp;#039;&amp;#039;&amp;#039; (yes, a lower-case &amp;quot;s&amp;quot;, even at the beginning of sentences). It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; spelled &amp;quot;sigrock&amp;quot; or &amp;quot;SigRock&amp;quot; or &amp;quot;Sigrock&amp;quot; or &amp;quot;Sigrok&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== What is the official sigrok logo and where can I get it? ==&lt;br /&gt;
&lt;br /&gt;
See the [[Logo]] wiki page for PNG and SVG versions of the sigrok logo, which is intended for things &amp;#039;&amp;#039;&amp;#039;developed by the sigrok project&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
If you want to advertise that &amp;#039;&amp;#039;&amp;#039;your product can be used with sigrok&amp;#039;&amp;#039;&amp;#039;, we have a specific &amp;quot;[[Advertising sigrok compatible products|works with sigrok]]&amp;quot; logo that you can use (as long as you follow [[Advertising sigrok compatible products#Rules|certain rules]]).&lt;br /&gt;
&lt;br /&gt;
The logo was created by [http://benbois.posterous.com/ Benjamin &amp;quot;wooz&amp;quot; Bois] (thanks!) and is licensed under the [https://creativecommons.org/licenses/by-sa/3.0/ CC-BY-SA 3.0] license.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Sigrok logo.svg|&amp;lt;small&amp;gt;[[Logo|sigrok logo]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Works with sigrok.svg|&amp;lt;small&amp;gt;[[Advertising sigrok compatible products|&amp;quot;Works with sigrok&amp;quot; logo]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Is my measurement device supported? ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Will you add support for my measurement device? ==&lt;br /&gt;
&lt;br /&gt;
Maybe. We generally try to support as much hardware as possible. However, as there are really [[Logic analyzer comparison|many]], [[Mixed-signal device comparison|many]], [[Oscilloscope comparison|many]], [[Multimeter comparison|many]], [[Datalogger comparison|many]], [[GPIB interface comparison|many]] devices out there, this is of course a non-trivial task. We only have limited spare time. Thus, naturally, we&amp;#039;re happy about any code contributions for yet unsupported devices!&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; We generally do &amp;#039;&amp;#039;not&amp;#039;&amp;#039; 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 &amp;quot;please add support for device XYZ&amp;quot; is not necessary (since we already want to support all devices out there). If you want to see your &amp;#039;&amp;#039;specific&amp;#039;&amp;#039; device supported, the best method is to figure out the protocol and add the respective [[libsigrok]] driver yourself. We&amp;#039;re happy to help with any API or protocol questions, please join us on IRC for that ([https://web.libera.chat/#sigrok #sigrok@libera.chat]).&lt;br /&gt;
&lt;br /&gt;
== Do you build/sell/design logic analyzers? ==&lt;br /&gt;
&lt;br /&gt;
No. The sigrok project is a pure (open-source) software project. We&amp;#039;re not designing, building, or selling hardware. We only add software support for already existing hardware.&lt;br /&gt;
&lt;br /&gt;
== Which device do you recommend buying? ==&lt;br /&gt;
&lt;br /&gt;
We generally don&amp;#039;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.&lt;br /&gt;
&lt;br /&gt;
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 analyzer comparison|logic analyzers]], [[Mixed-signal device comparison|mixed-signal devices]], [[Oscilloscope comparison|oscilloscopes]], [[Multimeter comparison|multimeter]], [[Datalogger comparison|dataloggers]], and [[GPIB interface comparison|GPIB interfaces]], which list some (but not all) relevant data points which you may want to compare.&lt;br /&gt;
&lt;br /&gt;
= Logic analyzer questions =&lt;br /&gt;
&lt;br /&gt;
== What is a logic analyzer? ==&lt;br /&gt;
&lt;br /&gt;
[[File:Saleae logic.jpg|thumb|right|An 8-channel logic analyzer]]&lt;br /&gt;
&lt;br /&gt;
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 [http://en.wikipedia.org/wiki/Logic_analyzer Wikipedia page], but make sure to read some of the documents from [[FAQ#Where_can_I_read_more_about_logic_analyzers.3F|this entry]] for more details.&lt;br /&gt;
&lt;br /&gt;
== Where can I learn more about logic analyzers? ==&lt;br /&gt;
&lt;br /&gt;
Here is a list of recommended readings on various topics related to logic analyzers.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; 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.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Introduction to logic analyzers:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.ttiedu.com/articles/tektronix_logic.pdf Tektronix: The XYZs of Logic Analyzers] (PDF)&lt;br /&gt;
* [http://www.eetimes.com/design/programmable-logic/4015108/A-How-To-tutorial-on-logic-analyzer-basics-for-digital-design EE Times/Agilent: A &amp;quot;How To&amp;quot; tutorial on logic analyzer basics for digital design]&lt;br /&gt;
* [http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=1000001806%3Aepsg%3Aapn&amp;amp;lc=eng&amp;amp;cc=US&amp;amp;nfr=-536902443.0.00 Agilent: Application Note 1337: Feeling Comfortable with Logic Analyzers] (PDF)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Samplerate, bandwidth, timing issues:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.eetimes.com/electronics-news/4196919/How-Much-Bandwidth-Does-Your-Logic-Analyzer-Need- EE Times/Agilent: How Much Bandwidth Does Your Logic Analyzer Need?]&lt;br /&gt;
* [http://www.testequity.com/documents/pdf/tla_timing.pdf Tektronix: The Importance of Timing Accuracy in a Logic Analyzer] (PDF)&lt;br /&gt;
* [http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=851070&amp;amp;lc=eng&amp;amp;cc=US&amp;amp;nfr=-536902443.0.00 Agilent: Application Note 1582: Logic Analyzer Specifications: How Much Timing Speed Do You Need?] (PDF)&lt;br /&gt;
* [http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=1000069912%3Aepsg%3Adow&amp;amp;lc=eng&amp;amp;cc=US&amp;amp;nfr=-536902443.0.00 Agilent: Reliable State Measurements on High Speed Buses] (PDF)&lt;br /&gt;
* [http://www2.tek.com/cmswpt/tidetails.lotr?ct=TI&amp;amp;cs=Primer&amp;amp;ci=14174&amp;amp;lc=EN Tektronix: Fundamentals of Signal Integrity Primer] (PDF, you need to provide some info before download)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Comparing or buying logic analyzers:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=871043&amp;amp;lc=eng&amp;amp;cc=US&amp;amp;nfr=-536902443.0.00 Agilent: Application Note 1589: Evaluating Logic Analyzers Objectively] (PDF)&lt;br /&gt;
* [http://www.janatek.co.za/faq_buying_logic_analyzer.html Janatek: F.A.Q: What to consider before buying a logic analyzer]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Triggers:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.home.agilent.com/agilent/redirector.jspx?action=doc&amp;amp;lc=ger&amp;amp;cc=DE&amp;amp;id=1000001305-1%3Aepsg%3Atcn&amp;amp;ltype=External%20File HP/Agilent: Insight article: Volume 4, Issue 3: Understanding Logic Analyzer Triggering] (PDF)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probing issues:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=695572&amp;amp;lc=ger&amp;amp;cc=DE&amp;amp;nfr=-536902443.0.00 Agilent: Application Note 1501: 6 Tips for Successful Logic Analyzer Probing] (PDF)&lt;br /&gt;
* [http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=237671&amp;amp;lc=eng&amp;amp;cc=US&amp;amp;nfr=-536902443.0.00 Agilent: Application Note 1450: Logic Analyzer Probing Techniques for High-Speed Digital Systems] (PDF)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Other:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.home.agilent.com/agilent/facet.jspx?to=80030.k.1&amp;amp;c=153491.i.2&amp;amp;cc=EN Agilent: Application Notes: Logic Analyzer] (list of documents)&lt;br /&gt;
* [http://www.tek.com/learning/logic-analyzer-tutorial/ Tektronix: Logic Analyzer Tutorials] (list of documents)&lt;br /&gt;
&lt;br /&gt;
== What kind of logic analyzer probes are available? ==&lt;br /&gt;
&lt;br /&gt;
[[File:Probes various.jpg|thumb|right|&amp;lt;small&amp;gt;Small probe collection.&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
There are many logic analyzer probes of varying quality and price on the market (see photo for a small subset). &lt;br /&gt;
&lt;br /&gt;
See [[Probe comparison]] for more information about the usefulness and quality of various probe types, where to buy them, and so on.&lt;br /&gt;
&lt;br /&gt;
= Multimeter questions =&lt;br /&gt;
&lt;br /&gt;
== What is a multimeter? ==&lt;br /&gt;
&lt;br /&gt;
[[File:Voltcraft vc820 device.jpg|thumb|right|A digital multimeter]]&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;multimeter&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;digital multimeter&amp;#039;&amp;#039;&amp;#039; (DMM) or &amp;#039;&amp;#039;&amp;#039;Volt-Ohm meter&amp;#039;&amp;#039;&amp;#039; (VOM) is a measurement device which can measure multiple things (such as voltage, current, resistance, temperature, and others). We won&amp;#039;t go into all the details here, see the [https://en.wikipedia.org/wiki/Multimeter multimeter page on Wikipedia] for more information.&lt;br /&gt;
&lt;br /&gt;
== Where can I learn more about multimeters? ==&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s a small selection of good video tutorials on multimeters:&lt;br /&gt;
&lt;br /&gt;
* [https://www.youtube.com/watch?v=bF3OyQ3HwfU Afrotechmods: THE BEST Multimeter tutorial (HD)]&lt;br /&gt;
* [https://www.youtube.com/watch?v=BW3Wj7UD-_s makemagazine: MAKE presents: The Multimeter]&lt;br /&gt;
* [https://www.youtube.com/user/mjlorton/videos Youtube videos by mjlorton (M. J. Lorton)]:&lt;br /&gt;
** [https://www.youtube.com/watch?v=ZBbgiBU96mM How to use a Multimeter for beginners: Part 1 - Voltage measurement]&lt;br /&gt;
** [https://www.youtube.com/watch?v=EVFkKBFJsZg How to use a Multimeter for beginners: Part 2a - Current measurement] ([https://www.youtube.com/watch?v=JID_6JSNwoQ part 2b])&lt;br /&gt;
** [https://www.youtube.com/watch?v=InJhgwmj2So How to use a Multimeter for beginners: Part 3 - Resistance and Continuity]&lt;br /&gt;
** [https://www.youtube.com/watch?v=JlZtn2PTuYo How to use a multimeter for advanced measurements: Part 1 - Diodes]&lt;br /&gt;
** [https://www.youtube.com/watch?v=Kqa51Femytw&amp;amp;feature=relmfu How to use a multimeter for advanced measurements: Part 2 - Current Probes / clamps / transducers]&lt;br /&gt;
** [https://www.youtube.com/watch?v=jC_Qhmj8XDc Multimeter Review / buyers guide / tutorial]&lt;br /&gt;
* [https://www.youtube.com/playlist?list=PL4F0B97C59B1D2509&amp;amp;feature=plcp Youtube videos by EEVblog (David L. Jones): Multimeter Reviews] (list)&lt;br /&gt;
** [https://www.youtube.com/watch?v=U4JFeU-o2kc EEVblog: #26 – Multimeter Counts, Accuracy, Resolution &amp;amp; Calibration] ([http://www.eevblog.com/2009/08/21/eevblog-26-multimeter-counts-accuracy-resolution-calibration/ comments])&lt;br /&gt;
** [https://www.youtube.com/watch?v=gh1n_ELmpFI EEVblog: #75 – Digital Multimeter Buying Guide] ([http://www.eevblog.com/2010/04/14/eevblog-75-digital-multimeter-buying-guide/ comments])&lt;br /&gt;
&lt;br /&gt;
Some information about [https://en.wikipedia.org/wiki/Multimeter#Safety multimeter safety] and the IEC61010 categories:&lt;br /&gt;
&lt;br /&gt;
* [http://www.electroline.com.au/articles/26521-The-ABCs-of-multimeter-safety ElectronicsOnline: The ABCs of multimeter safety] (seems to be adapted from [http://support.fluke.com/SW-Common/SW-Find_It.asp this Fluke PDF])&lt;br /&gt;
* [http://www.fluke.com/fluke/usen/training/safety/default.htm Fluke: Electrical Measurement Safety Program] (various articles)&lt;br /&gt;
&lt;br /&gt;
Other external sources of information:&lt;br /&gt;
* [https://www.eevblog.com/forum/testgear/multimeter-spreadsheet/ eevblog multimeter spreadsheet] An extensive list of multimeters which is maintained by an eevblog forum member. Also has many more external links on multimeter operation and safety.&lt;br /&gt;
&lt;br /&gt;
= Miscellaneous =&lt;br /&gt;
&lt;br /&gt;
== Getting a usable lsusb for USB HID devices ==&lt;br /&gt;
&lt;br /&gt;
Sometimes you might see output like this in an lsusb of a USB HID device:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 Report Descriptors:&lt;br /&gt;
 ** UNAVAILABLE **&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to get HID descriptor output in lsusb on Linux you need to perform one of the steps descibed below:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Option 1 (recommended):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
For each HID device, also a &amp;#039;&amp;#039;hidraw&amp;#039;&amp;#039; device is registered. The corresponding sysfs entry also contains a report descriptor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;hexdump /sys/bus/usb/drivers/usbhid/1-1\:1.0/0003\:1A86\:E008.0008/report_descriptor&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A more readable representation can be generated using the [http://eleccelerator.com/usbdescreqparser/ USB Descriptor and Request Parser]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Option 2:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Just &amp;#039;&amp;#039;&amp;#039;unbind a specific driver instance&amp;#039;&amp;#039;&amp;#039;. This will leave all other USB HID devices on your system in a working state.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;ls /sys/bus/usb/drivers/usbhid&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 3-2:1.0  4-3:1.4  5-3:1.0  bind  module  new_id  uevent  unbind&lt;br /&gt;
 &lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;echo 5-3:1.0 &amp;gt; /sys/bus/usb/drivers/usbhid/unbind&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(you&amp;#039;ll have to find out which number refers to your device using e.g. lsusb and checking the contents of the &amp;#039;&amp;#039;&amp;#039;/sys/bus/usb/drivers/usbhid&amp;#039;&amp;#039;&amp;#039; directory; in this case it is &amp;#039;&amp;#039;&amp;#039;5-3:1.0&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Option 3 (easier, but will disable &amp;#039;&amp;#039;all&amp;#039;&amp;#039; USB HID devices):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You can run &amp;#039;&amp;#039;&amp;#039;rmmod usbhid&amp;#039;&amp;#039;&amp;#039;. However, this will disable &amp;#039;&amp;#039;all&amp;#039;&amp;#039; USB HID devices, including your USB keyboard/mouse! Do this only if you are sure you can recover from this again (i.e. run &amp;#039;&amp;#039;&amp;#039;modprobe usbhid&amp;#039;&amp;#039;&amp;#039;) 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.&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Protocol_decoder_HOWTO&amp;diff=16120</id>
		<title>Protocol decoder HOWTO</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Protocol_decoder_HOWTO&amp;diff=16120"/>
		<updated>2021-06-04T10:01:47Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Update IRC link to libera.chat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page serves as a quick-start guide for people who want to write their own [[libsigrokdecode]] protocol decoders ([[Protocol decoders|PDs]]).&lt;br /&gt;
&lt;br /&gt;
It is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; intended to replace the [[Protocol decoder API]] page, but rather to give a short overview/tutorial and some tips.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Protocol decoders are written entirely in Python (&amp;gt;= 3.0).&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
&lt;br /&gt;
Every protocol decoder is a Python module and has its own subdirectory in libsigrokdecode&amp;#039;s &amp;#039;&amp;#039;&amp;#039;[http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders decoders]&amp;#039;&amp;#039;&amp;#039; directory.&lt;br /&gt;
&lt;br /&gt;
This is a minimalistic example of how a protocol decoder looks like, in this case the &amp;#039;&amp;#039;&amp;#039;[[Protocol_decoder:I2c|i2c]]&amp;#039;&amp;#039;&amp;#039; decoder (license header, comments, and some other parts omitted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note&amp;#039;&amp;#039;&amp;#039;: Do not start new protocol decoders by copying code from here. Instead, it&amp;#039;s recommended to select an already existing decoder in the source code which is similar to the one you plan to write, and copy that as a starting point.&lt;br /&gt;
&lt;br /&gt;
=== __init__.py ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 I²C (Inter-Integrated Circuit) is a bidirectional, multi-master&lt;br /&gt;
 bus using two signals (SCL = serial clock line, SDA = serial data line).&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;Insert notes and hints for the user here&amp;gt;&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 from .pd import Decoder&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a standard Python file, required in every Python module. It contains a module-level docstring, which is accessible by frontends via the [http://sigrok.org/api/libsigrokdecode/unstable/index.html libsigrokdecode API]. It should contain a (very) short description of what the protocol (in this case [[Protocol_decoder:I2c|I²C]]) is about, and some notes and hints for the user of this protocol decoder (which can be shown in GUIs when the user selects/browses different PDs).&lt;br /&gt;
&lt;br /&gt;
This docstring should &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; contain the full, extensive protocol description. Instead, the per-PD wiki page should be used for protocol description, photos of devices or photos of example acquisition setups, and so on. Each decoder has one unique wiki page at the URL &amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;http://sigrok.org/wiki/Protocol_decoder:&amp;lt;pd&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;, where &amp;#039;&amp;#039;&amp;#039;&amp;lt;pd&amp;gt;&amp;#039;&amp;#039;&amp;#039; is the Python module name of the decoder (&amp;#039;&amp;#039;&amp;#039;i2c&amp;#039;&amp;#039;&amp;#039; in this case). Some examples for such per-PD wiki pages: [[Protocol_decoder:Uart|UART]], [[Protocol_decoder:Pan1321|PAN1321]], [[Protocol_decoder:Mx25lxx05d|MX25Lxx05D]], [[Protocol_decoder:Dcf77|DCF77]].&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;&amp;#039;&amp;#039;&amp;#039;from .pd import Decoder&amp;#039;&amp;#039;&amp;#039;&amp;quot; line will make sure the code from &amp;#039;&amp;#039;&amp;#039;pd.py&amp;#039;&amp;#039;&amp;#039; gets properly imported when this module is used.&lt;br /&gt;
&lt;br /&gt;
=== pd.py ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 import sigrokdecode as srd&lt;br /&gt;
 &lt;br /&gt;
 class Decoder(srd.Decoder):&lt;br /&gt;
     api_version = 2&lt;br /&gt;
     id = &amp;#039;i2c&amp;#039;&lt;br /&gt;
     name = &amp;#039;I²C&amp;#039;&lt;br /&gt;
     longname = &amp;#039;Inter-Integrated Circuit&amp;#039;&lt;br /&gt;
     desc = &amp;#039;Two-wire, multi-master, serial bus.&amp;#039;&lt;br /&gt;
     license = &amp;#039;gplv2+&amp;#039;&lt;br /&gt;
     inputs = [&amp;#039;logic&amp;#039;]&lt;br /&gt;
     outputs = [&amp;#039;i2c&amp;#039;]&lt;br /&gt;
     channels = (&lt;br /&gt;
         {&amp;#039;id&amp;#039;: &amp;#039;scl&amp;#039;, &amp;#039;name&amp;#039;: &amp;#039;SCL&amp;#039;, &amp;#039;desc&amp;#039;: &amp;#039;Serial clock line&amp;#039;},&lt;br /&gt;
         {&amp;#039;id&amp;#039;: &amp;#039;sda&amp;#039;, &amp;#039;name&amp;#039;: &amp;#039;SDA&amp;#039;, &amp;#039;desc&amp;#039;: &amp;#039;Serial data line&amp;#039;},&lt;br /&gt;
     )&lt;br /&gt;
     optional_channels = ()&lt;br /&gt;
     options = (&lt;br /&gt;
         {&amp;#039;id&amp;#039;: &amp;#039;address_format&amp;#039;, &amp;#039;desc&amp;#039;: &amp;#039;Displayed slave address format&amp;#039;,&lt;br /&gt;
            &amp;#039;default&amp;#039;: &amp;#039;shifted&amp;#039;, &amp;#039;values&amp;#039;: (&amp;#039;shifted&amp;#039;, &amp;#039;unshifted&amp;#039;)},&lt;br /&gt;
     )&lt;br /&gt;
     annotations = (&lt;br /&gt;
         (&amp;#039;start&amp;#039;, &amp;#039;Start condition&amp;#039;),&lt;br /&gt;
         (&amp;#039;repeat-start&amp;#039;, &amp;#039;Repeat start condition&amp;#039;),&lt;br /&gt;
         (&amp;#039;stop&amp;#039;, &amp;#039;Stop condition&amp;#039;),&lt;br /&gt;
         (&amp;#039;ack&amp;#039;, &amp;#039;ACK&amp;#039;),&lt;br /&gt;
         (&amp;#039;nack&amp;#039;, &amp;#039;NACK&amp;#039;),&lt;br /&gt;
         (&amp;#039;bit&amp;#039;, &amp;#039;Data/address bit&amp;#039;),&lt;br /&gt;
         (&amp;#039;address-read&amp;#039;, &amp;#039;Address read&amp;#039;),&lt;br /&gt;
         (&amp;#039;address-write&amp;#039;, &amp;#039;Address write&amp;#039;),&lt;br /&gt;
         (&amp;#039;data-read&amp;#039;, &amp;#039;Data read&amp;#039;),&lt;br /&gt;
         (&amp;#039;data-write&amp;#039;, &amp;#039;Data write&amp;#039;),&lt;br /&gt;
         (&amp;#039;warnings&amp;#039;, &amp;#039;Human-readable warnings&amp;#039;),&lt;br /&gt;
     )&lt;br /&gt;
     annotation_rows = (&lt;br /&gt;
         (&amp;#039;bits&amp;#039;, &amp;#039;Bits&amp;#039;, (5,)),&lt;br /&gt;
         (&amp;#039;addr-data&amp;#039;, &amp;#039;Address/Data&amp;#039;, (0, 1, 2, 3, 4, 6, 7, 8, 9)),&lt;br /&gt;
         (&amp;#039;warnings&amp;#039;, &amp;#039;Warnings&amp;#039;, (10,)),&lt;br /&gt;
     )&lt;br /&gt;
 &lt;br /&gt;
     def __init__(self, **kwargs):&lt;br /&gt;
         self.state = &amp;#039;FIND START&amp;#039;&lt;br /&gt;
         # And various other variable initializations...&lt;br /&gt;
 &lt;br /&gt;
     def metadata(self, key, value):&lt;br /&gt;
         if key == srd.SRD_CONF_SAMPLERATE:&lt;br /&gt;
             self.samplerate = value&lt;br /&gt;
 &lt;br /&gt;
     def start(self):&lt;br /&gt;
         self.out_ann = self.register(srd.OUTPUT_ANN)&lt;br /&gt;
 &lt;br /&gt;
     def decode(self, ss, es, data):&lt;br /&gt;
         for self.samplenum, (scl, sda) in data:&lt;br /&gt;
             # Decode the samples.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The recommended name for the actual decoder file is &amp;#039;&amp;#039;&amp;#039;pd.py&amp;#039;&amp;#039;&amp;#039;. This file contains some meta information about the decoder, and the actual code itself, mostly in the &amp;#039;&amp;#039;&amp;#039;decode()&amp;#039;&amp;#039;&amp;#039; method.&lt;br /&gt;
&lt;br /&gt;
If needed, large unwieldy lists or similar things can also be factored out into another *.py file (examples: [http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders/midi midi], [http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=tree;f=decoders/z80 z80]).&lt;br /&gt;
&lt;br /&gt;
== Copyright and license ==&lt;br /&gt;
&lt;br /&gt;
Every protocol decoder &amp;#039;&amp;#039;&amp;#039;must&amp;#039;&amp;#039;&amp;#039; come with source code in the form of &amp;#039;&amp;#039;&amp;#039;*.py&amp;#039;&amp;#039;&amp;#039; files. No pre-compiled code should be present, Python or otherwise. The PD must not use any helpers that are not provided as source code under the same license as the PD itself.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;Decoder&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; class must have a license declaration (see above), stating the license under which all the contents in the decoder&amp;#039;s directory are provided. This is usually &amp;lt;tt&amp;gt;&amp;#039;gplv2+&amp;#039;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;&amp;#039;gplv3+&amp;#039;&amp;lt;/tt&amp;gt;, whichever you prefer. In either case, the decoder license must be compatible with the [[libsigrokdecode]] license (which is &amp;quot;GPL, version 3 or later&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;channels&amp;lt;/tt&amp;gt; &amp;amp; &amp;lt;tt&amp;gt;optional_channels&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
The following excerpt from the [[Protocol_decoder:spi|SPI]] PD shows how to use &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;channels&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;optional_channels&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;. To decode SPI, the clock signal is always needed, the chip-select signal is optional and only used when provided. To give the user the flexibility to provide only one of the MOSI/MISO signals, they are both also defined as optional:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 class Decoder(srd.Decoder):&lt;br /&gt;
     ...&lt;br /&gt;
     id = &amp;#039;spi&amp;#039;&lt;br /&gt;
     ...&lt;br /&gt;
     channels = (&lt;br /&gt;
         {&amp;#039;id&amp;#039;: &amp;#039;clk&amp;#039;, &amp;#039;name&amp;#039;: &amp;#039;CLK&amp;#039;, &amp;#039;desc&amp;#039;: &amp;#039;Clock&amp;#039;},&lt;br /&gt;
     )&lt;br /&gt;
     optional_channels = (&lt;br /&gt;
         {&amp;#039;id&amp;#039;: &amp;#039;miso&amp;#039;, &amp;#039;name&amp;#039;: &amp;#039;MISO&amp;#039;, &amp;#039;desc&amp;#039;: &amp;#039;Master in, slave out&amp;#039;},&lt;br /&gt;
         {&amp;#039;id&amp;#039;: &amp;#039;mosi&amp;#039;, &amp;#039;name&amp;#039;: &amp;#039;MOSI&amp;#039;, &amp;#039;desc&amp;#039;: &amp;#039;Master out, slave in&amp;#039;},&lt;br /&gt;
         {&amp;#039;id&amp;#039;: &amp;#039;cs&amp;#039;, &amp;#039;name&amp;#039;: &amp;#039;CS#&amp;#039;, &amp;#039;desc&amp;#039;: &amp;#039;Chip-select&amp;#039;},&lt;br /&gt;
     )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;, the argument of the decoder&amp;#039;s [[Protocol decoder API#decode-function|&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;decode()&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;]] function that contains the data to decode, is a list of tuples. These tuples contain the (absolute) number of the sample and the data at that sample. To process all samples, the SPI decoder loops over &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;data&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 def decode(self, ss, es, data):&lt;br /&gt;
     ...&lt;br /&gt;
     for (self.samplenum, pins) in data:&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;channels&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;optional_channels&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; contain in total four channels, therefore the second member of the tuple is an object of Python&amp;#039;s [https://docs.python.org/3/library/stdtypes.html#typebytes &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;bytes&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;] class containing 4 bytes, one for each channel. The decoder unpacks the bytes into the variables &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;clk&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;miso&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;mosi&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;cs&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; as shown below.&lt;br /&gt;
&lt;br /&gt;
Then, it checks for the optional channels, if their value is either 0 or 1. If it is not, that optional channel is not provided to the decoder. In the case that neither of them is supplied, an exception is raised:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 (clk, miso, mosi, cs) = pins&lt;br /&gt;
 self.have_miso = (miso in (0, 1))&lt;br /&gt;
 self.have_mosi = (mosi in (0, 1))&lt;br /&gt;
 self.have_cs = (cs in (0, 1))&lt;br /&gt;
 &lt;br /&gt;
 # Either MISO or MOSI (but not both) can be omitted.&lt;br /&gt;
 if not (self.have_miso or self.have_mosi):&lt;br /&gt;
     raise ChannelError(&amp;#039;Either MISO or MOSI (or both) pins required.&amp;#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;annotations&amp;lt;/tt&amp;gt; &amp;amp; &amp;lt;tt&amp;gt;annotation_rows&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
To make the relation between the &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;annotations&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; and the &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;annotation_rows&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; members of a decoder object more clear, take a look at how the [[Protocol_decoder:Ir_nec|ir_nec]] PD uses them:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 class Decoder(srd.Decoder):&lt;br /&gt;
     ...&lt;br /&gt;
     id = &amp;#039;ir_nec&amp;#039;&lt;br /&gt;
     ...&lt;br /&gt;
     annotations = (                        # Implicitly assigned annotation type ID&lt;br /&gt;
         (&amp;#039;bit&amp;#039;, &amp;#039;Bit&amp;#039;),                    # 0&lt;br /&gt;
         (&amp;#039;agc-pulse&amp;#039;, &amp;#039;AGC pulse&amp;#039;),        # 1&lt;br /&gt;
         (&amp;#039;longpause&amp;#039;, &amp;#039;Long pause&amp;#039;),       # 2&lt;br /&gt;
         (&amp;#039;shortpause&amp;#039;, &amp;#039;Short pause&amp;#039;),     # 3&lt;br /&gt;
         (&amp;#039;stop-bit&amp;#039;, &amp;#039;Stop bit&amp;#039;),          # 4&lt;br /&gt;
         (&amp;#039;leader-code&amp;#039;, &amp;#039;Leader code&amp;#039;),    # 5&lt;br /&gt;
         (&amp;#039;addr&amp;#039;, &amp;#039;Address&amp;#039;),               # 6&lt;br /&gt;
         (&amp;#039;addr-inv&amp;#039;, &amp;#039;Address#&amp;#039;),          # 7&lt;br /&gt;
         (&amp;#039;cmd&amp;#039;, &amp;#039;Command&amp;#039;),                # 8&lt;br /&gt;
         (&amp;#039;cmd-inv&amp;#039;, &amp;#039;Command#&amp;#039;),           # 9&lt;br /&gt;
         (&amp;#039;repeat-code&amp;#039;, &amp;#039;Repeat code&amp;#039;),    # 10&lt;br /&gt;
         (&amp;#039;remote&amp;#039;, &amp;#039;Remote&amp;#039;),              # 11&lt;br /&gt;
         (&amp;#039;warnings&amp;#039;, &amp;#039;Warnings&amp;#039;),          # 12&lt;br /&gt;
     )&lt;br /&gt;
     annotation_rows = (&lt;br /&gt;
         (&amp;#039;bits&amp;#039;, &amp;#039;Bits&amp;#039;, (0, 1, 2, 3, 4)),&lt;br /&gt;
         (&amp;#039;fields&amp;#039;, &amp;#039;Fields&amp;#039;, (5, 6, 7, 8, 9, 10)),&lt;br /&gt;
         (&amp;#039;remote&amp;#039;, &amp;#039;Remote&amp;#039;, (11,)),&lt;br /&gt;
         (&amp;#039;warnings&amp;#039;, &amp;#039;Warnings&amp;#039;, (12,)),&lt;br /&gt;
     )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It groups the first five annotation types together into the &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;bits&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; row and the next six into the &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;fields&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; row. The rows &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;remote&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;warnings&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; both only contain one annotation type.&lt;br /&gt;
&lt;br /&gt;
Without &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;annotation_rows&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;, [[PulseView]] would have to put each annotation type in its own row (which is unhandy if the decoder has many annotations) or it would have to put them all on the same row (which would result in unreadable output due to overlaps). But because of the &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;annotation_rows&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;, the output of the [[Protocol_decoder:Ir_nec|ir_nec]] decoder is grouped together as shown in the following picture (note how different annotation types, distinguishable by their different colors, share the same row):&lt;br /&gt;
&lt;br /&gt;
[[File:Pv example ir nec cropped.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, as you can imagine, handling numeric IDs is quite bothersome - especially if they change and all affected IDs have to be changed throughout the PD. To avoid this, you can use a pseudo-enum:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 ann_bit, ann_agc_pulse, ann_long_pause, ann_short_pause, ann_stop_bit, ann_leader_code, ann_addr, ann_addr_inv, ann_cmd, ann_cmd_inv, ann_repeat_code, ann_remote, ann_warning = range(13)&lt;br /&gt;
&lt;br /&gt;
 class Decoder(srd.Decoder):&lt;br /&gt;
     ...&lt;br /&gt;
     id = &amp;#039;ir_nec&amp;#039;&lt;br /&gt;
     ...&lt;br /&gt;
     annotations = (                        # Implicitly assigned annotation type ID&lt;br /&gt;
         (&amp;#039;bit&amp;#039;, &amp;#039;Bit&amp;#039;),                    # 0  = ann_bit&lt;br /&gt;
         (&amp;#039;agc-pulse&amp;#039;, &amp;#039;AGC pulse&amp;#039;),        # 1  = ann_agc_pulse&lt;br /&gt;
         (&amp;#039;longpause&amp;#039;, &amp;#039;Long pause&amp;#039;),       # 2  = ann_long_pause&lt;br /&gt;
         (&amp;#039;shortpause&amp;#039;, &amp;#039;Short pause&amp;#039;),     # 3  = ann_short_pause&lt;br /&gt;
         (&amp;#039;stop-bit&amp;#039;, &amp;#039;Stop bit&amp;#039;),          # 4  = ann_stop_bit&lt;br /&gt;
         (&amp;#039;leader-code&amp;#039;, &amp;#039;Leader code&amp;#039;),    # 5  = ann_leader_code&lt;br /&gt;
         (&amp;#039;addr&amp;#039;, &amp;#039;Address&amp;#039;),               # 6  = ann_addr&lt;br /&gt;
         (&amp;#039;addr-inv&amp;#039;, &amp;#039;Address#&amp;#039;),          # 7  = ann_addr_inv&lt;br /&gt;
         (&amp;#039;cmd&amp;#039;, &amp;#039;Command&amp;#039;),                # 8  = ann_cmd&lt;br /&gt;
         (&amp;#039;cmd-inv&amp;#039;, &amp;#039;Command#&amp;#039;),           # 9  = ann_cmd_inv&lt;br /&gt;
         (&amp;#039;repeat-code&amp;#039;, &amp;#039;Repeat code&amp;#039;),    # 10 = ann_repeat_code&lt;br /&gt;
         (&amp;#039;remote&amp;#039;, &amp;#039;Remote&amp;#039;),              # 11 = ann_remote&lt;br /&gt;
         (&amp;#039;warnings&amp;#039;, &amp;#039;Warnings&amp;#039;),          # 12 = ann_warning&lt;br /&gt;
     )&lt;br /&gt;
     annotation_rows = (&lt;br /&gt;
         (&amp;#039;bits&amp;#039;, &amp;#039;Bits&amp;#039;, (ann_bit, ann_agc_pulse, ann_long_pause, ann_short_pause, ann_stop_bit)),&lt;br /&gt;
         (&amp;#039;fields&amp;#039;, &amp;#039;Fields&amp;#039;, (ann_leader_code, ann_addr, ann_addr_inv, ann_cmd, ann_cmd_inv, ann_repeat_code)),&lt;br /&gt;
         (&amp;#039;remote&amp;#039;, &amp;#039;Remote&amp;#039;, (ann_remote,)),&lt;br /&gt;
         (&amp;#039;warnings&amp;#039;, &amp;#039;Warnings&amp;#039;, (ann_warning,)),&lt;br /&gt;
     )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This way, all you need to ensure is that the order of the enum entries is the same as in the annotations array and you&amp;#039;re set. There is one downside, though, as always: pseudo-enums are pitifully slow in python, so if you use them and you use them in a lot of places, your protocol decoder may be significantly slower (up to 4x has been observed), so choose wisely. You can use the PD test facility to compare, using e.g. &amp;#039;time ./pdtest -r $YOUR_PD&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Random notes, tips and tricks ==&lt;br /&gt;
&lt;br /&gt;
* You should usually only use &amp;#039;&amp;#039;&amp;#039;raise&amp;#039;&amp;#039;&amp;#039; in a protocol decoder to raise exceptions in cases which are a clear bug in how the protocol decoder is invoked (e.g. if no samplerate was provided for a PD which needs the samplerate, or if some of the required channels were not provided by the user, and so on).&lt;br /&gt;
* Use the has_channel() method to check whether an optional channel has been provided or not.&lt;br /&gt;
* A simple and fast way to calculate a parity (i.e., count the number of 1 bits) over a number (0x55 in this example) is:&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 ones = bin(0x55).count(&amp;#039;1&amp;#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* A simple function to convert a BCD number (max. 8 bits) to an integer is:&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 def bcd2int(b):&lt;br /&gt;
     return (b &amp;amp; 0x0f) + ((b &amp;gt;&amp;gt; 4) * 10)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* An elegant way to convert a sequence of bus pins to a numeric value:&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 from functools import reduce&lt;br /&gt;
&lt;br /&gt;
 def reduce_bus(bus):&lt;br /&gt;
     if 0xFF in bus:&lt;br /&gt;
         return None # unassigned bus channels&lt;br /&gt;
     else:&lt;br /&gt;
         return reduce(lambda a, b: (a &amp;lt;&amp;lt; 1) | b, reversed(bus))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* A nice way to construct method names according to e.g. protocol commands is (assuming &amp;#039;&amp;#039;&amp;#039;cmd&amp;#039;&amp;#039;&amp;#039; is 8, this would call the function &amp;#039;&amp;#039;&amp;#039;self.handle_cmd_0x08&amp;#039;&amp;#039;&amp;#039;):&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 fn = getattr(self, &amp;#039;handle_cmd_0x%02x&amp;#039; % cmd);&lt;br /&gt;
 fn(arg1, arg2, ...)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* A cheap way to deal with Python&amp;#039;s lack of enumerations (useful for states, pin indices, annotation indices, etc.):&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 class Cycle:&lt;br /&gt;
     NONE, MEMRD, MEMWR, IORD, IOWR, FETCH, INTACK = range(7)&lt;br /&gt;
&amp;lt;/source&amp;gt;Please be aware, though, that using this mechanism may slow down your decoder significantly. It may make sense to perform some basic profiling to see if this affects you, e.g. using &amp;quot;time ./pdtest -r $YOUR_PD&amp;quot;.&lt;br /&gt;
* &amp;lt;div id=&amp;quot;SIGROKDECODE_DIR&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;You don&amp;#039;t need to reinstall the whole [[libsigrokdecode]] project every time you make a change on your decoder. Instead, you can use the environment variable &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;SIGROKDECODE_DIR&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; to point the software to your development directory:&amp;lt;br /&amp;gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;$ SIGROKDECODE_DIR=/path/to/libsigrokdecode/decoders/ sigrok-cli … -P &amp;lt;decodername&amp;gt;&amp;lt;/source&amp;gt;Because this environment variable is evaluated by the [[libsigrokdecode]] code itself, it can be used for any program that uses the library, for example when calling [[PulseView]] or the &amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;pdtest&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039; unit test utility from the [http://sigrok.org/gitweb/?p=sigrok-test.git;a=summary sigrok-test] repository.&amp;lt;br /&amp;gt;If you compiled a recent [[libsigrokdecode]] by yourself ([http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commit;h=40c6ac1d3fbded276dcbff23e8bc099896ab2fb5 newer than this commit]), you can also put decoders into your home directory, without the need for an additional environment variable. On Linux systems, this name follows the [http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html XDG base directory specification], which by default resolves to &amp;lt;tt&amp;gt;~/.local/share/libsigrokdecode/decoders&amp;lt;/tt&amp;gt;. If that folder does not exist, you can simply create it and drop your decoders there, in their own subdirectory, like you would do in the libsigrokdecode source tree. On Windows systems additional decoders are read from &amp;lt;tt&amp;gt;%ProgramData%\libsigrokdecode\decoders&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* To debug the Python implementation of a decoder during development, maintenance or research either add print() statements at appropriate locations. Or get WinPDB and use the remote debugging feature as outlined below (add this hook somewhere in pd.py, then &amp;quot;File -&amp;gt; Attach&amp;quot; to the running process). Decoders cannot be used in &amp;quot;regular&amp;quot; debuggers since they expect a rather specific environment to execute in, for all of receiving their input as well as having their output saved or presented as well as processing samples (data types, runtime routines). Remote debugging works in both the sigrok-cli and pulseview context. Adding another print() statement before starting the embedded debugger can help identify the moment in time when to attach.&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 def __init__():&lt;br /&gt;
     import rpdb2&lt;br /&gt;
     rpdb2.start_embedded_debugger(&amp;quot;pd&amp;quot;)&lt;br /&gt;
     ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For Windows you might want to use the following code, adapting it to your Python and WinPDB-reborn version:&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 def __init__():&lt;br /&gt;
     import sys&lt;br /&gt;
     sys.path.insert(0, &amp;#039;c:/Program Files (x86)/Python38-32/Lib/site-packages/winpdb_reborn-2.0.0.1-py3.8.egg&amp;#039;)&lt;br /&gt;
     import rpdb2&lt;br /&gt;
     rpdb2.start_embedded_debugger(&amp;quot;pd&amp;quot;, fAllowRemote=True)&lt;br /&gt;
     ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unit tests ==&lt;br /&gt;
&lt;br /&gt;
In order to keep protocol decoders in a running state even when we make changes to a decoder or libsigrokdecode itself, we use unit tests for as many decoders as we can. These are stored in the [http://sigrok.org/gitweb/?p=sigrok-test.git sigrok-test repository]. If you want to add, modify or run one of them, clone that repository and [https://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=README check the README] for documentation.&lt;br /&gt;
We greatly appreciate it when you submit unit tests for your decoder so we can keep it in good health!&lt;br /&gt;
&lt;br /&gt;
== Submitting your decoder ==&lt;br /&gt;
&lt;br /&gt;
When you&amp;#039;ve finished your decoder and everything is working nicely, please contribute the decoder to the sigrok project so that other people can benefit from it (and test it, improve upon it, and so on).&lt;br /&gt;
&lt;br /&gt;
* Check the decoder&amp;#039;s operation in the most recent version of the software. You expect the decoder to get accepted in the project&amp;#039;s mainline codebase. So it should work in that environment. Either build from up-to-date sources, or download nightly builds.&lt;br /&gt;
* Tell us about the location of your public git repo on the &amp;#039;&amp;#039;&amp;#039;#sigrok&amp;#039;&amp;#039;&amp;#039; IRC channel on libera.chat. As an alternative send the decoder to the [https://lists.sourceforge.net/lists/listinfo/sigrok-devel sigrok-devel] mailing list (preferrably against current master and as a full commit instead of a mere diff). Remember that pushing to a public git repo is preferred over email attachments.&lt;br /&gt;
* Please also make example data files (*.sr) including a small README available. Developers need these in order to properly review and test your decoder. Users need these to learn what the captures are about in the first place. Preferrably these files should also come as patches against the latest git master of the [http://sigrok.org/gitweb/?p=sigrok-dumps.git;a=tree sigrok-dumps] repository. See [[Example dumps]] for details. Submitting captures before any decoder materializes or work on a decoder even starts is very useful.&lt;br /&gt;
* Finally, please also consider adding a few &amp;quot;unit tests&amp;quot; for your decoder in the [http://sigrok.org/gitweb/?p=sigrok-test.git;a=tree sigrok-test] repository. These test will automatically run the decoder against various input files specified in &amp;#039;&amp;#039;&amp;#039;test.conf&amp;#039;&amp;#039;&amp;#039; and check whether the expected output is produced (examples: [http://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=decoder/test/rfm12/test.conf rfm12], [http://sigrok.org/gitweb/?p=sigrok-test.git;a=blob;f=decoder/test/nrf24l01/test.conf nrf24l01]). This allows us to notice and fix any regressions in the decoder and/or the [[libsigrokdecode]] backend that may arise over time.&lt;br /&gt;
&lt;br /&gt;
Thanks a lot!&lt;br /&gt;
&lt;br /&gt;
[[Category:APIs]]&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=GSoC_Application&amp;diff=16119</id>
		<title>GSoC Application</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=GSoC_Application&amp;diff=16119"/>
		<updated>2021-06-04T10:01:21Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Update IRC link to libera.chat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;Work in progress, to be validated once the application questions for 2016 are known. Content based on the [https://wiki.phpmyadmin.net/pma/GSoC_2016_Mentoring_Organization_Application phpMyAdmin GSoC application page].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;This is a draft of the application that the sigrok project will send to Google to apply as a mentoring organization. Students probably want to look at our [[GSoC | GSoC overview]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Tagline ==&lt;br /&gt;
&lt;br /&gt;
Test &amp;amp; Measurement for the masses&lt;br /&gt;
&lt;br /&gt;
== Organization description ==&lt;br /&gt;
&lt;br /&gt;
The sigrok project aims at creating a portable, cross-platform, Free/Libre/Open-Source signal analysis software suite that supports various device types (e.g. logic analyzers, oscilloscopes, and many more).&lt;br /&gt;
&lt;br /&gt;
== Organization home page url ==&lt;br /&gt;
&lt;br /&gt;
http://www.sigrok.org/&lt;br /&gt;
&lt;br /&gt;
== Main organization license ==&lt;br /&gt;
&lt;br /&gt;
GNU GPL v3 or later&lt;br /&gt;
&lt;br /&gt;
== Org category ==&lt;br /&gt;
&lt;br /&gt;
End User Applications&lt;br /&gt;
&lt;br /&gt;
== Technology tags ==&lt;br /&gt;
&lt;br /&gt;
C/C++, Python, Qt, Cypress FX2, Android&lt;br /&gt;
&lt;br /&gt;
== Topic tags ==&lt;br /&gt;
&lt;br /&gt;
Test &amp;amp; Measurement, Electrical Engineering, Debugging, Protocol Decoding, Signal Analysis&lt;br /&gt;
&lt;br /&gt;
== Short description ==&lt;br /&gt;
&lt;br /&gt;
sigrok is to the embedded engineer what gdb is to the coder: a tool to see what is otherwise hidden. We want it to be the best it can be, so we need your help!&lt;br /&gt;
&lt;br /&gt;
== Long description ==&lt;br /&gt;
&lt;br /&gt;
sigrok is to the embedded engineer what gdb is to the coder: a tool to see what is otherwise hidden. While gdb works in the realm of program code and data, sigrok works in the realm of signals passed over physical wires. Typically, this is where oscilloscopes and logic analyzers are used in the lab - but for the hobbyist, those are not always affordable. With the advent of low-cost logic analyzers based on the Cypress FX2, this has changed. While sigrok supports a lot more devices than those based on the FX2, they are by far the most economical and can cost as little as $10. They do however come without legally licensed software, making sigrok the ideal software suite for these.&lt;br /&gt;
&lt;br /&gt;
Our project hosts several sub-projects that together make up sigrok:&lt;br /&gt;
- libserialport&lt;br /&gt;
- libsigrok&lt;br /&gt;
- libsigrokdecode&lt;br /&gt;
- fx2lafw (FX2 logic analyzer firmware)&lt;br /&gt;
- sigrok-cli&lt;br /&gt;
- sigrok-meter&lt;br /&gt;
- PulseView&lt;br /&gt;
&lt;br /&gt;
The backend is designed to be flexible, which shows in the variety of devices supported by libsigrok. For example, a lot of people use the console frontend sigrok-cli to log values obtained from their multimeters or remote-control their power supplies. However, PulseView is what most people know sigrok for. It&amp;#039;s our Qt-based cross-platform logic analyzer/oscilloscope GUI. It allows users to visually inspect the signals they capture and perform protocol decoding on them. We currently have over 75 decoders, ranging from simple line decoding like UART, I2C, SPI and CAN to higher-level decoding such as 24xx EEPROM, SD card, USB packet and ARM ETM instruction trace.&lt;br /&gt;
&lt;br /&gt;
Turning PulseView into a full-fledged test &amp;amp; measurement application is one of our long-term goals but it depends on the underlying libraries. We have a whole lot of features that users request and not enough developers to fulfill them. So, whether you enjoy working on embedded stuff (e.g. fx2lafw), backend libraries (libsigrok), user interfaces (PulseView) or documentation, we have something where your help would be greatly appreciated!&lt;br /&gt;
&lt;br /&gt;
== Proposals ==&lt;br /&gt;
&lt;br /&gt;
You want to help us make sigrok even better? Great! This is what we recommend:&lt;br /&gt;
&lt;br /&gt;
* Check the GSoC ideas page on our wiki&lt;br /&gt;
* Think of/choose a project that ideally benefits you and us alike&lt;br /&gt;
* Hang out on IRC with us and say hi ([https://web.libera.chat/#sigrok #sigrok@libera.chat])&lt;br /&gt;
* Familiarize yourself with the code base and ask questions about it&lt;br /&gt;
* Apply to GSoC! :)&lt;br /&gt;
&lt;br /&gt;
We&amp;#039;ll gladly help you with refining your proposal or application, so communication is key. If we don&amp;#039;t know you, we can&amp;#039;t assist you.&lt;br /&gt;
&lt;br /&gt;
For us, a strong application contains the following information:&lt;br /&gt;
&lt;br /&gt;
* Who are you? Where are you? What are you studying?&lt;br /&gt;
* Have you used sigrok before?&lt;br /&gt;
* What do you intend to work on / NOT intend to work on?&lt;br /&gt;
* What motivates you to work on sigrok?&lt;br /&gt;
* How familiar are you with the language you will have to write code in? Is there proof?&lt;br /&gt;
* Did you have a look at the code you&amp;#039;ll need to modify? What was your impression?&lt;br /&gt;
* How many hours per week are you going to dedicate to the GSoC project?&lt;br /&gt;
* Are you aware that mentors will be several time zones away and won&amp;#039;t be able to answer all your questions as soon as they arise?&lt;br /&gt;
&lt;br /&gt;
Before you apply, we&amp;#039;d like you to know that we will give feedback on your progress once a week. Also, we assume that you&amp;#039;re self-sufficient most of the time but that you&amp;#039;re not shy asking questions when you&amp;#039;re stuck or need to make a decision you&amp;#039;re unsure about. Our IRC channel is full of people who like to help, so hanging out there is beneficial to you as much as it&amp;#039;s beneficial to us.&lt;br /&gt;
&lt;br /&gt;
Let&amp;#039;s work together successfully! =)&lt;br /&gt;
&lt;br /&gt;
== Proposal tags ==&lt;br /&gt;
&lt;br /&gt;
architecture, new feature, feature completion, documentation, firmware, decoders, drivers, threads, pulseview, fx2&lt;br /&gt;
&lt;br /&gt;
== Veteran/New ==&lt;br /&gt;
&lt;br /&gt;
New&lt;br /&gt;
&lt;br /&gt;
== If you chose &amp;quot;veteran&amp;quot; in the dropdown above, please summarize your involvement and the successes and challenges of your participation. Please also list your pass/fail rate for each year. ==&lt;br /&gt;
&lt;br /&gt;
== If you chose &amp;quot;new&amp;quot; in the dropdown above, have you applied in the past? If so, for what year(s)? ==&lt;br /&gt;
&lt;br /&gt;
We haven&amp;#039;t applied before.&lt;br /&gt;
&lt;br /&gt;
== Why is your organization applying to participate in Google Summer of Code 2016? ==&lt;br /&gt;
&lt;br /&gt;
With the advent of low-cost logic analyzer hardware and the general availability of USB interfaces in test &amp;amp; measurement equipment, the sigrok project has gained a big following in the hobbyist and even professional crowd. While this makes us happy, it also means that user expectations rise rapidly - especially regarding device compatibility, features and performance. This is very demanding on our rather small team. We&amp;#039;d like to use the GSoC as an opportunity to not only improve the code base but also try and establish long-term relationships with developers-to-be. That way, everyone benefits.&lt;br /&gt;
&lt;br /&gt;
== What is the URL for your Ideas list? ==&lt;br /&gt;
&lt;br /&gt;
http://sigrok.org/wiki/GSoC&lt;br /&gt;
&lt;br /&gt;
== What is the main development mailing list for your organization? ==&lt;br /&gt;
&lt;br /&gt;
https://lists.sourceforge.net/lists/listinfo/sigrok-devel&lt;br /&gt;
&lt;br /&gt;
== What is the main IRC channel for your organization? ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#sigrok on FreeNode&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How many potential mentors have agreed to mentor this year? ==&lt;br /&gt;
&lt;br /&gt;
1-5&lt;br /&gt;
&lt;br /&gt;
== What is your plan for dealing with disappearing students? ==&lt;br /&gt;
&lt;br /&gt;
We want to see any applying student hang out with us on #sigrok and engange in discussion before choosing. That way, we hope to select someone who shows the dedication that we wish to see. If, for whatever reason, a student should disappear then we believe he/she has good reasons to do so. We will however still try to reach out and see if we can help.&lt;br /&gt;
&lt;br /&gt;
== How will you keep mentors engaged with their students? ==&lt;br /&gt;
&lt;br /&gt;
Our mentors are highly motivated and want to make sigrok the most useful and versatile open-source signal analysis toolbox available. They&amp;#039;re fully aware that this goal can only be reached by motivating others to contribute. We&amp;#039;re actually more concerned about finding students who share the same kind of passion for our project and its goals :)&lt;br /&gt;
&lt;br /&gt;
== What is your plan for dealing with disappearing mentors? ==&lt;br /&gt;
&lt;br /&gt;
The mentor is a long time developer of the project and thus has a high motivation not to disappear. In case this cannot be avoided, several other project developers are prepared to take over.&lt;br /&gt;
&lt;br /&gt;
== How will you help your students stay on schedule to complete their projects? ==&lt;br /&gt;
&lt;br /&gt;
It is assumed that students stay on IRC during their entire time they&amp;#039;re participating in the GSoC. That way, we can check back with the students on a regular basis. We also expect their code changes to be pushed to a public repository (e.g. on github) so we can give feedback and/or check that the work is progressing in the right direction. If the student is unable to be on IRC, we of course will accomodate accordingly and perform regular feedback rounds via email.&lt;br /&gt;
&lt;br /&gt;
== How will you get your students involved in your community during GSoC? ==&lt;br /&gt;
&lt;br /&gt;
The same way we will make sure they stay on schedule: keeping them on IRC to promote discussion and sharing of knowledge. In case staying on IRC is an issue, we will establish regular online meetings on IRC so that the GSoC student still is visible to the community and stays in touch.&lt;br /&gt;
&lt;br /&gt;
== What steps will you take to encourage students to interact with your project&amp;#039;s community before and during the program? ==&lt;br /&gt;
&lt;br /&gt;
We require students to be active before the program starts. Ideally, they submit a patch solving a bug or implementing a small new feature, as part of their application. That way, they&amp;#039;ll become familiar with parts of the code and interact with the community. The current developers review the submitted patches and comment on them, providing constructive feedback.&lt;br /&gt;
&lt;br /&gt;
It is expected that students stay on IRC during their entire time they&amp;#039;re participating in the GSoC. That way, we can check back with the students on a regular basis. We also expect their code changes to be pushed to a public repository (e.g. on github) at least once a week so we can give timely feedback and/or check that the work is progressing in the right direction.&lt;br /&gt;
&lt;br /&gt;
== What will you do to encourage that your accepted students stick with the project after Google Summer of Code concludes? == &lt;br /&gt;
&lt;br /&gt;
First off we will try to accept only students that have an intrinsic motivation to stay with us. This is particularly true for EE/CompEng/EmbSystems students. They will find that sigrok has a lot to offer, especially due to the availability of low-cost logic analyzer hardware. Then, we will gift them a sigrok shirt and one such logic analyzer when the GSoC begins. Along with learning about our open and friendly community during the GSoC, we hope that this makes them use sigrok for their study and hobby projects, encouraging them to stick around and contribute.&lt;br /&gt;
&lt;br /&gt;
== Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here. ==&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here. ==&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
== What year was your project started? ==&lt;br /&gt;
&lt;br /&gt;
2009&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=GSoC&amp;diff=16118</id>
		<title>GSoC</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=GSoC&amp;diff=16118"/>
		<updated>2021-06-04T10:01:01Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Update IRC link to libera.chat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is about the [https://developers.google.com/open-source/gsoc/ Google Summer of Code] and how sigrok may be able to benefit from taking part in it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What to do as a student ==&lt;br /&gt;
&lt;br /&gt;
You want to help us make sigrok even better? Great! This is what we recommend:&lt;br /&gt;
&lt;br /&gt;
* Check the GSoC ideas below&lt;br /&gt;
* Think of/choose a project that ideally benefits you and us alike&lt;br /&gt;
* Hang out on IRC with us and say hi ([https://web.libera.chat/#sigrok #sigrok@libera.chat])&lt;br /&gt;
* Familiarize yourself with the code base and ask questions about it&lt;br /&gt;
* [https://developers.google.com/open-source/gsoc/ Apply to GSoC!] :)&lt;br /&gt;
&lt;br /&gt;
We&amp;#039;ll gladly help you with refining your proposal or application, so communication is key. If we don&amp;#039;t know you, we can&amp;#039;t assist you.&lt;br /&gt;
&lt;br /&gt;
For us, a strong application contains the following information:&lt;br /&gt;
&lt;br /&gt;
* Who are you? Where are you? What are you studying?&lt;br /&gt;
* Have you used sigrok before?&lt;br /&gt;
* What do you intend to work on / NOT intend to work on?&lt;br /&gt;
* What motivates you to work on sigrok?&lt;br /&gt;
* How familiar are you with the language you will have to write code in? Is there proof?&lt;br /&gt;
* Did you have a look at the code you&amp;#039;ll need to modify? What was your impression?&lt;br /&gt;
* How many hours per week are you going to dedicate to the GSoC project?&lt;br /&gt;
* Are you aware that mentors will be several time zones away and won&amp;#039;t be able to answer all your questions as soon as they arise?&lt;br /&gt;
&lt;br /&gt;
Before you apply, we&amp;#039;d like you to know that we will give feedback on your progress once a week. Also, we assume that you&amp;#039;re self-sufficient most of the time but that you&amp;#039;re not shy asking questions when you&amp;#039;re stuck or need to make a decision you&amp;#039;re unsure about. Our IRC channel is full of people who like to help, so hanging out there is beneficial to you as much as it&amp;#039;s beneficial to us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project ideas ==&lt;br /&gt;
&lt;br /&gt;
The following list of ideas contains projects that we think can be managed in the short period of GSoC (3 months) and they cover topics where the sigrok project is wishing to improve. However, these are not the only things that could be done: it&amp;#039;s worth checking the [[TODO|to-do list]], for example. Or maybe you have a great idea that we just didn&amp;#039;t think of yet. Also, if you intend to apply for sigrok, please talk to us on IRC before applying so we can establish a clear and manageable goal to work towards. Don&amp;#039;t be shy to ask!&lt;br /&gt;
&lt;br /&gt;
The format is: &lt;br /&gt;
* (difficulty)(languages used) description of task that can be completed in 12 weeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
High priority:&lt;br /&gt;
&lt;br /&gt;
* (medium)(C++) Recent developments have forced us to rethink our libsigrok code base. We decided on a flowgraph-based approach in C++ for a libsigrok rewrite. You could help us speed up the process by implementing the framework, basic I/O blocks, driver I/O blocks, transformation blocks (think A-&amp;gt;D, D-&amp;gt;A and such) and whatever else you can think of. This one is very important to us as future developments and lots of features strongly depend on this infrastructure.&lt;br /&gt;
* (easy)(C) Currently, libsigrok uses a single thread per session which leads to problems when drivers stall during transfers and timeouts. We need to have device threads that can run independently of the session thread.&lt;br /&gt;
* (medium)(C) Currently, lots of drivers are very similar but differ in details. We could use a &amp;quot;generic&amp;quot; driver model that for example provides a framework for SCPI-based scope interfaces. That way, a driver would only need to provide configuration data and callbacks for the framework. Currently, every driver duplicates said framework internally.&lt;br /&gt;
* (easy/medium)(C++) Implement some of the features that PulseView needs in order to be a professional tool: better analog support (e.g. filtering, math, FFT), a tabular decoder data view (ideally with export), etc.&lt;br /&gt;
* (easy)(C++) Implement a &amp;quot;pseudo oscilloscope&amp;quot; mode in PulseView so that people can use it to operate their scopes the way they normally would.&lt;br /&gt;
* (medium)(C,C++,python) PV should offer a tabular display of decoded data packets. However, the information currently provided by libsigrokdecode is too limited to allow for a user-friendly display. In this project, you would allow decoders to submit relational data about different so-called annotations, so that PV can use the data to figure out which annotations belong to a single logical data packet (think header-data-checksum). Then, you&amp;#039;d work on the existing tabular decode window in PV to make it more feature-complete and user-friendly, as much as time allows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normal priority:&lt;br /&gt;
&lt;br /&gt;
* (medium)(C++) Implement auto-measurements on mouseover, similar to what saleae logic does. ([http://www.bigmessowires.com/wp-content/uploads/2015/01/saleae-analog-example.png screenshot],[http://sigrok.org/bugzilla/show_bug.cgi?id=697 implementation details])&lt;br /&gt;
* (hard)(8051 asm,C,maybe C++) Add support for logic (and/or analog) output support in fx2lafw, libsigrok and possibly also PulseView (think of analog capture and replay). Alternatively, you can also start on this by first implementing a fx2lafw-based signal generator that can later be expanded by the capture/replay feature if there is time.&lt;br /&gt;
* (medium)(C) Implement the [[Improved configuration enumeration|improved configuration enumeration]] and adapt the drivers to use it&lt;br /&gt;
* (medium)(C++) Expand on the PulseView unit tests to increase coverage and allow them to actually reveal bugs.&lt;br /&gt;
* (easy)(C++) Work on PulseView in the context of android devices, i.e. improve compatibility and usability.&lt;br /&gt;
* (medium/hard)(C++) Figure out a way to perform automated GUI tests of PulseView under Windows (and linux) that can be included in Jenkins. That way we wouldn&amp;#039;t rely on Windows users as much to tell us when things break there.&lt;br /&gt;
* (unknown)(C) Come up with a sensible method of interfacing libsigrok with GNU Radio so that digitally transmitted data can be examined using libsigrok&lt;br /&gt;
* (easy)(C) Enabling sigrok-cli to be an automation tool: e.g. reading one value from a file (could be a voltage), setting it on device A, reading a value from device B and writing it into a file&lt;br /&gt;
* (easy)(none) Update and complete the on- and offline documentation for sigrok-cli, sigrok-meter, smuview and PulseView, esp. the [[Getting started]] pages&lt;br /&gt;
* (medium/hard)(C++) PulseView could benefit from using an OpenGL ES drawing backend but we lack the time to evaluate this properly. You could do this for us and if it turns out to be doable and useful, you could start integrating your proof-of-concept and expand on it.&lt;br /&gt;
&lt;br /&gt;
== FAQ for students ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: How much time per week will I need to put in for sigrok?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; We want you to treat it like a full time job. We have some flexibility, in that it is results rather than time that matters, but for sigrok don&amp;#039;t plan to be doing a full time job or writing up your thesis and doing the GSoC project in your spare time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: What level of technical expertise is required to participate in GSoC?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; The level that could reasonably be expected of better than average computer science degree students after their first year. Realistically, given that GSoC is competitive, we&amp;#039;d regard the minimum programming skill to be such that at least one programming project of 300+ lines should have been completed as part of coursework. Applicants should mention at least one significant program they have completed on their application. If you don&amp;#039;t enjoy writing and debugging programs, completing the project may be difficult. If you&amp;#039;re stuck with something, we&amp;#039;ll of course try to help you, though.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: Am I good enough for GSoC?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Convince us that you are! If you give us evidence that you&amp;#039;ve compiled libsigrok/PulseView and then made some modification, you&amp;#039;re ahead of most people.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I don&amp;#039;t know Qt but want to work on PulseView. Is that a problem?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Depends. If your work is focusing on the inner workings (e.g. interfacing to something you wrote in libsigrok) then you&amp;#039;ll be fine. Everything else requires you to at least know (or be willing to learn!) about signals/slots, event-driven design and of course the Qt API. The Qt API itself is documented quite well, you can find the entry page for Qt 4.8 [http://doc.qt.io/qt-4.8/ here], for example. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I want to tackle this particular problem from your ideas list. Is it too hard for me? Is it even possible?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Only you can tell if its too hard for you. We believe the basic implementations are perfectly achievable by an advanced student. Talk it through with us, and spend time understanding the problem. Figure out what needs to be done to complete the task and ask yourself if you can do all of it. When in doubt, use a lesser goal and add optional &amp;quot;if time permits&amp;quot; goals. Keep in mind that you should give us some kind of proof that you can complete the task you claim you will complete. We don&amp;#039;t know you and we can only choose very few students, so we want to make sure that everyone benefits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I haven&amp;#039;t written a program with more than 300 lines before. Is that a problem?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; Yes. Talk it over with us, chances are we&amp;#039;ll work something out. What we really need is evidence that you will be successful in your chosen project goals. If you&amp;#039;re relatively inexperienced it&amp;#039;s a rather bad idea to leave contacting us to the last possible moment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I&amp;#039;ve posted an application using the GSoC Student Web app, and I&amp;#039;m being asked to clarify what features I&amp;#039;m committing to and what features are optional &amp;#039;if time permits&amp;#039;. What does it mean to commit to a feature? Does it mean I&amp;#039;ll fail if I don&amp;#039;t deliver a feature I commit to?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A:&amp;#039;&amp;#039;&amp;#039; At the application stage we need clarity about what you expect to achieve. What you commit to is what we expect to see, and the committed outcomes need to interest us. If we fail a student who committed to a feature and then didn&amp;#039;t deliver, it would usually be because they&amp;#039;d also claimed skills/experience they didn&amp;#039;t actually have, not communicated regularly, or otherwise not kept in touch with us throughout their project. We pretty much don&amp;#039;t expect the &amp;#039;if time permits&amp;#039; features to be done, as everyone underestimates how much work is involved in programming. In discussing the proposal we might ask that an &amp;#039;if time permits&amp;#039; feature be made central and a planned feature we&amp;#039;re less interested in be demoted. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Further reading ===&lt;br /&gt;
&lt;br /&gt;
[http://teom.org/blog/kde/how-to-write-a-kick-ass-proposal-for-google-summer-of-code/ here] you can find a great write-up that explains how to make your application structured and complete.&lt;br /&gt;
&lt;br /&gt;
== Administrative stuff ==&lt;br /&gt;
&lt;br /&gt;
According to the [https://developers.google.com/open-source/gsoc/faq#what_is_the_role_of_a_mentoring_organization FAQ], several roles have to be filled by project staff:&lt;br /&gt;
* Two organization admins who are google&amp;#039;s main point of contact (abraxa, uwe)&lt;br /&gt;
* A person or group to review student applications (abraxa, uwe, biot?, jhol?)&lt;br /&gt;
* A mentor for each student (abraxa, anyone else?)&lt;br /&gt;
* A backup for each mentor (uwe, biot?)&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;s also a [http://en.flossmanuals.net/GSoCMentoring/ Mentors Guide] that&amp;#039;s worth checking out.&lt;br /&gt;
&lt;br /&gt;
[[GSoC Application|Here]] is our page containing our organization application material.&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rigol-ds_data_source&amp;diff=16080</id>
		<title>Rigol-ds data source</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rigol-ds_data_source&amp;diff=16080"/>
		<updated>2021-04-11T11:59:28Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The driver for Rigol oscilloscopes (rigol-ds) uses three different data sources:&lt;br /&gt;
&lt;br /&gt;
# Live (default)&lt;br /&gt;
# Memory&lt;br /&gt;
# Segmented&lt;br /&gt;
&lt;br /&gt;
Below you can find the same data as shown on the oscilloscope&amp;#039;s screen, read out with data source Live and read out with data source Memory.&lt;br /&gt;
&lt;br /&gt;
== Data as displayed on oscilloscope&amp;#039;s screen ==&lt;br /&gt;
[[File:Rigol mso5000 displayed image.png]]&lt;br /&gt;
&lt;br /&gt;
== Live ==&lt;br /&gt;
Data source Live reads out the data displayed on the oscilloscope&amp;#039;s screen.&lt;br /&gt;
The number of data points returned depends on the model and can be 600, 1000, 1200 or 1400, i.e. each horizontal div is represented e.g. for an MSO5000 by 1000 data points / 10 div = 100 data points.&lt;br /&gt;
[[File:Rigol mso5000 data source live.png]]&lt;br /&gt;
&lt;br /&gt;
== Memory ==&lt;br /&gt;
Data source Memory reads out the whole memory of the oscilloscope. This allows zooming into the data, as it is possible on the oscilloscope.&lt;br /&gt;
[[File:Rigol_mso5000_data_source_memory.png]]&lt;br /&gt;
&lt;br /&gt;
== Segmented ==&lt;br /&gt;
Rigol oscilloscopes sometimes offer to capture multiple frames, aka records. The segmented data source allows to read out these records.&lt;br /&gt;
For MSO5000 with FW 00.01.02.00.03 this does not work properly.&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rigol-ds_data_source&amp;diff=16079</id>
		<title>Rigol-ds data source</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rigol-ds_data_source&amp;diff=16079"/>
		<updated>2021-04-11T11:58:02Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The driver for Rigol oscilloscopes (rigol-ds) uses three different data sources:&lt;br /&gt;
&lt;br /&gt;
# Live (default)&lt;br /&gt;
# Memory&lt;br /&gt;
# Segmented&lt;br /&gt;
&lt;br /&gt;
Below you can find the same data as shown on the oscilloscope&amp;#039;s screen, read out with data source Live and read out with data source Memory.&lt;br /&gt;
&lt;br /&gt;
== Data as displayed on oscilloscope&amp;#039;s screen ==&lt;br /&gt;
[[File:Rigol mso5000 displayed image.png]]&lt;br /&gt;
&lt;br /&gt;
== Live ==&lt;br /&gt;
Data source Live reads out the data displayed on the oscilloscope&amp;#039;s screen.&lt;br /&gt;
The number of data points returned depends on the model and can be 600, 1000, 1200 or 1400, i.e. each horizontal div is represented e.g. for an MSO5000 by 1000 data points / 10 div = 100 data points.&lt;br /&gt;
[[File:Rigol mso5000 data source live.png]]&lt;br /&gt;
&lt;br /&gt;
== Memory ==&lt;br /&gt;
Data source Memory reads out the whole memory of the oscilloscope. This allows zooming into the data, as it is possible on the oscilloscope.&lt;br /&gt;
[[File:Rigol_mso5000_data_source_memory.png]]&lt;br /&gt;
&lt;br /&gt;
== Segmented ==&lt;br /&gt;
Rigol oscilloscopes sometimes offer to capture multiple frames, aka records. The segmented data source allows to read out these records.&lt;br /&gt;
For MSO5000 with FW 00.01.02.00.03 does not work properly. &lt;br /&gt;
For the other devices I cannot judge it.&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rigol_MSO5000_Series&amp;diff=16078</id>
		<title>Rigol MSO5000 Series</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rigol_MSO5000_Series&amp;diff=16078"/>
		<updated>2021-04-11T11:55:41Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox oscilloscope&lt;br /&gt;
| image               = [[File:Sigrok_logo_no_text_transparent_512.png|180px]]&lt;br /&gt;
| name                = Rigol MSO5000 Series&lt;br /&gt;
| status              = in progress&lt;br /&gt;
| source_code_dir     = rigol-ds | rigol-dg&lt;br /&gt;
| analog channels     = 2-4&lt;br /&gt;
| samplerate          = up to 8GSa/s&lt;br /&gt;
| bandwidth           = 70-350MHz (depending on model)&lt;br /&gt;
| vertical_resolution = 8bits&lt;br /&gt;
| triggers            = edge, pulse, runt, window, nth edge, slope, video, pattern, delay, timeout, duration, setup/hold, protocol (optional: RS232/UART, I²C, SPI, CAN, FlexRay, LIN, I2S, MIL-STD-1553)&lt;br /&gt;
| input_impedance     = 1MΩ‖17pF 300V RMS CAT I&lt;br /&gt;
| memory              = 100Mpts (mode/ch-dependent), Option 200Mpts&lt;br /&gt;
| digital channels    = 16&lt;br /&gt;
| dig. samplerate     = up to 1GSa/s&lt;br /&gt;
| dig. memory         = 12,5MPts, option 25M (t.b.c)&lt;br /&gt;
| display             = 9&amp;quot; 1024x800&lt;br /&gt;
| connectivity        = USB host/device, ethernet (LXI), HDMI, trigger out, pass/fail out&lt;br /&gt;
| features            = math: +, &amp;amp;mdash;, x, /, FFT, A&amp;amp;&amp;amp;B, A||B, A^B, vertical sensitivity: 500µV/div - 10V/div&lt;br /&gt;
| website             = [https://www.rigolna.com/products/digital-oscilloscopes/MSO5000/ rigolna.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [https://www.rigolna.com/products/digital-oscilloscopes/MSO5000/ Rigol MSO5000 Series] are 2-/4-channel oscilloscopes with an analog bandwidth of 70-350MHz and up to 8GS/s sampling rate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Model || Analog channels || Bandwidth || Digital channels&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5072 || 2 || 70MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5074 || 4 || 70MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5102 || 2 || 100MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5104 || 4 || 100MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5204 || 4 || 200MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5354 || 4 || 350MHz || 16&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
The device uses [[USBTMC]] or LXI via its Ethernet port for communication with a host PC. The protocol is based on [[IEEE-488|SCPI]] commands.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
[https://beyondmeasure.rigoltech.com/acton/attachment/1579/f-0905/0/-/-/-/-/MSO5_users_guide.pdf User Manual]&lt;br /&gt;
&lt;br /&gt;
[https://beyondmeasure.rigoltech.com/acton/attachment/1579/f-0906/0/-/-/-/-/MSO5_programming_guide.pdf Programming Guide]&lt;br /&gt;
&lt;br /&gt;
== Example use ==&lt;br /&gt;
&lt;br /&gt;
Depending on your type of connection you have to can either use the [[Connection_parameters#USBTMC | USBTMC connection parameter]] or the [[Connection_parameters#VXI | VXI connection parameter]]. Examples:&lt;br /&gt;
&lt;br /&gt;
When connecting over TCP/IP need to specify ip address and port:&lt;br /&gt;
  &lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;-d rigol-ds:conn=vxi/192.168.42.42&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;sigrok-cli -d rigol-ds:conn=vxi/192.168.1.250 --config data_source=Live -o live.sr -O srzip --frames=1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [[Rigol-ds data source]] for more information on data source.&lt;br /&gt;
&lt;br /&gt;
== Digital channels ==&lt;br /&gt;
The MSO500 Series has dedicated memory for digital channels, which is smaller in size than the analog memory.&lt;br /&gt;
To have the same capturing time, the digital sampling rate is lower than the analog sampling rate.&lt;br /&gt;
&lt;br /&gt;
Note: The support is not in mainline, yet. See [https://github.com/sigrokproject/libsigrok/pull/95 | PR#95]&lt;br /&gt;
&lt;br /&gt;
== Signal generator (option) ==&lt;br /&gt;
The optional signal gnerator can be used with the rigol-dg driver.&lt;br /&gt;
For usage see [[Rigol_DG800_Series | Rigol DG800 Series]]&lt;br /&gt;
&lt;br /&gt;
Suported waveforms&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Waveform || min frequency || max. frequency&lt;br /&gt;
|-&lt;br /&gt;
|| Sine || 100mHz || 25MHz &lt;br /&gt;
|-&lt;br /&gt;
|| Square || 100mHz || 15MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Ramp || 100mHz || 100kHz&lt;br /&gt;
|-&lt;br /&gt;
|| Pulse || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Arb || 100mHz || 10MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Noise || - || -&lt;br /&gt;
|-&lt;br /&gt;
|| DC || - || -&lt;br /&gt;
|-&lt;br /&gt;
|| Sinc || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ExpRise || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ExpFall || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ECG || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Gauss || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Lorentz || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Haversin || 100mHz || 1MHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Support is not in mainline, yet. See [https://github.com/sigrokproject/libsigrok/pull/96 | PR#96]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Oscilloscope]]&lt;br /&gt;
[[Category:Mixed-signal oscilloscope]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rigol-ds_data_source&amp;diff=16077</id>
		<title>Rigol-ds data source</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rigol-ds_data_source&amp;diff=16077"/>
		<updated>2021-04-11T11:53:23Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: rigol-ds data sources (Live, Memory, Segmented)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The driver for Rigol oscilloscopes uses three different data sources:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Live (default)&lt;br /&gt;
# Memory&lt;br /&gt;
# Segmented&lt;br /&gt;
&lt;br /&gt;
== Data as displayed on oscilloscope&amp;#039;s screen ==&lt;br /&gt;
[[File:Rigol mso5000 displayed image.png]]&lt;br /&gt;
&lt;br /&gt;
== Live ==&lt;br /&gt;
Data source Live reads out the data displayed on the oscilloscope&amp;#039;s screen.&lt;br /&gt;
The number of data points returned depends on the model and can be 600, 1000, 1200 or 1400, i.e. each horizontal div is represented e.g. for an MSO5000 by 1000 data points / 10 div = 100 data points.&lt;br /&gt;
[[File:Rigol mso5000 data source live.png]]&lt;br /&gt;
&lt;br /&gt;
== Memory ==&lt;br /&gt;
Data source Memory reads out the whole memory of the oscilloscope. This allows zooming into the data, as it is possible on the oscilloscope.&lt;br /&gt;
[[File:Rigol_mso5000_data_source_memory.png]]&lt;br /&gt;
&lt;br /&gt;
== Segmented ==&lt;br /&gt;
Rigol oscilloscopes sometimes offer to capture multiple frames, aka records. The segmented data source allows to read out these records.&lt;br /&gt;
For MSO5000 with FW 00.01.02.00.03 does not work properly. &lt;br /&gt;
For the other devices I cannot judge it.&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Rigol_mso5000_displayed_image.png&amp;diff=16076</id>
		<title>File:Rigol mso5000 displayed image.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Rigol_mso5000_displayed_image.png&amp;diff=16076"/>
		<updated>2021-04-11T11:49:51Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Screen capture of MSO5000 oscilloscope display to show differences between data sources Live and Memory.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screen capture of MSO5000 oscilloscope display to show differences between data sources Live and Memory.&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Rigol_mso5000_data_source_memory.png&amp;diff=16075</id>
		<title>File:Rigol mso5000 data source memory.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Rigol_mso5000_data_source_memory.png&amp;diff=16075"/>
		<updated>2021-04-11T11:47:21Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Pulseview screen capture showing data captured with Rigol MSO5000 with data source
Memory.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pulseview screen capture showing data captured with Rigol MSO5000 with data source&lt;br /&gt;
Memory.&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Rigol_mso5000_data_source_live.png&amp;diff=16074</id>
		<title>File:Rigol mso5000 data source live.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Rigol_mso5000_data_source_live.png&amp;diff=16074"/>
		<updated>2021-04-11T11:45:42Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Pulseview screen capture showing data captured with Rigol MSO5000 with data source Live.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pulseview screen capture showing data captured with Rigol MSO5000 with data source Live.&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rigol_MSO5000_Series&amp;diff=15630</id>
		<title>Rigol MSO5000 Series</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rigol_MSO5000_Series&amp;diff=15630"/>
		<updated>2020-11-01T15:24:52Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Correct spelling in category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox oscilloscope&lt;br /&gt;
| image               = [[File:Sigrok_logo_no_text_transparent_512.png|180px]]&lt;br /&gt;
| name                = Rigol MSO5000 Series&lt;br /&gt;
| status              = in progress&lt;br /&gt;
| source_code_dir     = rigol-ds | rigol-dg&lt;br /&gt;
| analog channels     = 2-4&lt;br /&gt;
| samplerate          = up to 8GSa/s&lt;br /&gt;
| bandwidth           = 70-350MHz (depending on model)&lt;br /&gt;
| vertical_resolution = 8bits&lt;br /&gt;
| triggers            = edge, pulse, runt, window, nth edge, slope, video, pattern, delay, timeout, duration, setup/hold, protocol (optional: RS232/UART, I²C, SPI, CAN, FlexRay, LIN, I2S, MIL-STD-1553)&lt;br /&gt;
| input_impedance     = 1MΩ‖17pF 300V RMS CAT I&lt;br /&gt;
| memory              = 100Mpts (mode/ch-dependent), Option 200Mpts&lt;br /&gt;
| digital channels    = 16&lt;br /&gt;
| dig. samplerate     = up to 1GSa/s&lt;br /&gt;
| dig. memory         = 12,5MPts, option 25M (t.b.c)&lt;br /&gt;
| display             = 9&amp;quot; 1024x800&lt;br /&gt;
| connectivity        = USB host/device, ethernet (LXI), HDMI, trigger out, pass/fail out&lt;br /&gt;
| features            = math: +, &amp;amp;mdash;, x, /, FFT, A&amp;amp;&amp;amp;B, A||B, A^B, vertical sensitivity: 500µV/div - 10V/div&lt;br /&gt;
| website             = [https://www.rigolna.com/products/digital-oscilloscopes/MSO5000/ rigolna.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [https://www.rigolna.com/products/digital-oscilloscopes/MSO5000/ Rigol MSO5000 Series] are 2-/4-channel oscilloscopes with an analog bandwidth of 70-350MHz and up to 8GS/s sampling rate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Model || Analog channels || Bandwidth || Digital channels&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5072 || 2 || 70MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5074 || 4 || 70MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5102 || 2 || 100MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5104 || 4 || 100MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5204 || 4 || 200MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5354 || 4 || 350MHz || 16&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
The device uses [[USBTMC]] or LXI via its Ethernet port for communication with a host PC. The protocol is based on [[IEEE-488|SCPI]] commands.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
[https://beyondmeasure.rigoltech.com/acton/attachment/1579/f-0905/0/-/-/-/-/MSO5_users_guide.pdf User Manual]&lt;br /&gt;
&lt;br /&gt;
[https://beyondmeasure.rigoltech.com/acton/attachment/1579/f-0906/0/-/-/-/-/MSO5_programming_guide.pdf Programming Guide]&lt;br /&gt;
&lt;br /&gt;
== Example use ==&lt;br /&gt;
&lt;br /&gt;
Depending on your type of connection you have to can either use the [[Connection_parameters#USBTMC | USBTMC connection parameter]] or the [[Connection_parameters#VXI | VXI connection parameter]]. Examples:&lt;br /&gt;
&lt;br /&gt;
When connecting over TCP/IP need to specify ip address and port:&lt;br /&gt;
  &lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;-d rigol-ds:conn=vxi/192.168.42.42&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;sigrok-cli -d rigol-ds:conn=vxi/192.168.1.250 --config data_source=Live -o live.sr -O srzip --frames=1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Digital channels ==&lt;br /&gt;
The MSO500 Series has dedicated memory for digital channels, which is smaller in size than the analog memory.&lt;br /&gt;
To have the same capturing time, the digital sampling rate is lower than the analog sampling rate.&lt;br /&gt;
&lt;br /&gt;
Note: The support is not in mainline, yet. See [https://github.com/sigrokproject/libsigrok/pull/95 | PR#95]&lt;br /&gt;
&lt;br /&gt;
== Signal generator (option) ==&lt;br /&gt;
The optional signal gnerator can be used with the rigol-dg driver.&lt;br /&gt;
For usage see [[Rigol_DG800_Series | Rigol DG800 Series]]&lt;br /&gt;
&lt;br /&gt;
Suported waveforms&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Waveform || min frequency || max. frequency&lt;br /&gt;
|-&lt;br /&gt;
|| Sine || 100mHz || 25MHz &lt;br /&gt;
|-&lt;br /&gt;
|| Square || 100mHz || 15MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Ramp || 100mHz || 100kHz&lt;br /&gt;
|-&lt;br /&gt;
|| Pulse || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Arb || 100mHz || 10MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Noise || - || -&lt;br /&gt;
|-&lt;br /&gt;
|| DC || - || -&lt;br /&gt;
|-&lt;br /&gt;
|| Sinc || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ExpRise || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ExpFall || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ECG || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Gauss || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Lorentz || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Haversin || 100mHz || 1MHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Support is not in mainline, yet. See [https://github.com/sigrokproject/libsigrok/pull/96 | PR#96]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Oscilloscope]]&lt;br /&gt;
[[Category:Mixed-signal oscilloscope]]&lt;br /&gt;
[[Category:In progress]]&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Rigol_MSO5000_Series&amp;diff=15629</id>
		<title>Rigol MSO5000 Series</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Rigol_MSO5000_Series&amp;diff=15629"/>
		<updated>2020-11-01T13:04:39Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Initial version. Copied from various wiki pages.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox oscilloscope&lt;br /&gt;
| image               = [[File:Sigrok_logo_no_text_transparent_512.png|180px]]&lt;br /&gt;
| name                = Rigol MSO5000 Series&lt;br /&gt;
| status              = in progress&lt;br /&gt;
| source_code_dir     = rigol-ds | rigol-dg&lt;br /&gt;
| analog channels     = 2-4&lt;br /&gt;
| samplerate          = up to 8GSa/s&lt;br /&gt;
| bandwidth           = 70-350MHz (depending on model)&lt;br /&gt;
| vertical_resolution = 8bits&lt;br /&gt;
| triggers            = edge, pulse, runt, window, nth edge, slope, video, pattern, delay, timeout, duration, setup/hold, protocol (optional: RS232/UART, I²C, SPI, CAN, FlexRay, LIN, I2S, MIL-STD-1553)&lt;br /&gt;
| input_impedance     = 1MΩ‖17pF 300V RMS CAT I&lt;br /&gt;
| memory              = 100Mpts (mode/ch-dependent), Option 200Mpts&lt;br /&gt;
| digital channels    = 16&lt;br /&gt;
| dig. samplerate     = up to 1GSa/s&lt;br /&gt;
| dig. memory         = 12,5MPts, option 25M (t.b.c)&lt;br /&gt;
| display             = 9&amp;quot; 1024x800&lt;br /&gt;
| connectivity        = USB host/device, ethernet (LXI), HDMI, trigger out, pass/fail out&lt;br /&gt;
| features            = math: +, &amp;amp;mdash;, x, /, FFT, A&amp;amp;&amp;amp;B, A||B, A^B, vertical sensitivity: 500µV/div - 10V/div&lt;br /&gt;
| website             = [https://www.rigolna.com/products/digital-oscilloscopes/MSO5000/ rigolna.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [https://www.rigolna.com/products/digital-oscilloscopes/MSO5000/ Rigol MSO5000 Series] are 2-/4-channel oscilloscopes with an analog bandwidth of 70-350MHz and up to 8GS/s sampling rate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Model || Analog channels || Bandwidth || Digital channels&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5072 || 2 || 70MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5074 || 4 || 70MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5102 || 2 || 100MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5104 || 4 || 100MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5204 || 4 || 200MHz || 16&lt;br /&gt;
|-&lt;br /&gt;
|| MSO5354 || 4 || 350MHz || 16&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
The device uses [[USBTMC]] or LXI via its Ethernet port for communication with a host PC. The protocol is based on [[IEEE-488|SCPI]] commands.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
[https://beyondmeasure.rigoltech.com/acton/attachment/1579/f-0905/0/-/-/-/-/MSO5_users_guide.pdf User Manual]&lt;br /&gt;
&lt;br /&gt;
[https://beyondmeasure.rigoltech.com/acton/attachment/1579/f-0906/0/-/-/-/-/MSO5_programming_guide.pdf Programming Guide]&lt;br /&gt;
&lt;br /&gt;
== Example use ==&lt;br /&gt;
&lt;br /&gt;
Depending on your type of connection you have to can either use the [[Connection_parameters#USBTMC | USBTMC connection parameter]] or the [[Connection_parameters#VXI | VXI connection parameter]]. Examples:&lt;br /&gt;
&lt;br /&gt;
When connecting over TCP/IP need to specify ip address and port:&lt;br /&gt;
  &lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;-d rigol-ds:conn=vxi/192.168.42.42&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;sigrok-cli -d rigol-ds:conn=vxi/192.168.1.250 --config data_source=Live -o live.sr -O srzip --frames=1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Digital channels ==&lt;br /&gt;
The MSO500 Series has dedicated memory for digital channels, which is smaller in size than the analog memory.&lt;br /&gt;
To have the same capturing time, the digital sampling rate is lower than the analog sampling rate.&lt;br /&gt;
&lt;br /&gt;
Note: The support is not in mainline, yet. See [https://github.com/sigrokproject/libsigrok/pull/95 | PR#95]&lt;br /&gt;
&lt;br /&gt;
== Signal generator (option) ==&lt;br /&gt;
The optional signal gnerator can be used with the rigol-dg driver.&lt;br /&gt;
For usage see [[Rigol_DG800_Series | Rigol DG800 Series]]&lt;br /&gt;
&lt;br /&gt;
Suported waveforms&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Waveform || min frequency || max. frequency&lt;br /&gt;
|-&lt;br /&gt;
|| Sine || 100mHz || 25MHz &lt;br /&gt;
|-&lt;br /&gt;
|| Square || 100mHz || 15MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Ramp || 100mHz || 100kHz&lt;br /&gt;
|-&lt;br /&gt;
|| Pulse || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Arb || 100mHz || 10MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Noise || - || -&lt;br /&gt;
|-&lt;br /&gt;
|| DC || - || -&lt;br /&gt;
|-&lt;br /&gt;
|| Sinc || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ExpRise || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ExpFall || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| ECG || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Gauss || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Lorentz || 100mHz || 1MHz&lt;br /&gt;
|-&lt;br /&gt;
|| Haversin || 100mHz || 1MHz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Support is not in mainline, yet. See [https://github.com/sigrokproject/libsigrok/pull/96 | PR#96]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Oscilloscope]]&lt;br /&gt;
[[Category:Mixed-signal oscilloscope]]&lt;br /&gt;
[[Category:In Progress]]&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=15628</id>
		<title>Supported hardware</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=15628"/>
		<updated>2020-11-01T09:24:07Z</updated>

		<summary type="html">&lt;p&gt;Jr-oss: Add Rigol MSO5000 series&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;sigrok is intended as a flexible, cross-platform, and &amp;#039;&amp;#039;&amp;#039;hardware-independent&amp;#039;&amp;#039;&amp;#039; software suite, i.e., it supports various devices from many different vendors.&lt;br /&gt;
&lt;br /&gt;
Here is a list of currently supported devices (various stages of completeness) in the [http://sigrok.org/gitweb/?p=libsigrok.git;a=summary latest git version of libsigrok] (fewer devices might be supported in tarball releases) and devices we plan to support in the future.&lt;br /&gt;
&lt;br /&gt;
The lists are sorted by category ([[File:Nuvola OK.png|16px]] &amp;lt;span style=&amp;quot;background-color: lime&amp;quot;&amp;gt;supported&amp;lt;/span&amp;gt;: [[:Category:Supported|{{PAGESINCATEGORY:Supported|pages}}]], [[File:Nuvola Orange.png|16px]] &amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;in progress&amp;lt;/span&amp;gt;: [[:Category:In progress|{{PAGESINCATEGORY:In progress|pages}}]], [[File:Nuvola Red.png|16px]] &amp;lt;span style=&amp;quot;background-color: red&amp;quot;&amp;gt;planned&amp;lt;/span&amp;gt;: [[:Category:Planned|{{PAGESINCATEGORY:Planned|pages}}]]), and alphabetically within those categories.&lt;br /&gt;
&lt;br /&gt;
== Logic analyzers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:ARMFLY MINI LOGIC.png|link=ARMFLY Mini-Logic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ARMFLY Mini-Logic]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ASIX SIGMA 2.png|link=ASIX SIGMA|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ASIX SIGMA]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:BeagleLogic.jpg|link=BeagleLogic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BeagleLogic]] (12(max 14)ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Braintechnology_usb_interface_v26.png|link=Braintechnology USB Interface V2.x|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Braintechnology USB Interface V2.x]] (8/16ch, 24/12MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Braintechnology_usb_lps.png|link=Braintechnology USB-LPS|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Braintechnology USB-LPS]] (8/16ch, 24/12MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chronovu la8 front.png|link=ChronoVu LA8|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ChronoVu LA8]] (8ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chronovu la16.png|link=ChronoVu LA16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ChronoVu LA16]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Cwav_usbee_sx.png|link=CWAV USBee SX|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[CWAV USBee SX]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Buspirate_v3.png|link=Dangerous Prototypes Buspirate|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Dangerous Prototypes Buspirate]] (5ch, 1MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Dangerous prototypes irtoy mugshot.png|link=Dangerous Prototypes USB IR Toy|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Dangerous Prototypes USB IR Toy]] (1ch, 10kHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic Basic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic Basic]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic Plus|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic Plus]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic.png|link=DreamSourceLab DSLogic Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic Pro]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Eeelec xla esla100.png|link=EE Electronics ESLA100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EE Electronics ESLA100]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chronovu la8 ftdi ft245rl.jpg|link=FTDI-LA|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[FTDI-LA]] (8ch, ~10MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:jtagulator-transparent.png|link=JTAGulator|[[File:Nuvola OK.png|16px]]&amp;lt;small&amp;gt;[[JTAGulator | Grand Idea Studio JTAGulator]] (24ch, 1.2MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l mugshot.png|link=Hantek 4032L|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek 4032L]] (32ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 6022be mugshot.png|link=Hantek 6022BL|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6022BL]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hobby components hctest0006 mugshot.png|link=Hobby Components HCTEST0006|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hobby Components HCTEST0006]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic_scanalogic2.png|link=IKALOGIC Scanalogic-2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[IKALOGIC Scanalogic-2]] (4ch, 20MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ikalogic scanaplus mugshot.png|link=IKALOGIC ScanaPLUS|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[IKALOGIC ScanaPLUS]] (9ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Kingst la2016 mugshot.png|link=Kingst LA2016|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Kingst LA2016]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Kingst kqs3506 la16100.png|link=KingST KQS3506-LA16100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[KingST KQS3506-LA16100]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lcsoft-miniboard-front.png|link=Lcsoft Mini Board|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lcsoft Mini Board]] (8/16ch, 24/12MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lecroy logicstudio16 mugshot.png|link=LeCroy LogicStudio|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[LeCroy LogicStudio]] (8/16ch, 1GHz/500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:logic-shrimp-front.png|link=Logic Shrimp|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Logic Shrimp]] (4ch, 20MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mcu123 saleae logic clone.png|link=MCU123 Saleae Logic clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MCU123 Saleae Logic clone]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Meilhaus logian 16l mugshot.png|link=Meilhaus Logian-16L|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Meilhaus Logian-16L]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Microchip_pickit2.png|link=Microchip PICkit2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Microchip PICkit2]] (3ch, 1MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Usbee_ax_clone_front.png|link=MCU123 USBee AX Pro clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MCU123 USBee AX Pro clone]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mcupro_Logic16_overview.png|link=mcupro Logic16 clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[mcupro Logic16 clone]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Openbench logic sniffer front.png|link=Openbench Logic Sniffer|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Openbench Logic Sniffer]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Prist akip 9101 mugshot.png|link=Prist AKIP-9101|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Prist AKIP-9101]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Robomotic buglogic3.png|link=Robomotic BugLogic 3|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Robomotic BugLogic 3]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Robomotic_minilogic.png|link=Robomotic MiniLogic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Robomotic MiniLogic]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae Logic.png|link=Saleae Logic|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae_Logic16_bottom.png|link=Saleae Logic16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saanlima Pipistrello-OLS.png|link=Saanlima Pipistrello OLS|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saanlima Pipistrello OLS]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=SUMP compatibles|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[SUMP compatibles]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk lwla1016.png|link=Sysclk LWLA1016|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk LWLA1016]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk lwla1034 mugshot.png|link=Sysclk LWLA1034|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk LWLA1034]] (34ch, 125MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk sla5032 mugshot.png|link=Sysclk SLA5032|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk SLA5032]] (32ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:VKTECH_thumb.jpg|link=VKTECH_saleae_clone|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[VKTECH_saleae_clone|VKTECH saleae clone]] (8ch, 24MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Wayengineer saleae16.png|link=WayEngineer Saleae16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[WayEngineer Saleae16]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(16032)|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZEROPLUS Logic Cube LAP-C(16032)]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zeroplus Logic Cube.png|link=ZEROPLUS Logic Cube LAP-C(322000)|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZEROPLUS Logic Cube LAP-C(322000)]] (32ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zeroplus_lap-16128u.png|link=ZEROPLUS LAP-16128U|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZEROPLUS LAP-16128U]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Acute_pkla1216.png|link=Acute PKLA-1216|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Acute PKLA-1216]] (16ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Arduino_Uno-R3.jpg|link=Arduino|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Arduino]] (6ch, 4MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ASIX Omega.png|link=ASIX OMEGA|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ASIX OMEGA]] (16ch, 400MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Codethink Interrogizer|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Codethink Interrogizer]] (16ch, 200kHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:IMG 20191206 105430.jpg|link=CoLA|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[CoLA]] (96/48/24ch, 25/50/100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSLogic U3Pro16.png|link=DreamSourceLab DSLogic U3Pro16|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DSLogic U3Pro16]] (16ch, 1GHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hsa-logic.png|link=HSA Logic|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HSA Logic]] (8ch, 6.25MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ideofy_la_08.png|link=Ideofy LA-08|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Ideofy LA-08]] (8ch, 96/60/30MHz @ 2/4/8ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Intronix Logicport.png|link=Intronix Logicport LA1034|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Intronix Logicport LA1034]] (34ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Link Instruments LA-5580|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Link Instruments LA-5580]] (80ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Minila parport.png|link=MiniLA|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MiniLA]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Minila_mockup.png|link=MiniLA Mockup|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MiniLA Mockup]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Noname_la16_mugshot.png|link=Noname LA16|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Noname LA16]] (16ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Noname xl logic16 100m mugshot.png|link=Noname XL-LOGIC16-100M|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Noname XL-LOGIC16-100M]] (16ch, 100/50/32/16MHz @ 3/6/9/16ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rockylogic_ant8.png|link=RockyLogic Ant8|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RockyLogic Ant8]] (8ch, 500MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RockyLogic Ant18e.png|link=RockyLogic Ant18e|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RockyLogic Ant18e]] (8ch, 1GHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk lwla2034 mugshot.png|link=Sysclk LWLA2034|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Sysclk LWLA2034]] (34ch, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Techtools_digiview_dv1-100.png|link=TechTools DigiView DV1-100|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[TechTools DigiView DV1-100]] (18ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tektronix TLA5204 1000.png|link=Tektronix TLA520X|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Tektronix TLA520X]] (128ch, 2Ghz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Xmos xtag2.png|link=XMOS XTAG-2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[XMOS XTAG-2]] (?ch, 50MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Zlg_la1032.png|link=ZLG LA1032|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ZLG LA1032]] (32ch, 100MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mixed-signal devices ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=105px heights=105px&amp;gt;&lt;br /&gt;
File:Armfly_ax_pro.png|link=ARMFLY AX-Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ARMFLY AX-Pro]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sysclk ax pro mugshot.png|link=Sysclk AX-Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Sysclk AX-Pro]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Esla201a.png|link=EE Electronics ESLA201A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EE Electronics ESLA201A]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ht usbee axpro v5 mugshot.png|link=HT USBee-AxPro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HT USBee-AxPro]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:LeCroy_WaveSurfer_24Xs-A_front.png|link=LeCroy oscilloscope series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[LeCroy oscilloscope series]] (various)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Noname lht00su1 mugshot.png|link=Noname LHT00SU1|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Noname LHT00SU1]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS1000 series|Rigol DS1000D series]] (16ch, 2ch analog, 50-150MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol DS4000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS4000 series]] (0/16ch , 2-4ch analog, 2-4GS/s, 100MHz/200MHz/350MHz/500MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol VS5000 series|Rigol VS5000D series]] (16ch, 2ch analog, 20-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RS HMO1002.png|link=Rohde&amp;amp;Schwarz HMO1002 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMO1002 series]] (2ch, 1GS/s, 50-100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HMO3000.jpg|link=Rohde&amp;amp;Schwarz HMO3000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMO 3000 series]] (16ch, 2/4ch analog, 4GS/s, 300-500MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RTA4000.jpg|link=Rohde&amp;amp;Schwarz RT series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz RT series]] (8/16ch, 2/4ch analog, 2-5GS/s, 50MHz-1GHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae Logic Pro 16 bottom.jpg|link=Saleae Logic Pro 16|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic Pro 16]] (4/16ch, 500/100MHz; 16ch analog, 50MSa/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Siglent_SDS1202X-E_front.png|link=Siglent SDS1000X series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siglent SDS1000X series]] (16ch, 2ch analog, 1GSa/s, 200/100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:sds2304x-mugshot.png|link=Siglent SDS2000X series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siglent SDS2000X series]] (16ch, 2/4ch analog, 2GSa/s, 300/200/150/100/70MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Yokogawa DLM2000 front.png|link=Yokogawa DLM2000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Yokogawa DLM2000 series]] (8ch, 2/4ch analog, 2.5GSa/s, 200/350/500MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Xzl studio ax mugshot.png|link=XZL_Studio AX|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[XZL_Studio AX]] (8ch, 24MHz; 1ch analog, 3MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Xzl studio-dx mugshot.png|link=XZL_Studio DX|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[XZL_Studio DX]]&amp;lt;br/&amp;gt; (16ch, 24MHz; 2ch analog),&amp;lt;br /&amp;gt;Analog not supported&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Agilent_MSO7104A.png|link=Agilent MSO7104A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Agilent MSO7104A]] (16ch, ?; 4ch analog, 2GSa/s, 1GHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:BitScope BS10.png|link=BitScope BS10|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[BitScope BS10]] (8ch, 40MHz; 2ch analog, 20MSa/s, ? BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digilent_analog_discovery.png|link=Digilent Analog Discovery|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Digilent Analog Discovery]] (16ch, 100MHz; 2ch analog, 100MSa/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek_1008C.png|link=Hantek 1008C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek 1008C]] (8ch)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ht usbee dxpro mugshot.png|link=HT USBee-DxPro|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HT USBee-DxPro]] (16ch, 24MHz; 2ch analog)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Lab nation smartscope mugshot.png|link=LabNation SmartScope|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[LabNation SmartScope]] (8ch, 100MHz; 2ch analog, 100MSa/s, 45MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Link Instruments MSO-19 front.png|link=Link Instruments MSO-19|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Link Instruments MSO-19]] (8ch, 200MHz; 1ch analog, 200MSa/s, 60MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Meilhaus_mephisto_scope1.png|link=Meilhaus MEphisto Scope1|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Meilhaus MEphisto Scope1]] (16ch, 100kHz; 2ch analog, 1MSa/s, 500kHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Polabs_poscope_basic2.png|link=PoLabs PoScope Basic2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PoLabs PoScope Basic2]] (16ch, 8MHz; 2ch analog, 200kSa/s, ? BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:QuantAsylum QA100.png|link=QuantAsylum QA100|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[QuantAsylum QA100]] (12ch; 2ch analog)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol MSO5000 Series|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Rigol MSO5000 Series]] (16ch, 2-4ch analog, 70-350MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae_Logic8_case_bottom.jpg|link=Saleae Logic8|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic8]] (3/6/7/8ch, 100/50/40/25MHz; 8ch analog, 10MSa/s, 1MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Saleae_logic_pro_8-bottom.png|link=Saleae Logic Pro 8|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Saleae Logic Pro 8]] (4/8ch, 500/100MHz; 8ch analog, 50MSa/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 3205D MSO fp.jpg|link=Pico Technology PicoScope 3205D MSO|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 3205D MSO]] (16ch, 100MHz; 2ch analog, 1/0.5GS/s, 100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DSO3254A.jpg|link=Hantek DSO3254A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO3254A]] (16ch, 250MHz; 4ch analog, 1GS/s, 250MHz BW; 1 ch func/arb generator, 200MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Oscilloscopes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=100px heights=100px&amp;gt;&lt;br /&gt;
File:Agilent DSO1014A.png|link=Agilent DSO1000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent DSO1000 series]] (2-4ch, 2GS/s, 60-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke_Scopemeter_199B.png|link=Fluke ScopeMeter 199B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke ScopeMeter 199B]] (2ch, 2.5GS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dso-6060c mugshot.png|link=GW Instek GDS-800 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDS-800 series]] (2ch, 25GS/s, 60-250MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hameg HMO2024.png|link=Hameg HMO compact series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hameg HMO compact series]] (2-4ch, 2GS/s, 70-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 6022be mugshot.png|link=Hantek 6022BE|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6022BE]] (2ch, 48MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek DSO-2090.png|link=Hantek DSO-2090|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-2090]] (2ch, 100MS/s, 40MHz)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hung chang dso 2100 mugshot.png|link=Hung-Chang_DSO-2100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Hung-Chang DSO-2100]] (2ch, 100MS/s, 30MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DS1052E.png|link=Rigol DS1000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS1000 series|Rigol DS1000E series]] (2ch, 1GS/s, 50-150MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DS1074Z front.png|link=Rigol DS1000Z series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS1000Z series|Rigol DS1000Z series]] (4ch, 1GS/s, 50-100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol-ds2072 mugshot.png|link=Rigol DS2000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DS2000 series]] (2ch, 2GS/s, 70-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol_VS5202D.png|link=Rigol VS5000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol VS5000 series]] (2ch, 20-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rocktech bm102 mugshot.png|link=Rocktech BM102|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rocktech BM102]] (2ch, 50MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Dds120 mugshot.png|link=SainSmart DDS120|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[SainSmart DDS120]] (2ch, 50MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:YiXingDianZi-MDSO.png|link=YiXingDianZi MDSO|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[YiXingDianZi MDSO]] (2ch, 48MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Dreamsourcelab dscope c20p front.jpg|link=DreamSourceLab DScope C20P|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[DreamSourceLab DScope C20P]] (2ch, 200MS/s, 50MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke scopemeter123.png|link=Fluke ScopeMeter 123|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Fluke ScopeMeter 123]] (2ch, 25MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Focussz_fosc21_mugshot.png|link=Focussz Fosc21|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Focussz Fosc21]] (2ch, 8kS/s, 3kHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=GW Instek GDS-2000 series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDS-2000 series]] (2ch, 1GS/s, 60MHz/100MHz/200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek front.jpg|link=Hantek 6052BE|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6052BE]] (2ch, 150MS/s, 50MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 6254bd mugshot.png|link=Hantek 6254BD|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek 6254BD]] (4ch, 1GS/s, 250MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Hantek DSO-1200|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-1200]] (2ch, 500MS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek_DSO_2100_usb.jpg|link=Hantek DSO-2100|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-2100]] (2ch, 100M/s, 30MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek DSO-220 Back.jpg|link=Hantek DSO-220|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-220]] (2ch, 60MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek_PSO2020_0.JPG|link=Hantek PSO2020|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek PSO2020]] (1ch, 96MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek dso2250 mugshot.png|link=Hantek DSO-2250|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-2250]] (2ch, 250MS/s, 100MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek dso-5200a device front.png|link=Hantek DSO-5200A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DSO-5200A]] (2ch, 250MS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek iDSO1070A.JPG|link=Hantek iDSO1070|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek iDSO1070]] (2ch, 250MS/s, 70MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Hantek iDSO1070A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek iDSO1070A]] (2ch, 125MS/s, 70MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Usbduxfast.png|link=Incite Technology USB-DUXfast|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Incite Technology USB-DUXfast]] (16ch, 3MHz, ? BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Instrustar-IDS205A CaseFront.jpg|link=Instrustar ISDS205A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Instrustar_ISDS205A]] (2ch, 48MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Loto_OSC802.jpg|link=Loto OSC802|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Loto OSC802]] (2ch, 80MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:OsciPrime.png|link=Nexus-Computing OsciPrime|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Nexus-Computing OsciPrime]] (2ch, ?MS/s, 3.3MHz-8MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Owon SDS series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Owon SDS series]] (2ch, 0.5-3.2GS/s, 60-300MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 2203.png|link=Pico Technology PicoScope 2203|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 2203]] (40/20MS/s, 5MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 2204A.png|link=Pico Technology PicoScope 2204A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 2204A]] (100MS/s, 10MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:PicoScope_2205.png|link=Pico Technology PicoScope 2205|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 2205]] (200/100MS/s, 25MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 3206.png|link=Pico Technology PicoScope 3206|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 3206]] (200/100MS/s, 200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Picoscope 5203.png|link=Pico Technology PicoScope 5203|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pico Technology PicoScope 5203]] (1/0.5GS/s, 250MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sainsmart dds140 mugshot.png|link=SainSmart DDS140|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[SainSmart DDS140]] (2ch, 200MS/s, 40MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tektronix tds2024b mugshot.png|link=Tektronix TDS2000B series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Tektronix TDS2000B series]] (2-4ch, 1-2GS/s, 60-200MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:UNI-T UTD2042C.png|link=UNI-T UTD2042C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UTD2042C]] (2ch, 500MS/s, 40MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Velleman PCSU1000.png|link=Velleman PCSU1000|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Velleman PCSU1000]] (2ch, 1GS/s, 50MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:VellemanWFS210.png|link=Velleman WFS210|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Velleman WFS210]] (2ch, 10MS/s, ?? MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dso-220 usb.png|link=Voltcraft DSO-220|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DSO-220]] (2ch, 60MS/s, 20MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft DSO-3062C.png|link=Voltcraft DSO-3062C|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DSO-3062C]] (2ch, 1GS/s, 60MHz BW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Multimeters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Agilent_34401A|[[file:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent 34401A]] (6.5 digits, GPIB, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Agilent_34405A.png|link=Agilent_34405A|[[file:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent 34405A]] (120000 counts, USB TMC)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Agilent U1232A.png|link=Agilent U12xxx series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Agilent U12xxx series]] (USB/Bluetooth)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bbc gm m2110 mugshot.png|link=BBC Goertz Metrawatt M2110|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BBC Goertz Metrawatt M2110]] (30000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Brymen BM257.png|link=Brymen BM257|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM257]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Brymen bm257s mugshot.png|link=Brymen BM257s|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM257s]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm525s-mugshot.png|link=Brymen BM525s|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM525s]] (10000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm829s-mugshot.png|link=Brymen BM829s|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM829s]] (10000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm_857_mugshot_500000.png|link=Brymen BM857|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM857]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm859s-front-sleeve.png|link=Brymen BM859s|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM859s]] (50000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Bm869_mugshot.png|link=Brymen BM869|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Brymen BM869]] (50000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digitek_dt4000zc_device_front.png|link=Digitek DT4000ZC|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Digitek DT4000ZC]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Eevblog 121gw mugshot.png|link=EEVBlog 121GW|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EEVBlog 121GW]] (50000 counts, BLE, SD)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke 187.png|link=Fluke 187/189|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke 187/189]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke 287.png|link=Fluke 287/289|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke 287/289]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Fluke_45_mugshot.png|link=Fluke 45|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Fluke 45]] (100000 counts, GPIB/RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gmc metrahit 14a logo.png|link=Gossen Metrawatt Metrahit 14A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 14A]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen Metrawatt Metrahit 16I small.png|link=Gossen Metrawatt Metrahit 16I|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 16I]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen Metrawatt Metrahit 18S small.png|link=Gossen Metrawatt Metrahit 18S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 18S]] (31000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen Metrawatt Metrahit 25S Logo.png|link=Gossen Metrawatt Metrahit 25S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 25S]] (31000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gmc metrahit 29s logo.png|link=Gossen Metrawatt Metrahit 29S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 29S]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gmc kmm2002 logo.png|link=Gossen Metrawatt T-Com KMM2002|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt T-Com KMM2002]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-397_front.png|link=GW Instek GDM-397|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-397]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-8251a frontpanel.png|link=GW Instek GDM-8251A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-8251A]] (120000 counts, RS232/USB/DigitalIO)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-8251a frontpanel.png|link=GW Instek GDM-8255A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-8255A]] (199999 counts, RS232/USB/DigitalIO)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-9061_frontpanel.png|link=GW Instek GDM-9060|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-9060]] (1200000 counts, LAN/RS232/USB/DigitalIO/GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gdm-9061_frontpanel.png|link=GW Instek GDM-9061|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GDM-9061]] (1200000 counts, LAN/RS232/USB/DigitalIO/GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HP_3457a_sigrok_teaser.png|link=HP 3457A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 3457A]] (7.5 digits, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hp3478a mugshot.png|link=HP 3478A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 3478A]] (5.5 digits, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HT410 logo.png|link=HT Instruments HT410|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HT Instruments HT410]] (3100 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:100px_Idm103n.png|link=ISO-TECH IDM103N|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ISO-TECH IDM103N]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:keysight-34465a-mugshot.png|link=Keysight 34465A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Keysight 34465A]] (1200000 counts, LAN/USB/GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech mas345 device front.png|link=MASTECH MAS345|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MAS345]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech_ms2115b_mugshot.png|link=MASTECH MS2115B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS2115B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech ms8250b mugshot.png|link=MASTECH MS8250B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS8250B]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mastech ms8250d mugshot.png|link=MASTECH MS8250D|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS8250D]] (6600 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex M3850M mugshot.png|link=Metex M-3850M|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex M-3850M]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex m4650cr mugshot.png|link=Metex M-4650CR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex M-4650CR]] (20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex_ME-21.jpg|link=Metex ME-21|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex ME-21]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex_me-31.png|link=Metex ME-31|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metex ME-31]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metrix mx56c.png|link=Metrix MX56C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Metrix MX56C]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mooshimeter_mugshot.png|link=Mooshim Engineering Mooshimeter|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Mooshim Engineering Mooshimeter]] (24bit, BLE)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Norma dm950.png|link=Norma DM950|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Norma DM950]] (21000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pce-pce-dm32.png|link=PCE PCE-DM32|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-DM32]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 3330 mugshot.png|link=PeakTech 3330|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3330]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metex_me-31.png|link=PeakTech 3410|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3410]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech3415_top.png|link=PeakTech 3415|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3415]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4370 device front.png|link=PeakTech 4370|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4370]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4390a metex m-3860m mugshot.png|link=PeakTech 4390A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4390A]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rs_22_168_mugshot.png|link=RadioShack 22-168|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RadioShack 22-168]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rs_22-805_front.png|link=RadioShack 22-805|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RadioShack 22-805]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:radioshack_22_812_front.png|link=RadioShack 22-812|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RadioShack 22-812]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:siemens_b1026_logo.png|link=Siemens B1026|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siemens B1026]] (21000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Siemens B1105 small.png|link=Siemens B1105|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Siemens B1105]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sparkfun 70c mugshot.png|link=SparkFun 70C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[SparkFun 70C]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tecpel dmm8061.png|link=Tecpel DMM-8061|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tecpel DMM-8061]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tp4000zc_front.png|link=TekPower TP4000ZC|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[TekPower TP4000ZC]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7730.png|link=Tenma 72-7730|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7730]] (20000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7732.png|link=Tenma 72-7732|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7732]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7745.png|link=Tenma 72-7745|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7745]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-7750.png|link=Tenma 72-7750|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-7750]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-9380A.png|link=Tenma 72-9380A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-9380A]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ut60e_-_front_-_alpha.png|link=UNI-T UT60E|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT60E]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t ut61b mugshot.png|link=UNI-T UT61B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61B]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t ut61c mugshot.png|link=UNI-T UT61C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61C]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni t ut61d device.png|link=UNI-T UT61D|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61D]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Old ver front.png|link=UNI-T UT61E|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT61E]] (22000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ut71c mugshot.png|link=UNI-T UT71C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT71C]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t-ut181a mugshot.png|link=UNI-T UT181A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT181A]] (60000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Va_va18b.png|link=V&amp;amp;A VA18B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[V&amp;amp;A VA18B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Va va40b mugshot.png|link=V&amp;amp;A VA40B|link=V&amp;amp;A VA40B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[V&amp;amp;A VA40B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:DVM4100.png|link=Velleman DVM4100|link=Velleman DVM4100|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Velleman DVM4100]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Victor 70C.png|link=Victor 70C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Victor 70C]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Victor 86c device front.png|link=Victor 86C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Victor 86C]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m-3650cr.png|link=Voltcraft M-3650CR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3650CR]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft_M-3650D_transparent.png|link=Voltcraft M-3650D|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3650D]] (2000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m4650cr.png|link=Voltcraft M-4650CR|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-4650CR]] (20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft ME-42 logo.png|link=Voltcraft ME-42|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft ME-42]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc820 device.png|link=Voltcraft VC-820|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-820]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc830.png|link=Voltcraft VC-830|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-830]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc840 device front.png|link=Voltcraft VC-840|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-840]] (4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc870 mugshot.png|link=Voltcraft VC-870|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-870]] (40000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc920.png|link=Voltcraft VC-920|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-920]] (40000/4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc940.png|link=Voltcraft VC-940|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-940]] (40000/4000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc96 mugshot.png|link=Voltcraft VC-96|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-96]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Appa 107.png|link=APPA 107|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[APPA 107]] (4000 / 20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=CEM DT-987BT|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[CEM DT-987BT]] (50000 counts, BLE)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digitek dt8000.png|link=Digitek DT8000|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Digitek DT8000]] (8000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Digitek dt80000.png|link=Digitek DT80000|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Digitek DT80000]] (80000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Escort 179 device front.png|link=Escort 179|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Escort 179]] (10000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28C|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 28C]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit 28S|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit 28S]] (310000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gossen metrahit 30m.png|link=Gossen-Metrawatt METRAHIT 30M|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen-Metrawatt METRAHIT 30M]] (1200000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Gossen Metrawatt Metrahit X-Tra|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Gossen Metrawatt Metrahit X-Tra]] (12000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=HYELEC MS8236|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HYELEC MS8236]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:800px-Mastech m9803r device front.png|link=MASTECH M9803R|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MASTECH M9803R]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Metrix mx53.png|link=Metrix MX53|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Metrix MX53]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech-3442-front.png|link=PeakTech 3442|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 3442]] (50000 counts, BLE)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4380 mugshot.png|link=PeakTech 4380|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4380]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 4390 mugshot.png|link=PeakTech 4390|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 4390]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Protek 6500|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Protek 6500]] (50000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DM3068 front.png|link=Rigol DM3068|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Rigol DM3068]] (2200000 counts, LAN/USB/GPIB/RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tenma 72-1016.png|link=Tenma 72-1016|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Tenma 72-1016]] (6000 counts, RS232/USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t-ut81b mugshot.png|link=UNI-T UT81B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT81B]] (6000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft 3850D front transp.png|link=Voltcraft M-3850D|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3850D]] (4000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m3890dt usb.png|link=Voltcraft M-3890DT|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-3890DT]] (4000 counts, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft m4660a device front.png|link=Voltcraft M-4660A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft M-4660A]] (20000 counts, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft vc890 mugshot.png|link=Voltcraft VC-890|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft VC-890]] (60000 counts, USB/serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCR meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100Px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Der ee de-5000 mugshot.png|link=DER EE DE-5000|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[DER EE DE-5000]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=MASTECH MS5308|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS5308]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:peaktech2165-front.png|link=Peaktech 2165|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[Peaktech 2165]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Peaktech 2170 mugshot.png|link=PeakTech 2170|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[PeakTech 2170]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:uni_t_ut612_1.png|link=UNI-T UT612|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT612]] (USB/HID)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft4080_2.png|link=Voltcraft 4080|[[File:Nuvola_OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft 4080]] (serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Agilent U1732B.png|link=Agilent U1732B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Agilent U1732B]] (IR)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=BK Precision 879B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[BK Precision 879B]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sound level meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:CEM DT-8852.png|link=CEM DT-8852|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[CEM DT-8852]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Colead SL-5868P.png|link=Colead SL-5868P|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Colead SL-5868P]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Kecheng KC-330B.png|link=Kecheng KC-330B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Kecheng KC-330B]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:PCE-322A.png|link=PCE PCE-322A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-322A]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Tondaj sl-814.png|link=Tondaj SL-814|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Tondaj SL-814]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (also: light-/thermo-/hygrometer; RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft_dl_160s.png|link=Voltcraft DL-160S|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-160S]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft_DL-161S.png|link=Voltcraft DL-161S|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-161S]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Thermometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:rs55ii.png|link=APPA 55II|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[APPA 55II]] (2xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lascar Electronics EL-USB-2]] (1xtemp, 1xhum, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:MASTECH_MS6514_mugshot.png|link=MASTECH MS6514|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS6514]] (2x temp, USB/serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mic 98581.png|link=MIC 98581|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MIC 98581]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MIC 98583]] (1xtemp, 1xhum, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Uni-t ut325 front.png|link=UNI-T UT325|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT325]] (2xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft k204.png|link=Voltcraft K204|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft K204]] (4xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Elitech rc3.png|link=Elitech RC-3|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Elitech RC-3]] (1xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Escort 19.png|link=Escort 19|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Escort 19]] (1x temp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pax_instruments_t400.jpg|link=Pax Instruments T400|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Pax Instruments T400]] (4xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (1xtemp, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rding temper front.png|link=RDing TEMPer|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rding temper gold device front.png|link=RDing TEMPer Gold|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer Gold]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rding temper1 device front.png|link=RDing TEMPer1|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer1]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pcsensor_temper1k2.png|link=RDing TEMPer1K2|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[RDing TEMPer1K2]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dl-120th.png|link=Voltcraft DL-120TH|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-120TH]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft dl-140th.png|link=Voltcraft DL-140TH|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft DL-140TH]] (1xtemp, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hygrometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:EL-USB-2.png|link=Lascar Electronics EL-USB-2|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lascar Electronics EL-USB-2]] (temp/humidity, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Mic 98583.png|link=MIC 98583|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[MIC 98583]] (temp/humidity, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (also: light-/soundlevelmeter; RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Silabs si7005usb dgl eb top.jpg|link=SiLabs Si7005USB-Dongle|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[SiLabs Si7005USB-Dongle]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anemometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Mastech ms6252b.png|link=MASTECH MS6252B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MASTECH MS6252B]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Light meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Lutron YK-2005LX.png|link=Lutron YK-2005LX|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Lutron YK-2005LX]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Pce_pce-222_front.png|link=PCE PCE-222|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[PCE PCE-222]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Energy meters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Actaris_a14c5_teleinfo.png|link=EDF Teleinfo|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[EDF Teleinfo]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Acme.png|link=BayLibre ACME|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[BayLibre ACME]] (I2C)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:UM24C_display.jpg|link=RDTech_UM_series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RDTech UM series]] (USB testers)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:UM24C display.jpg|link=RDTech_TC66C|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RDTech TC66C]] (USB tester)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DAQs ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Ni usb 6008.png|link=NI USB-6008|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[NI USB-6008]] (8/2 analog inputs/outputs, 12 digital I/Os)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dataloggers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:EL-USB-CO.png|link=Lascar Electronics EL-USB-CO|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Lascar Electronics EL-USB-CO]] (carbon monoxide (CO) logger, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Testo_435-4.png|link=Testo 435-4|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Testo 435-4]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Gsg_indoor_air_monitor.png|link=GSG Indoor Air Monitor|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[GSG Indoor Air Monitor]] (air quality monitor, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Maul_studio_i.png|link=MAUL studio i|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MAUL studio i]] (weighing scale, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Voltcraft co-20.png|link=Voltcraft CO-20|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft CO-20]] (air quality monitor, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tachometers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Uni-t ut372 mugshot.png|link=UNI-T UT372|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[UNI-T UT372]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scales ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Kern ew-6200-2nm mugshot.png|link=KERN scale series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[KERN scale series]] (RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital loads ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Arachnid Labs ReLoad Pro - Mugshot.png|link=Arachnid Labs Reload Pro|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Arachnid Labs Reload Pro]] (USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Itech It8511plus frontpanel.png|link=ITECH IT8500 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ITECH IT8500 series]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Maynuo m9812 mugshot.png|link=Maynuo M9812|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Maynuo M9812]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ztetech-ebd-usb%2B.png|link=ZKETECH_EBD-USB|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[ZKETECH EBD-USB]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Atten ATZ9711.png|link=ATTEN ATZ9711|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ATTEN ATZ9711]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Function generators ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Rohde&amp;amp;Schwarz SME series|[[file:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz SME series]] (1ch, various, GPIB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol_DG811_frontpanel.png|link=Rigol DG800 Series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DG800 Series]] (1-2ch, 10/25/35MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Rigol DG900 Series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DG900 Series]] (2ch, 50/70/100MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Dg1000z_series.png|link=Rigol DG1000z Series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DG1000z Series]] (2ch, 25/35/60MHz, USB, LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:BG7TBL small.png|link=BG7TBL|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[BG7TBL]] (138MHz-4.4GHz, PC-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DDS-3X25]] (25MHz, PC-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hp_3325a_front.png|link=HO 3325A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HP 3325A]] (20MHz, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Jds6600-mugshot.png|link=Joy-IT JDS6600|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Joy-IT JDS6600]] (60MHz, USB RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:MHINSTEK UDB1305S persp.jpg|link=MHINSTEK UDB1xxxS|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MHINSTEK UDB1xxxS]] (2/5/8MHz, Serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:MHINSTEK MHS-5200A persp.jpg|link=MHINSTEK MHS-5200A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[MHINSTEK MHS-5200A]] (6/12/20/25MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Siglent sdg1010 device front 8116.png|link=Siglent SDG1010|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Siglent SDG1010]] (10MHz, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Velleman PCG10|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Velleman PCG10]] (1MHz, PC-based, LPT)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Frequency counters ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Hantek DDS-3X25 top.png|link=Hantek DDS-3X25|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Hantek DDS-3X25]] (50MHz, PC-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HP 5350B.png|link=HP 5350B|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[HP 5350B]] (10Hz-20GHz, GPIB)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RF receivers ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Per vices noctar.png|link=Per Vices Noctar|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Per Vices Noctar]] (100kHz-4GHz, IQ modulator/demodulator, PCIe)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spectrum analyzers ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Sigrok_logo_no_text_transparent_512.png|link=Siglent SSA3000X series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Siglent SSA3000X series]] (9kHz-2.1GHz, USB, Ethernet)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Power supplies ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Atten PPS3203T-3S.png|link=Atten PPS3203T-3S|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Atten PPS3203T-3S]] (3ch, 2x 0-32V, 1x 0-6V at 0-3A, USB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Chroma_61604_front.png|link=Chroma 61604|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Chroma 61604]] (1ch, 0-300V, 0-16A, 2kVA)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Conrad_digi_35_cpu_logo.png|link=Conrad DIGI 35 CPU|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Conrad DIGI 35 CPU]] (1ch, 0-35V / 0-2.55A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Gwinstek-gpd-3303s.png|link=GW Instek GPD series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[GW Instek GPD series]] (2/3/4ch, 0-30V / 0-3A, USB/serial)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Agilent-66312a-mugshot.png|link=HP 66312A|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 66312A]] (1ch, 0-20V / 0-2A, GPIB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:HP-6632B_mugshot.png|link=HP 6632B|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[HP 6632B]] (1ch, 0-20V / 0-5A, GPIB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Velleman ps3005d mugshot.png|link=Korad KAxxxxP series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Korad KAxxxxP series]] (1ch, 0-30V / 0-5A, USB&amp;amp;RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Manson hcs3202.png|link=Manson HCS-3xxx series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Manson HCS-3xxx series]] (1ch, 1-36V / 0-10A, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Motech_LPS-301_logo.png|link=Motech LPS-301|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Motech LPS-301]] (1ch, 1-32V / 0-2A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Philips PM2813.png|link=Philips PM2800 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;Fluke/Philips PM2800 series&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rdtech-dps.png|link=RDTech DPS series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[RDTech DPS series]] (1ch, various, USB/BT)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Rigol DP832.png|link=Rigol DP800 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rigol DP800 series]]&amp;lt;/small&amp;gt;&lt;br /&gt;
File:rs_hmc8043_mugshot.png|link=Rohde&amp;amp;Schwarz HMC 8043|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMC 8043]] (3ch, 0-32V / 0-3A, USB&amp;amp;LXI)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:rs_hmp4040_mugshot.png|link=Rohde&amp;amp;Schwarz HMP 4000 series|[[File:Nuvola OK.png|16px]] &amp;lt;small&amp;gt;[[Rohde&amp;amp;Schwarz HMP 4000 series]] (3/4ch, 0-32V / 0-10A, USB&amp;amp;LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=Delta Elektronika SM3300 series|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Delta Elektronika SM3300 series]] (1ch, 18V-660V/3.3kW, USB, RS232, RS485, RS422)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Envox_eez_h24005_front_panel.jpg|link=Envox EEZ H24005|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Envox EEZ H24005]] (2ch, USB&amp;amp;LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Envox_eez_bb3_enclosure_prototype.jpg|link=Envox EEZ Bench Box 3|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Envox EEZ Bench Box 3]] (modular power supply platform, USB&amp;amp;LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:RD6006 frontpanel.png|link=Riden RD6006|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Riden RD6006]] (1ch, various, USB/Serial/WiFi)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=Siglent SPD3303 series|[[File:Nuvola Orange.png|16px]] &amp;lt;small&amp;gt;[[Siglent SPD3303 series]] (3ch, 0-32V/0-3.2A, USB, LAN)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Sigrok logo no text transparent 512.png|link=Voltcraft 18220|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Voltcraft 18220]] (1ch, 0-40V/0-5A, RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GPIB interfaces ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Work in progress [[File:Nuvola Orange.png|16px]] / planned [[File:Nuvola Red.png|16px]]:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;100px&amp;quot; heights=&amp;quot;100px&amp;quot;&amp;gt;&lt;br /&gt;
File:Agilent_82357a_top_cover_removed.jpg|link=Agilent_82357A|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Agilent 82357A]] (Hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Ar488-artag-pcb-top.png|link=AR488|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[AR488]] (Arduino based, USB/RS232)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Beiming_s82357.png|link=Beiming S82357|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Beiming S82357]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:ICS 488-USB.png|link=ICS 488-USB|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[ICS 488-USB]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:GPIB-USB 82357B clone.png|link=GPIB-USB 82357B clone|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[GPIB-USB 82357B clone]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:NI GPIB-ENET.png|link=National Instruments GPIB-ENET|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[National Instruments GPIB-ENET]] (hardware-based, Ethernet)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:NI GPIB-USB-HS.png|link=National Instruments GPIB-USB-HS|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[National Instruments GPIB-USB-HS]] (hardware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Prologix-usb.png|link=Prologix GPIB-USB|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Prologix GPIB-USB]] (firmware-based, USB)&amp;lt;/small&amp;gt;&lt;br /&gt;
File:GalvantGPIBUSBrev4.JPG|link=Galvant GPIBUSB|[[File:Nuvola Red.png|16px]] &amp;lt;small&amp;gt;[[Galvant GPIBUSB]] (firmware-based, USB, OSHW)&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Potential other candidates ==&lt;br /&gt;
&lt;br /&gt;
If you own any other logic analyzers, oscilloscopes, multimeters, dataloggers, ... and want to add support for them in sigrok (or donate/lend devices to developers), please let us know. We&amp;#039;re always happy to add more hardware support! Join the [https://lists.sourceforge.net/lists/listinfo/sigrok-devel mailing list] or ask on [irc://chat.freenode.net/sigrok IRC #sigrok] if you want to help out.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Jr-oss</name></author>
	</entry>
</feed>