<?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=Olegch</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=Olegch"/>
	<link rel="alternate" type="text/html" href="https://sigrok.org/wiki/Special:Contributions/Olegch"/>
	<updated>2026-04-23T09:54:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=13599</id>
		<title>Hantek 4032L</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=13599"/>
		<updated>2018-07-30T15:25:35Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Added HW features support status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Hantek 4032l mugshot.png|180px]]&lt;br /&gt;
| name             = Hantek 4032L&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = hantek-4032l&lt;br /&gt;
| channels         = 32&lt;br /&gt;
| samplerate       = 400MHz&lt;br /&gt;
| samplerate_state = ?&lt;br /&gt;
| triggers         = edge, bus value range, pattern, pattern duration, combined&lt;br /&gt;
| voltages         = -6V — +60V input, -6V — +6V threshold&lt;br /&gt;
| memory           = 2Gbit (64M samples x 32)&lt;br /&gt;
| compression      = &amp;amp;mdash;&lt;br /&gt;
| website          = [http://www.hantek.com/en/ProductDetail_16_14.html hantek.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [http://www.hantek.com/en/ProductDetail_16_14.html Hantek 4032L] is a USB-based, 32-channel logic analyzer with up to 400MHz sampling rate and 2Gbit DDR2 memory.&lt;br /&gt;
&lt;br /&gt;
See [[Hantek 4032L/Info]] for more details (such as &amp;#039;&amp;#039;&amp;#039;lsusb -v&amp;#039;&amp;#039;&amp;#039; output) on the device. &lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Xilinx Spartan-6 XC6SLX16 CSG324 DIV1225 (FPGA, 14579 logic cells, 2 DDR1/2/3 memory controllers, BGA324)&lt;br /&gt;
* Cypress FX2LP CY7C68013A-100AXC (USB 2.0 HS controller, TQFP100)&lt;br /&gt;
* 2x Micron MT47H64M16HR-25E:H (1Gbit DDR2 SDRAM, BGA)&lt;br /&gt;
* TI TPS51116 (DDR memory power controller)&lt;br /&gt;
* Unknown I2C EEPROM (marking removed, contains FX2 firmware)&lt;br /&gt;
* MXIC MX25L4005 (4Mbit SPI flash, marking removed, contains FPGA bitstream)&lt;br /&gt;
* DAC122S085CIMM (marking removed, input Vref generators)&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Teardown 1&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Hantek 4032l package.jpg|&amp;lt;small&amp;gt;Package&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l package contents.jpg|&amp;lt;small&amp;gt;Package contents&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l device top.jpg|&amp;lt;small&amp;gt;Device, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l device bottom.jpg|&amp;lt;small&amp;gt;Device, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l usb connector.jpg|&amp;lt;small&amp;gt;USB connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l probe connector.jpg|&amp;lt;small&amp;gt;Probe connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l pcb top.jpg|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l pcb bottom.jpg|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l xilinx xc6slx16.jpg|&amp;lt;small&amp;gt;Xilinx XC6SLX16&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l cypress fx2.jpg|&amp;lt;small&amp;gt;Cypress FX2&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l micron ddr2 sdram2.jpg|&amp;lt;small&amp;gt;DDR2 SDRAM&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l micron ddr2 sdram1.jpg|&amp;lt;small&amp;gt;DDR2 SDRAM&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l tps51116.jpg|&amp;lt;small&amp;gt;TI TPS51116&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l ti tps54286.jpg|&amp;lt;small&amp;gt;TI TPS54286&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l spi flash chip.jpg|&amp;lt;small&amp;gt;SPI flash&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l mornsun a0512s-1wr2.jpg|&amp;lt;small&amp;gt;Mornsun A0512S-1WR2&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l 50mhz crystal.jpg|&amp;lt;small&amp;gt;50MHz crystal&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l unknown chips1.jpg|&amp;lt;small&amp;gt;Unknown chips&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l unknown chips2.jpg|&amp;lt;small&amp;gt;Unknown chips&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l unknown chips3.jpg|&amp;lt;small&amp;gt;Unknown chips&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Teardown 2&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxSideView.png|&amp;lt;small&amp;gt;Device, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxIso.png|&amp;lt;small&amp;gt;Device, with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxPortSide.png|&amp;lt;small&amp;gt;Probe port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxUsbSide.png|&amp;lt;small&amp;gt;PC USB port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbTop.png|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbBottom.png|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
* Vendor request is used to reset the engine and flush the buffers&lt;br /&gt;
* Endpoint 2 is used for host-to-device command/parameters transfers&lt;br /&gt;
* Endpoint 6 is used for device-to-host status/data transfers&lt;br /&gt;
&lt;br /&gt;
X denotes &amp;quot;any value&amp;quot; in the following description&lt;br /&gt;
&lt;br /&gt;
=== Vendor requests ===&lt;br /&gt;
&lt;br /&gt;
* bRequest=0xB3, wValue=X, wIndex=X, wLength=0x0A, data={ 0x0F, 0x03, 0x03, 0x03, X, X, X, X, X, X } - restart the engine (reset FPGA, reset FIFOs)&lt;br /&gt;
* bRequest=0xD0, wValue=X, wIndex=X, wLength=0x00 - disable communication (set FIFO reset), not used&lt;br /&gt;
* bRequest=0xD1, wValue=X, wIndex=X, wLength=0x00 - enable communication (clear FIFO reset), not used&lt;br /&gt;
&lt;br /&gt;
=== Command/Parameters packet ===&lt;br /&gt;
&lt;br /&gt;
  struct CmdParamsPacket&lt;br /&gt;
  &lt;br /&gt;
    byte Magic[2]={ 0x7F, 0x01 }&lt;br /&gt;
  &lt;br /&gt;
    byte SampleRate&lt;br /&gt;
      0x22 - 400MS/s&lt;br /&gt;
      0x23 - 320MS/s&lt;br /&gt;
      0x20 - 200MS/s&lt;br /&gt;
      0x21 - 160MS/s&lt;br /&gt;
      0x00 - 100MS/s&lt;br /&gt;
      0x08 - 80MS/s&lt;br /&gt;
      0x01 - 50MS/s&lt;br /&gt;
      0x09 - 40MS/s&lt;br /&gt;
      0x02 - 25MS/s&lt;br /&gt;
      0x0A - 20MS/s&lt;br /&gt;
      0x03 - 12.5MS/s&lt;br /&gt;
      0x0B - 10MS/s&lt;br /&gt;
      0x04 - 6.25MS/s&lt;br /&gt;
      0x0C - 5MS/s&lt;br /&gt;
      0x10 - 4MS/s&lt;br /&gt;
      0x05 - 3.125MS/s&lt;br /&gt;
      0x0D - 2.5MS/s&lt;br /&gt;
      0x11 - 2MS/s&lt;br /&gt;
      0x06 - 1.5625MS/s&lt;br /&gt;
      0x0E - 1.25MS/s&lt;br /&gt;
      0x12 - 1MS/s&lt;br /&gt;
      0x07 - 781.25KS/s&lt;br /&gt;
      0x0F - 625KS/s&lt;br /&gt;
      0x13 - 500KS/s&lt;br /&gt;
      0x14 - 250KS/s&lt;br /&gt;
      0x15 - 125KS/s&lt;br /&gt;
      0x16 - 62.5KS/s&lt;br /&gt;
      0x17 - 31.25KS/s&lt;br /&gt;
      0x18 - 16KS/s&lt;br /&gt;
      0x19 - 8KS/s&lt;br /&gt;
      0x1A - 4KS/s&lt;br /&gt;
      0x1B - 2KS/s&lt;br /&gt;
      0x1C - 1KS/s&lt;br /&gt;
      0x24 - posedge CLKA&lt;br /&gt;
      0x25 - posedge CLKB&lt;br /&gt;
      0x28 - negedge CLKA&lt;br /&gt;
      0x29 - negedge CLKB&lt;br /&gt;
      0x26 - DDR CLKA&lt;br /&gt;
      0x27 - DDR CLKB&lt;br /&gt;
  &lt;br /&gt;
    byte TrigFlags&lt;br /&gt;
      bit 0 - enable trigger 1 (main)&lt;br /&gt;
      bit 1 - enable trigger 2 (advanced)&lt;br /&gt;
      bit 2 - trigger logic, 0 - T1 or T2, 1 - T1 and T2&lt;br /&gt;
      bit 3 - unknown USBXI sync trigger config, default: 1&lt;br /&gt;
      bit 4 - unknown USBXI sync trigger config, default: 0&lt;br /&gt;
      bit 7 - unknown USBXI &amp;quot;check mode&amp;quot;, default: 0&lt;br /&gt;
  &lt;br /&gt;
    word PwmA - channel A Vref PWM value, pseudocode:&lt;br /&gt;
      -6V &amp;lt; ThresholdVoltage &amp;lt; +6V&lt;br /&gt;
      Vref = 1.8-ThresholdVoltage&lt;br /&gt;
      if Vref&amp;gt;10.0&lt;br /&gt;
        Vref = 10.0&lt;br /&gt;
      if Vref&amp;lt;-5.0&lt;br /&gt;
        Vref = -5.0&lt;br /&gt;
      pwm = ToInt((Vref + 5.0) / 15.0 * 4096.0)&lt;br /&gt;
        if pwm&amp;gt;4095&lt;br /&gt;
        pwm = 4095&lt;br /&gt;
  &lt;br /&gt;
    word PwmB - channel B Vref PWM value&lt;br /&gt;
  &lt;br /&gt;
    byte UsbxiData - unknown USBXI parameter, default: 00&lt;br /&gt;
   &lt;br /&gt;
    byte unused: 00&lt;br /&gt;
  &lt;br /&gt;
    dword SampleDepth - sample depth in bits per channel, 2k-64M, must be multiple of 512&lt;br /&gt;
  &lt;br /&gt;
    dword PretriggerDepth - pretrigger buffer depth in bits, must be &amp;lt; SampleDepth&lt;br /&gt;
  &lt;br /&gt;
    struct Trig Trig1 - trigger 1 config, see below&lt;br /&gt;
  &lt;br /&gt;
    struct Trig Trig2 - trigger 2 config, see below&lt;br /&gt;
  &lt;br /&gt;
    byte Command[2] - command, see &amp;#039;&amp;#039;&amp;#039;Commands and responses&amp;#039;&amp;#039;&amp;#039; below&lt;br /&gt;
&lt;br /&gt;
  struct Trig&lt;br /&gt;
    &lt;br /&gt;
    dword Flags - trigger types selection:&lt;br /&gt;
      bit 4:0 - edge trigger signal, 0-31 -&amp;gt; A0-B15&lt;br /&gt;
      bit 6:5 - edge to trigger on:&lt;br /&gt;
        00 - rise&lt;br /&gt;
        01 - fall&lt;br /&gt;
        10 - rise or fall&lt;br /&gt;
        11 - edge trigger disabled&lt;br /&gt;
      bit 7 - unused&lt;br /&gt;
      bit 9:8 - data range trigger type:&lt;br /&gt;
        00 - data=RangeMax trigger&lt;br /&gt;
        01 - data=RangeMin or data=RangeMax trigger&lt;br /&gt;
        10 - data&amp;lt;RangeMin or data&amp;gt;RangeMax trigger&lt;br /&gt;
        11 - RangeMin&amp;lt;data&amp;lt;RangeMax trigger&lt;br /&gt;
      bit 11:10 - time range trigger type:&lt;br /&gt;
        00 - time=TimeMax trigger&lt;br /&gt;
        01 - time=TimeMin or time=TimeMax trigger&lt;br /&gt;
        10 - time&amp;lt;TimeMin or time&amp;gt;TimeMax trigger&lt;br /&gt;
        11 - TimeMin&amp;lt;time&amp;lt;TimeMax trigger&lt;br /&gt;
      bit 12 - enable data range trigger (see bit 9:8)&lt;br /&gt;
      bit 13 - enable time trigger (see bit 11:10)&lt;br /&gt;
      bit 15:14 - unused&lt;br /&gt;
      bit 17:16 - combined trigger data selection (data=EquData and data_sel matches other criteria like time, range, edge):&lt;br /&gt;
        00 - data_sel is next data (next to matched with EquData)&lt;br /&gt;
        01 - data_sel is current data&lt;br /&gt;
        10 - data_sel is previous data&lt;br /&gt;
        11 - undefined&lt;br /&gt;
      bit 18 - enable combined trigger (see bit 17:16)&lt;br /&gt;
      bit 31:19 - unused&lt;br /&gt;
    &lt;br /&gt;
    dword RangeMin - min value for data range trigger (see Flags[9:8]), must be masked with RangeMask (see Masking below)&lt;br /&gt;
  &lt;br /&gt;
    dword RangeMax - max value for data range trigger (see Flags[9:8]), must be masked with RangeMask&lt;br /&gt;
  &lt;br /&gt;
    dword TimeMin - min value for time trigger (see Flags[11:10])&lt;br /&gt;
  &lt;br /&gt;
    dword TimeMax - max value for time trigger (see Flags[11:10])        &lt;br /&gt;
  &lt;br /&gt;
    dword RangeMask - mask value for data range trigger&lt;br /&gt;
  &lt;br /&gt;
    dword EquMask - mask value for combined trigger&lt;br /&gt;
  &lt;br /&gt;
    dword EquData - data value for combined trigger (see Flags[17:16]), must be masked with EquMask&lt;br /&gt;
&lt;br /&gt;
  Masking:&lt;br /&gt;
    Some trigger types (data range, combined &amp;quot;pattern and condition&amp;quot;) operate on a &amp;quot;bus&amp;quot; value of several signals selected with a mask. Active bits are combined to a single value WITHOUT GAPS:&lt;br /&gt;
      mask=01000011, value=1&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;0100&amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; -&amp;gt; masked_value=00000&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; (bits 6,1,0 are combined and zero-extended)&lt;br /&gt;
&lt;br /&gt;
==== Commands and responses ====&lt;br /&gt;
&lt;br /&gt;
  { 0x1A, 0x2B } - configure and start capture, all parameters are used&lt;br /&gt;
  Response: none&lt;br /&gt;
&lt;br /&gt;
  { 0x3A, 0x4B } - get status, parameters are defaults&lt;br /&gt;
  Response: &lt;br /&gt;
    dword Magic=0x2B1A037F - drop rx data until this)&lt;br /&gt;
    dword CurrentDataValue - A0-B15 current state snapshot&lt;br /&gt;
    dword CaptureStatus - 0-not finished, 1-?, 2-done, data is ready&lt;br /&gt;
    dword UsbxiData - unknown USBXI data&lt;br /&gt;
    dword DevVersion - FPGA firmware version&lt;br /&gt;
    dword DummyData[251] - pad to 1024 bytes&lt;br /&gt;
&lt;br /&gt;
  { 0x5A, 0x6B } - get captured data, parameters are defaults&lt;br /&gt;
  Response:&lt;br /&gt;
    dword Magic=0x2B1A027F - drop rx data until this&lt;br /&gt;
    dword CaptureData[SampleDepth] - capture data&lt;br /&gt;
    dword EndMarker=0x4D3C037F - drop rx data after this till end of 512 byte packet&lt;br /&gt;
&lt;br /&gt;
  { 0x9A, 0xAB } - unknown USBXI &amp;quot;eraser data&amp;quot; cmd, parameters are defaults&lt;br /&gt;
  Response: none&lt;br /&gt;
&lt;br /&gt;
  { 0xBA, 0xCB } - unknown USBXI &amp;quot;set sync trig output&amp;quot; cmd, parameters are defaults&lt;br /&gt;
  Response: none&lt;br /&gt;
&lt;br /&gt;
=== Acquisition session flow ===&lt;br /&gt;
&lt;br /&gt;
* Send restart vendor request (0xB3)&lt;br /&gt;
* Send { 0x1A, 0x2B } type packet to configure and start capture&lt;br /&gt;
* Poll with { 0x3A, 0x4B } until CaptureStatus=2 (optionally blink bus indicators according to CurrentDataValue during poll)&lt;br /&gt;
* Get capture data with { 0x5A, 0x6B }&lt;br /&gt;
&lt;br /&gt;
== Hardware features support status ==&lt;br /&gt;
&lt;br /&gt;
  + Buffered mode acquisition&lt;br /&gt;
  + Sample depth selection&lt;br /&gt;
  + Pretrigger depth selection&lt;br /&gt;
  + Internal clocking (timing mode)&lt;br /&gt;
  + External clocking (state mode) with edge (rising/falling/both) and clock channel (ACLK/BCLK) selection&lt;br /&gt;
  + Logic voltage threshold selection (independent for Axx and Bxx channel groups, possible to analyze dual standrard circuits)&lt;br /&gt;
  + Unconditional trigger&lt;br /&gt;
  + Trigger on signal edge (rising/falling/any)&lt;br /&gt;
  + Trigger on bus pattern match&lt;br /&gt;
  - Trigger on bus value within/out of range&lt;br /&gt;
  - Trigger on bus pattern condition (match/within/out of range) repeating for N consecutive samples&lt;br /&gt;
    where N is equal/within range/out of range&lt;br /&gt;
  - Trigger on bus pattern condition at specific signal edge&lt;br /&gt;
  - Trigger on any of the above conditions combined with pattern match on the previous/current/next sample&lt;br /&gt;
  - Use two trigger units in AND/OR combination&lt;br /&gt;
  - External trigger input/output signals&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L/Info&amp;diff=13598</id>
		<title>Hantek 4032L/Info</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L/Info&amp;diff=13598"/>
		<updated>2018-07-30T14:51:04Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Added USB-powered conersion instruction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== lsusb ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;lsusb -v&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Bus 002 Device 008: ID &amp;#039;&amp;#039;&amp;#039;04b5:4032 ROHM LSI Systems USA, LLC&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Device Descriptor:&lt;br /&gt;
   bLength                18&lt;br /&gt;
   bDescriptorType         1&lt;br /&gt;
   bcdUSB               2.00&lt;br /&gt;
   bDeviceClass            0 (Defined at Interface level)&lt;br /&gt;
   bDeviceSubClass         0 &lt;br /&gt;
   bDeviceProtocol         0 &lt;br /&gt;
   bMaxPacketSize0        64&lt;br /&gt;
   idVendor           0x04b5 &amp;#039;&amp;#039;&amp;#039;ROHM LSI Systems USA, LLC&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   idProduct          0x4032 &lt;br /&gt;
   bcdDevice            0.00&lt;br /&gt;
   iManufacturer           1 &amp;#039;&amp;#039;&amp;#039;ODM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   iProduct                2 &amp;#039;&amp;#039;&amp;#039;LA-4032&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   iSerial                 0 &lt;br /&gt;
   bNumConfigurations      1&lt;br /&gt;
   Configuration Descriptor:&lt;br /&gt;
     bLength                 9&lt;br /&gt;
     bDescriptorType         2&lt;br /&gt;
     wTotalLength           32&lt;br /&gt;
     bNumInterfaces          1&lt;br /&gt;
     bConfigurationValue     1&lt;br /&gt;
     iConfiguration          0 &lt;br /&gt;
     bmAttributes         0xa0&lt;br /&gt;
       (Bus Powered)&lt;br /&gt;
       Remote Wakeup&lt;br /&gt;
     MaxPower              500mA&lt;br /&gt;
     Interface Descriptor:&lt;br /&gt;
       bLength                 9&lt;br /&gt;
       bDescriptorType         4&lt;br /&gt;
       bInterfaceNumber        0&lt;br /&gt;
       bAlternateSetting       0&lt;br /&gt;
       bNumEndpoints           2&lt;br /&gt;
       bInterfaceClass       255 &amp;#039;&amp;#039;&amp;#039;Vendor Specific Class&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       bInterfaceSubClass      0 &lt;br /&gt;
       bInterfaceProtocol      0 &lt;br /&gt;
       iInterface              0 &lt;br /&gt;
       Endpoint Descriptor:&lt;br /&gt;
         bLength                 7&lt;br /&gt;
         bDescriptorType         5&lt;br /&gt;
         bEndpointAddress     0x02  &amp;#039;&amp;#039;&amp;#039;EP 2 OUT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
         bmAttributes            2&lt;br /&gt;
           Transfer Type            &amp;#039;&amp;#039;&amp;#039;Bulk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
           Synch Type               None&lt;br /&gt;
           Usage Type               Data&lt;br /&gt;
         wMaxPacketSize     0x0200  1x 512 bytes&lt;br /&gt;
         bInterval               0&lt;br /&gt;
       Endpoint Descriptor:&lt;br /&gt;
         bLength                 7&lt;br /&gt;
         bDescriptorType         5&lt;br /&gt;
         bEndpointAddress     0x86  &amp;#039;&amp;#039;&amp;#039;EP 6 IN&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
         bmAttributes            2&lt;br /&gt;
           Transfer Type            &amp;#039;&amp;#039;&amp;#039;Bulk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
           Synch Type               None&lt;br /&gt;
           Usage Type               Data&lt;br /&gt;
         wMaxPacketSize     0x0200  1x 512 bytes&lt;br /&gt;
         bInterval               0&lt;br /&gt;
 Device Qualifier (for other device speed):&lt;br /&gt;
   bLength                10&lt;br /&gt;
   bDescriptorType         6&lt;br /&gt;
   bcdUSB               2.00&lt;br /&gt;
   bDeviceClass            0 (Defined at Interface level)&lt;br /&gt;
   bDeviceSubClass         0 &lt;br /&gt;
   bDeviceProtocol         0 &lt;br /&gt;
   bMaxPacketSize0        64&lt;br /&gt;
   bNumConfigurations      1&lt;br /&gt;
 Device Status:     0x0000&lt;br /&gt;
   (Bus Powered)&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another set of USB info (Windows?):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
  Device Descriptor:&lt;br /&gt;
    bcdUSB:             0x0200&lt;br /&gt;
    bDeviceClass:         0x00&lt;br /&gt;
    bDeviceSubClass:      0x00&lt;br /&gt;
    bDeviceProtocol:      0x00&lt;br /&gt;
    bMaxPacketSize0:      0x40 (64)&lt;br /&gt;
    idVendor:           0x04B5 (ROHM LSI Systems USA, LLC)&lt;br /&gt;
    idProduct:          0x4032&lt;br /&gt;
    bcdDevice:          0x0000&lt;br /&gt;
    iManufacturer:        0x01&lt;br /&gt;
        0x0409: &amp;quot;ODM   &amp;quot;&lt;br /&gt;
    iProduct:             0x02&lt;br /&gt;
        0x0409: &amp;quot;LA-4032&amp;quot;&lt;br /&gt;
    iSerialNumber:        0x00&lt;br /&gt;
    bNumConfigurations:   0x01&lt;br /&gt;
  &lt;br /&gt;
  Configuration Descriptor:&lt;br /&gt;
    wTotalLength:       0x0020&lt;br /&gt;
    bNumInterfaces:       0x01&lt;br /&gt;
    bConfigurationValue:  0x01&lt;br /&gt;
    iConfiguration:       0x00&lt;br /&gt;
    bmAttributes:         0xA0 (Bus Powered Remote Wakeup)&lt;br /&gt;
    MaxPower:             0xFA (500 Ma)&lt;br /&gt;
  &lt;br /&gt;
  Interface Descriptor:&lt;br /&gt;
    bInterfaceNumber:     0x00&lt;br /&gt;
    bAlternateSetting:    0x00&lt;br /&gt;
    bNumEndpoints:        0x02&lt;br /&gt;
    bInterfaceClass:      0xFF&lt;br /&gt;
    bInterfaceSubClass:   0x00&lt;br /&gt;
    bInterfaceProtocol:   0x00&lt;br /&gt;
    iInterface:           0x00&lt;br /&gt;
 &lt;br /&gt;
  Endpoint Descriptor:&lt;br /&gt;
    bEndpointAddress:     0x02&lt;br /&gt;
    Transfer Type:        Bulk&lt;br /&gt;
    wMaxPacketSize:     0x0200 (512)&lt;br /&gt;
    bInterval:            0x00&lt;br /&gt;
  &lt;br /&gt;
  Endpoint Descriptor:&lt;br /&gt;
    bEndpointAddress:     0x86&lt;br /&gt;
    Transfer Type:        Bulk&lt;br /&gt;
    wMaxPacketSize:     0x0200 (512)&lt;br /&gt;
    bInterval:            0x00&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pinouts ==&lt;br /&gt;
&lt;br /&gt;
=== JP2 JTAG ===&lt;br /&gt;
&lt;br /&gt;
  XC6SLX16 JTAG port&lt;br /&gt;
  &lt;br /&gt;
  1 - GND&lt;br /&gt;
  2 - TMS&lt;br /&gt;
  3 - TDO&lt;br /&gt;
  4 - TDI&lt;br /&gt;
  5 - TCK&lt;br /&gt;
  6 - +3.3V&lt;br /&gt;
&lt;br /&gt;
=== JP5 WRITE ===&lt;br /&gt;
&lt;br /&gt;
  MX25L4005 write protect disable&lt;br /&gt;
  &lt;br /&gt;
  1 - nWP&lt;br /&gt;
  2 - +3.3V&lt;br /&gt;
&lt;br /&gt;
=== JP6 RST ===&lt;br /&gt;
&lt;br /&gt;
  XC6SLX16 configuration reset&lt;br /&gt;
  &lt;br /&gt;
  1 - PROGRAM_B&lt;br /&gt;
  2 - GND&lt;br /&gt;
&lt;br /&gt;
=== JP7 FLASH_SPI ===&lt;br /&gt;
&lt;br /&gt;
  MX25L4005 ISP&lt;br /&gt;
  &lt;br /&gt;
  1 - +3.3V&lt;br /&gt;
  2 - CK&lt;br /&gt;
  3 - DIN&lt;br /&gt;
  4 - DOUT&lt;br /&gt;
  5 - nCS&lt;br /&gt;
  6 - GND&lt;br /&gt;
&lt;br /&gt;
=== USBXI ===&lt;br /&gt;
&lt;br /&gt;
  USB, external trigger&lt;br /&gt;
&lt;br /&gt;
  Top:&lt;br /&gt;
  1  - n/c&lt;br /&gt;
  2  - n/c&lt;br /&gt;
  3  - n/c&lt;br /&gt;
  4  - n/c&lt;br /&gt;
  5  - n/c&lt;br /&gt;
  6  - n/c&lt;br /&gt;
  7  - n/c&lt;br /&gt;
  KEY&lt;br /&gt;
  8  - GND&lt;br /&gt;
  9  - n/c&lt;br /&gt;
  10 - n/c&lt;br /&gt;
  11 - n/c&lt;br /&gt;
  12 - GND&lt;br /&gt;
  13 - n/c&lt;br /&gt;
  14 - GND&lt;br /&gt;
  15 - USB D+&lt;br /&gt;
  16 - USB D-&lt;br /&gt;
  17 - USB VBUS&lt;br /&gt;
  18 - USB VBUS&lt;br /&gt;
&lt;br /&gt;
  Bottom:&lt;br /&gt;
  1  - n/c&lt;br /&gt;
  2  - n/c&lt;br /&gt;
  3  - n/c&lt;br /&gt;
  4  - n/c&lt;br /&gt;
  5  - n/c&lt;br /&gt;
  6  - n/c&lt;br /&gt;
  7  - n/c&lt;br /&gt;
  KEY&lt;br /&gt;
  8  - n/c&lt;br /&gt;
  9  - n/c&lt;br /&gt;
  10 - n/c&lt;br /&gt;
  11 - ExtTrigOut LVCMOS3V3&lt;br /&gt;
  12 - ExtTrigIn  LVCMOS3V3&lt;br /&gt;
  13 - GND&lt;br /&gt;
  14 - n/c&lt;br /&gt;
  15 - n/c&lt;br /&gt;
  16 - GND&lt;br /&gt;
  17 - n/c&lt;br /&gt;
  18 - n/c&lt;br /&gt;
&lt;br /&gt;
== Modding ==&lt;br /&gt;
&lt;br /&gt;
In stock configuration both FX2LP and FPGA boots from their serial EEPROMs, but with a small hw patch it is possible to boot both parts from PC:&lt;br /&gt;
* lift U3 pin 5 to disable FX2LP EEPROM boot&lt;br /&gt;
* remove R102 and solder it between R102&amp;#039;s left pad (this is FPGA&amp;#039;s M1 pin) and C135&amp;#039;s left pad (this is Vcc) to switch FPGA config mode to Slave Serial. FX2LP&amp;#039;s PC5 is FPGA&amp;#039;s PROGRAM_B, PC3 is DATA, PC1 is CLOCK, PC0 must be driven high (this is SPI FLASH nCS)&lt;br /&gt;
&lt;br /&gt;
4032L&amp;#039;s current consumption is well within the 0.5A USB 2.0 limit, so it&amp;#039;s possible to toss the wall brick and convert the LA to USB power:&lt;br /&gt;
* solder a jumper in unpopulated R279 position&lt;br /&gt;
* cover the external power connector with some sticker to prevent simultaneous power accidents&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L/Info&amp;diff=13597</id>
		<title>Hantek 4032L/Info</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L/Info&amp;diff=13597"/>
		<updated>2018-07-30T14:45:16Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Added USBXI connector pinout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== lsusb ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;lsusb -v&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Bus 002 Device 008: ID &amp;#039;&amp;#039;&amp;#039;04b5:4032 ROHM LSI Systems USA, LLC&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Device Descriptor:&lt;br /&gt;
   bLength                18&lt;br /&gt;
   bDescriptorType         1&lt;br /&gt;
   bcdUSB               2.00&lt;br /&gt;
   bDeviceClass            0 (Defined at Interface level)&lt;br /&gt;
   bDeviceSubClass         0 &lt;br /&gt;
   bDeviceProtocol         0 &lt;br /&gt;
   bMaxPacketSize0        64&lt;br /&gt;
   idVendor           0x04b5 &amp;#039;&amp;#039;&amp;#039;ROHM LSI Systems USA, LLC&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   idProduct          0x4032 &lt;br /&gt;
   bcdDevice            0.00&lt;br /&gt;
   iManufacturer           1 &amp;#039;&amp;#039;&amp;#039;ODM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   iProduct                2 &amp;#039;&amp;#039;&amp;#039;LA-4032&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   iSerial                 0 &lt;br /&gt;
   bNumConfigurations      1&lt;br /&gt;
   Configuration Descriptor:&lt;br /&gt;
     bLength                 9&lt;br /&gt;
     bDescriptorType         2&lt;br /&gt;
     wTotalLength           32&lt;br /&gt;
     bNumInterfaces          1&lt;br /&gt;
     bConfigurationValue     1&lt;br /&gt;
     iConfiguration          0 &lt;br /&gt;
     bmAttributes         0xa0&lt;br /&gt;
       (Bus Powered)&lt;br /&gt;
       Remote Wakeup&lt;br /&gt;
     MaxPower              500mA&lt;br /&gt;
     Interface Descriptor:&lt;br /&gt;
       bLength                 9&lt;br /&gt;
       bDescriptorType         4&lt;br /&gt;
       bInterfaceNumber        0&lt;br /&gt;
       bAlternateSetting       0&lt;br /&gt;
       bNumEndpoints           2&lt;br /&gt;
       bInterfaceClass       255 &amp;#039;&amp;#039;&amp;#039;Vendor Specific Class&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       bInterfaceSubClass      0 &lt;br /&gt;
       bInterfaceProtocol      0 &lt;br /&gt;
       iInterface              0 &lt;br /&gt;
       Endpoint Descriptor:&lt;br /&gt;
         bLength                 7&lt;br /&gt;
         bDescriptorType         5&lt;br /&gt;
         bEndpointAddress     0x02  &amp;#039;&amp;#039;&amp;#039;EP 2 OUT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
         bmAttributes            2&lt;br /&gt;
           Transfer Type            &amp;#039;&amp;#039;&amp;#039;Bulk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
           Synch Type               None&lt;br /&gt;
           Usage Type               Data&lt;br /&gt;
         wMaxPacketSize     0x0200  1x 512 bytes&lt;br /&gt;
         bInterval               0&lt;br /&gt;
       Endpoint Descriptor:&lt;br /&gt;
         bLength                 7&lt;br /&gt;
         bDescriptorType         5&lt;br /&gt;
         bEndpointAddress     0x86  &amp;#039;&amp;#039;&amp;#039;EP 6 IN&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
         bmAttributes            2&lt;br /&gt;
           Transfer Type            &amp;#039;&amp;#039;&amp;#039;Bulk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
           Synch Type               None&lt;br /&gt;
           Usage Type               Data&lt;br /&gt;
         wMaxPacketSize     0x0200  1x 512 bytes&lt;br /&gt;
         bInterval               0&lt;br /&gt;
 Device Qualifier (for other device speed):&lt;br /&gt;
   bLength                10&lt;br /&gt;
   bDescriptorType         6&lt;br /&gt;
   bcdUSB               2.00&lt;br /&gt;
   bDeviceClass            0 (Defined at Interface level)&lt;br /&gt;
   bDeviceSubClass         0 &lt;br /&gt;
   bDeviceProtocol         0 &lt;br /&gt;
   bMaxPacketSize0        64&lt;br /&gt;
   bNumConfigurations      1&lt;br /&gt;
 Device Status:     0x0000&lt;br /&gt;
   (Bus Powered)&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another set of USB info (Windows?):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
  Device Descriptor:&lt;br /&gt;
    bcdUSB:             0x0200&lt;br /&gt;
    bDeviceClass:         0x00&lt;br /&gt;
    bDeviceSubClass:      0x00&lt;br /&gt;
    bDeviceProtocol:      0x00&lt;br /&gt;
    bMaxPacketSize0:      0x40 (64)&lt;br /&gt;
    idVendor:           0x04B5 (ROHM LSI Systems USA, LLC)&lt;br /&gt;
    idProduct:          0x4032&lt;br /&gt;
    bcdDevice:          0x0000&lt;br /&gt;
    iManufacturer:        0x01&lt;br /&gt;
        0x0409: &amp;quot;ODM   &amp;quot;&lt;br /&gt;
    iProduct:             0x02&lt;br /&gt;
        0x0409: &amp;quot;LA-4032&amp;quot;&lt;br /&gt;
    iSerialNumber:        0x00&lt;br /&gt;
    bNumConfigurations:   0x01&lt;br /&gt;
  &lt;br /&gt;
  Configuration Descriptor:&lt;br /&gt;
    wTotalLength:       0x0020&lt;br /&gt;
    bNumInterfaces:       0x01&lt;br /&gt;
    bConfigurationValue:  0x01&lt;br /&gt;
    iConfiguration:       0x00&lt;br /&gt;
    bmAttributes:         0xA0 (Bus Powered Remote Wakeup)&lt;br /&gt;
    MaxPower:             0xFA (500 Ma)&lt;br /&gt;
  &lt;br /&gt;
  Interface Descriptor:&lt;br /&gt;
    bInterfaceNumber:     0x00&lt;br /&gt;
    bAlternateSetting:    0x00&lt;br /&gt;
    bNumEndpoints:        0x02&lt;br /&gt;
    bInterfaceClass:      0xFF&lt;br /&gt;
    bInterfaceSubClass:   0x00&lt;br /&gt;
    bInterfaceProtocol:   0x00&lt;br /&gt;
    iInterface:           0x00&lt;br /&gt;
 &lt;br /&gt;
  Endpoint Descriptor:&lt;br /&gt;
    bEndpointAddress:     0x02&lt;br /&gt;
    Transfer Type:        Bulk&lt;br /&gt;
    wMaxPacketSize:     0x0200 (512)&lt;br /&gt;
    bInterval:            0x00&lt;br /&gt;
  &lt;br /&gt;
  Endpoint Descriptor:&lt;br /&gt;
    bEndpointAddress:     0x86&lt;br /&gt;
    Transfer Type:        Bulk&lt;br /&gt;
    wMaxPacketSize:     0x0200 (512)&lt;br /&gt;
    bInterval:            0x00&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pinouts ==&lt;br /&gt;
&lt;br /&gt;
=== JP2 JTAG ===&lt;br /&gt;
&lt;br /&gt;
  XC6SLX16 JTAG port&lt;br /&gt;
  &lt;br /&gt;
  1 - GND&lt;br /&gt;
  2 - TMS&lt;br /&gt;
  3 - TDO&lt;br /&gt;
  4 - TDI&lt;br /&gt;
  5 - TCK&lt;br /&gt;
  6 - +3.3V&lt;br /&gt;
&lt;br /&gt;
=== JP5 WRITE ===&lt;br /&gt;
&lt;br /&gt;
  MX25L4005 write protect disable&lt;br /&gt;
  &lt;br /&gt;
  1 - nWP&lt;br /&gt;
  2 - +3.3V&lt;br /&gt;
&lt;br /&gt;
=== JP6 RST ===&lt;br /&gt;
&lt;br /&gt;
  XC6SLX16 configuration reset&lt;br /&gt;
  &lt;br /&gt;
  1 - PROGRAM_B&lt;br /&gt;
  2 - GND&lt;br /&gt;
&lt;br /&gt;
=== JP7 FLASH_SPI ===&lt;br /&gt;
&lt;br /&gt;
  MX25L4005 ISP&lt;br /&gt;
  &lt;br /&gt;
  1 - +3.3V&lt;br /&gt;
  2 - CK&lt;br /&gt;
  3 - DIN&lt;br /&gt;
  4 - DOUT&lt;br /&gt;
  5 - nCS&lt;br /&gt;
  6 - GND&lt;br /&gt;
&lt;br /&gt;
=== USBXI ===&lt;br /&gt;
&lt;br /&gt;
  USB, external trigger&lt;br /&gt;
&lt;br /&gt;
  Top:&lt;br /&gt;
  1  - n/c&lt;br /&gt;
  2  - n/c&lt;br /&gt;
  3  - n/c&lt;br /&gt;
  4  - n/c&lt;br /&gt;
  5  - n/c&lt;br /&gt;
  6  - n/c&lt;br /&gt;
  7  - n/c&lt;br /&gt;
  KEY&lt;br /&gt;
  8  - GND&lt;br /&gt;
  9  - n/c&lt;br /&gt;
  10 - n/c&lt;br /&gt;
  11 - n/c&lt;br /&gt;
  12 - GND&lt;br /&gt;
  13 - n/c&lt;br /&gt;
  14 - GND&lt;br /&gt;
  15 - USB D+&lt;br /&gt;
  16 - USB D-&lt;br /&gt;
  17 - USB VBUS&lt;br /&gt;
  18 - USB VBUS&lt;br /&gt;
&lt;br /&gt;
  Bottom:&lt;br /&gt;
  1  - n/c&lt;br /&gt;
  2  - n/c&lt;br /&gt;
  3  - n/c&lt;br /&gt;
  4  - n/c&lt;br /&gt;
  5  - n/c&lt;br /&gt;
  6  - n/c&lt;br /&gt;
  7  - n/c&lt;br /&gt;
  KEY&lt;br /&gt;
  8  - n/c&lt;br /&gt;
  9  - n/c&lt;br /&gt;
  10 - n/c&lt;br /&gt;
  11 - ExtTrigOut LVCMOS3V3&lt;br /&gt;
  12 - ExtTrigIn  LVCMOS3V3&lt;br /&gt;
  13 - GND&lt;br /&gt;
  14 - n/c&lt;br /&gt;
  15 - n/c&lt;br /&gt;
  16 - GND&lt;br /&gt;
  17 - n/c&lt;br /&gt;
  18 - n/c&lt;br /&gt;
&lt;br /&gt;
== Modding ==&lt;br /&gt;
&lt;br /&gt;
In stock configuration both FX2LP and FPGA boots from their serial EEPROMs, but with a small hw patch it is possible to boot both parts from PC:&lt;br /&gt;
* lift U3 pin 5 to disable FX2LP EEPROM boot&lt;br /&gt;
* remove R102 and solder it between R102&amp;#039;s left pad (this is FPGA&amp;#039;s M1 pin) and C135&amp;#039;s left pad (this is Vcc) to switch FPGA config mode to Slave Serial. FX2LP&amp;#039;s PC5 is FPGA&amp;#039;s PROGRAM_B, PC3 is DATA, PC1 is CLOCK, PC0 must be driven high (this is SPI FLASH nCS)&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=13361</id>
		<title>Hantek 4032L</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=13361"/>
		<updated>2018-03-23T10:58:12Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Updated protocol description to match v1.03 software, removed outdated OneDrive link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Hantek 4032l mugshot.png|180px]]&lt;br /&gt;
| name             = Hantek 4032L&lt;br /&gt;
| status           = supported&lt;br /&gt;
| source_code_dir  = hantek-4032l&lt;br /&gt;
| channels         = 32&lt;br /&gt;
| samplerate       = 400MHz&lt;br /&gt;
| samplerate_state = ?&lt;br /&gt;
| triggers         = edge, bus value range, pattern, pattern duration, combined&lt;br /&gt;
| voltages         = -6V — +60V input, -6V — +6V threshold&lt;br /&gt;
| memory           = 2Gbit (64M samples x 32)&lt;br /&gt;
| compression      = &amp;amp;mdash;&lt;br /&gt;
| website          = [http://www.hantek.com/en/ProductDetail_16_14.html hantek.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [http://www.hantek.com/en/ProductDetail_16_14.html Hantek 4032L] is a USB-based, 32-channel logic analyzer with up to 400MHz sampling rate and 2Gbit DDR2 memory.&lt;br /&gt;
&lt;br /&gt;
See [[Hantek 4032L/Info]] for more details (such as &amp;#039;&amp;#039;&amp;#039;lsusb -v&amp;#039;&amp;#039;&amp;#039; output) on the device. &lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Xilinx Spartan-6 XC6SLX16 CSG324 DIV1225 (FPGA, 14579 logic cells, 2 DDR1/2/3 memory controllers, BGA324)&lt;br /&gt;
* Cypress FX2LP CY7C68013A-100AXC (USB 2.0 HS controller, TQFP100)&lt;br /&gt;
* 2x Micron MT47H64M16HR-25E:H (1Gbit DDR2 SDRAM, BGA)&lt;br /&gt;
* TI TPS51116 (DDR memory power controller)&lt;br /&gt;
* Unknown I2C EEPROM (marking removed, contains FX2 firmware)&lt;br /&gt;
* MXIC MX25L4005 (4Mbit SPI flash, marking removed, contains FPGA bitstream)&lt;br /&gt;
* DAC122S085CIMM (marking removed, input Vref generators)&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Teardown 1&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Hantek 4032l package.jpg|&amp;lt;small&amp;gt;Package&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l package contents.jpg|&amp;lt;small&amp;gt;Package contents&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l device top.jpg|&amp;lt;small&amp;gt;Device, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l device bottom.jpg|&amp;lt;small&amp;gt;Device, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l usb connector.jpg|&amp;lt;small&amp;gt;USB connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l probe connector.jpg|&amp;lt;small&amp;gt;Probe connector&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l pcb top.jpg|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l pcb bottom.jpg|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l xilinx xc6slx16.jpg|&amp;lt;small&amp;gt;Xilinx XC6SLX16&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l cypress fx2.jpg|&amp;lt;small&amp;gt;Cypress FX2&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l micron ddr2 sdram2.jpg|&amp;lt;small&amp;gt;DDR2 SDRAM&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l micron ddr2 sdram1.jpg|&amp;lt;small&amp;gt;DDR2 SDRAM&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l tps51116.jpg|&amp;lt;small&amp;gt;TI TPS51116&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l ti tps54286.jpg|&amp;lt;small&amp;gt;TI TPS54286&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l spi flash chip.jpg|&amp;lt;small&amp;gt;SPI flash&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l mornsun a0512s-1wr2.jpg|&amp;lt;small&amp;gt;Mornsun A0512S-1WR2&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l 50mhz crystal.jpg|&amp;lt;small&amp;gt;50MHz crystal&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l unknown chips1.jpg|&amp;lt;small&amp;gt;Unknown chips&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l unknown chips2.jpg|&amp;lt;small&amp;gt;Unknown chips&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek 4032l unknown chips3.jpg|&amp;lt;small&amp;gt;Unknown chips&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Teardown 2&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxSideView.png|&amp;lt;small&amp;gt;Device, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxIso.png|&amp;lt;small&amp;gt;Device, with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxPortSide.png|&amp;lt;small&amp;gt;Probe port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxUsbSide.png|&amp;lt;small&amp;gt;PC USB port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbTop.png|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbBottom.png|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
* Vendor request is used to reset the engine and flush the buffers&lt;br /&gt;
* Endpoint 2 is used for host-to-device command/parameters transfers&lt;br /&gt;
* Endpoint 6 is used for device-to-host status/data transfers&lt;br /&gt;
&lt;br /&gt;
X denotes &amp;quot;any value&amp;quot; in the following description&lt;br /&gt;
&lt;br /&gt;
=== Vendor requests ===&lt;br /&gt;
&lt;br /&gt;
* bRequest=0xB3, wValue=X, wIndex=X, wLength=0x0A, data={ 0x0F, 0x03, 0x03, 0x03, X, X, X, X, X, X } - restart the engine (reset FPGA, reset FIFOs)&lt;br /&gt;
* bRequest=0xD0, wValue=X, wIndex=X, wLength=0x00 - disable communication (set FIFO reset), not used&lt;br /&gt;
* bRequest=0xD1, wValue=X, wIndex=X, wLength=0x00 - enable communication (clear FIFO reset), not used&lt;br /&gt;
&lt;br /&gt;
=== Command/Parameters packet ===&lt;br /&gt;
&lt;br /&gt;
  struct CmdParamsPacket&lt;br /&gt;
  &lt;br /&gt;
    byte Magic[2]={ 0x7F, 0x01 }&lt;br /&gt;
  &lt;br /&gt;
    byte SampleRate&lt;br /&gt;
      0x22 - 400MS/s&lt;br /&gt;
      0x23 - 320MS/s&lt;br /&gt;
      0x20 - 200MS/s&lt;br /&gt;
      0x21 - 160MS/s&lt;br /&gt;
      0x00 - 100MS/s&lt;br /&gt;
      0x08 - 80MS/s&lt;br /&gt;
      0x01 - 50MS/s&lt;br /&gt;
      0x09 - 40MS/s&lt;br /&gt;
      0x02 - 25MS/s&lt;br /&gt;
      0x0A - 20MS/s&lt;br /&gt;
      0x03 - 12.5MS/s&lt;br /&gt;
      0x0B - 10MS/s&lt;br /&gt;
      0x04 - 6.25MS/s&lt;br /&gt;
      0x0C - 5MS/s&lt;br /&gt;
      0x10 - 4MS/s&lt;br /&gt;
      0x05 - 3.125MS/s&lt;br /&gt;
      0x0D - 2.5MS/s&lt;br /&gt;
      0x11 - 2MS/s&lt;br /&gt;
      0x06 - 1.5625MS/s&lt;br /&gt;
      0x0E - 1.25MS/s&lt;br /&gt;
      0x12 - 1MS/s&lt;br /&gt;
      0x07 - 781.25KS/s&lt;br /&gt;
      0x0F - 625KS/s&lt;br /&gt;
      0x13 - 500KS/s&lt;br /&gt;
      0x14 - 250KS/s&lt;br /&gt;
      0x15 - 125KS/s&lt;br /&gt;
      0x16 - 62.5KS/s&lt;br /&gt;
      0x17 - 31.25KS/s&lt;br /&gt;
      0x18 - 16KS/s&lt;br /&gt;
      0x19 - 8KS/s&lt;br /&gt;
      0x1A - 4KS/s&lt;br /&gt;
      0x1B - 2KS/s&lt;br /&gt;
      0x1C - 1KS/s&lt;br /&gt;
      0x24 - posedge CLKA&lt;br /&gt;
      0x25 - posedge CLKB&lt;br /&gt;
      0x28 - negedge CLKA&lt;br /&gt;
      0x29 - negedge CLKB&lt;br /&gt;
      0x26 - DDR CLKA&lt;br /&gt;
      0x27 - DDR CLKB&lt;br /&gt;
  &lt;br /&gt;
    byte TrigFlags&lt;br /&gt;
      bit 0 - enable trigger 1 (main)&lt;br /&gt;
      bit 1 - enable trigger 2 (advanced)&lt;br /&gt;
      bit 2 - trigger logic, 0 - T1 or T2, 1 - T1 and T2&lt;br /&gt;
      bit 3 - unknown USBXI sync trigger config, default: 1&lt;br /&gt;
      bit 4 - unknown USBXI sync trigger config, default: 0&lt;br /&gt;
      bit 7 - unknown USBXI &amp;quot;check mode&amp;quot;, default: 0&lt;br /&gt;
  &lt;br /&gt;
    word PwmA - channel A Vref PWM value, pseudocode:&lt;br /&gt;
      -6V &amp;lt; ThresholdVoltage &amp;lt; +6V&lt;br /&gt;
      Vref = 1.8-ThresholdVoltage&lt;br /&gt;
      if Vref&amp;gt;10.0&lt;br /&gt;
        Vref = 10.0&lt;br /&gt;
      if Vref&amp;lt;-5.0&lt;br /&gt;
        Vref = -5.0&lt;br /&gt;
      pwm = ToInt((Vref + 5.0) / 15.0 * 4096.0)&lt;br /&gt;
        if pwm&amp;gt;4095&lt;br /&gt;
        pwm = 4095&lt;br /&gt;
  &lt;br /&gt;
    word PwmB - channel B Vref PWM value&lt;br /&gt;
  &lt;br /&gt;
    byte UsbxiData - unknown USBXI parameter, default: 00&lt;br /&gt;
   &lt;br /&gt;
    byte unused: 00&lt;br /&gt;
  &lt;br /&gt;
    dword SampleDepth - sample depth in bits per channel, 2k-64M, must be multiple of 512&lt;br /&gt;
  &lt;br /&gt;
    dword PretriggerDepth - pretrigger buffer depth in bits, must be &amp;lt; SampleDepth&lt;br /&gt;
  &lt;br /&gt;
    struct Trig Trig1 - trigger 1 config, see below&lt;br /&gt;
  &lt;br /&gt;
    struct Trig Trig2 - trigger 2 config, see below&lt;br /&gt;
  &lt;br /&gt;
    byte Command[2] - command, see &amp;#039;&amp;#039;&amp;#039;Commands and responses&amp;#039;&amp;#039;&amp;#039; below&lt;br /&gt;
&lt;br /&gt;
  struct Trig&lt;br /&gt;
    &lt;br /&gt;
    dword Flags - trigger types selection:&lt;br /&gt;
      bit 4:0 - edge trigger signal, 0-31 -&amp;gt; A0-B15&lt;br /&gt;
      bit 6:5 - edge to trigger on:&lt;br /&gt;
        00 - rise&lt;br /&gt;
        01 - fall&lt;br /&gt;
        10 - rise or fall&lt;br /&gt;
        11 - edge trigger disabled&lt;br /&gt;
      bit 7 - unused&lt;br /&gt;
      bit 9:8 - data range trigger type:&lt;br /&gt;
        00 - data=RangeMax trigger&lt;br /&gt;
        01 - data=RangeMin or data=RangeMax trigger&lt;br /&gt;
        10 - data&amp;lt;RangeMin or data&amp;gt;RangeMax trigger&lt;br /&gt;
        11 - RangeMin&amp;lt;data&amp;lt;RangeMax trigger&lt;br /&gt;
      bit 11:10 - time range trigger type:&lt;br /&gt;
        00 - time=TimeMax trigger&lt;br /&gt;
        01 - time=TimeMin or time=TimeMax trigger&lt;br /&gt;
        10 - time&amp;lt;TimeMin or time&amp;gt;TimeMax trigger&lt;br /&gt;
        11 - TimeMin&amp;lt;time&amp;lt;TimeMax trigger&lt;br /&gt;
      bit 12 - enable data range trigger (see bit 9:8)&lt;br /&gt;
      bit 13 - enable time trigger (see bit 11:10)&lt;br /&gt;
      bit 15:14 - unused&lt;br /&gt;
      bit 17:16 - combined trigger data selection (data=EquData and data_sel matches other criteria like time, range, edge):&lt;br /&gt;
        00 - data_sel is next data (next to matched with EquData)&lt;br /&gt;
        01 - data_sel is current data&lt;br /&gt;
        10 - data_sel is previous data&lt;br /&gt;
        11 - undefined&lt;br /&gt;
      bit 18 - enable combined trigger (see bit 17:16)&lt;br /&gt;
      bit 31:19 - unused&lt;br /&gt;
    &lt;br /&gt;
    dword RangeMin - min value for data range trigger (see Flags[9:8]), must be masked with RangeMask (see Masking below)&lt;br /&gt;
  &lt;br /&gt;
    dword RangeMax - max value for data range trigger (see Flags[9:8]), must be masked with RangeMask&lt;br /&gt;
  &lt;br /&gt;
    dword TimeMin - min value for time trigger (see Flags[11:10])&lt;br /&gt;
  &lt;br /&gt;
    dword TimeMax - max value for time trigger (see Flags[11:10])        &lt;br /&gt;
  &lt;br /&gt;
    dword RangeMask - mask value for data range trigger&lt;br /&gt;
  &lt;br /&gt;
    dword EquMask - mask value for combined trigger&lt;br /&gt;
  &lt;br /&gt;
    dword EquData - data value for combined trigger (see Flags[17:16]), must be masked with EquMask&lt;br /&gt;
&lt;br /&gt;
  Masking:&lt;br /&gt;
    Some trigger types (data range, combined &amp;quot;pattern and condition&amp;quot;) operate on a &amp;quot;bus&amp;quot; value of several signals selected with a mask. Active bits are combined to a single value WITHOUT GAPS:&lt;br /&gt;
      mask=01000011, value=1&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;0100&amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; -&amp;gt; masked_value=00000&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; (bits 6,1,0 are combined and zero-extended)&lt;br /&gt;
&lt;br /&gt;
==== Commands and responses ====&lt;br /&gt;
&lt;br /&gt;
  { 0x1A, 0x2B } - configure and start capture, all parameters are used&lt;br /&gt;
  Response: none&lt;br /&gt;
&lt;br /&gt;
  { 0x3A, 0x4B } - get status, parameters are defaults&lt;br /&gt;
  Response: &lt;br /&gt;
    dword Magic=0x2B1A037F - drop rx data until this)&lt;br /&gt;
    dword CurrentDataValue - A0-B15 current state snapshot&lt;br /&gt;
    dword CaptureStatus - 0-not finished, 1-?, 2-done, data is ready&lt;br /&gt;
    dword UsbxiData - unknown USBXI data&lt;br /&gt;
    dword DevVersion - FPGA firmware version&lt;br /&gt;
    dword DummyData[251] - pad to 1024 bytes&lt;br /&gt;
&lt;br /&gt;
  { 0x5A, 0x6B } - get captured data, parameters are defaults&lt;br /&gt;
  Response:&lt;br /&gt;
    dword Magic=0x2B1A027F - drop rx data until this&lt;br /&gt;
    dword CaptureData[SampleDepth] - capture data&lt;br /&gt;
    dword EndMarker=0x4D3C037F - drop rx data after this till end of 512 byte packet&lt;br /&gt;
&lt;br /&gt;
  { 0x9A, 0xAB } - unknown USBXI &amp;quot;eraser data&amp;quot; cmd, parameters are defaults&lt;br /&gt;
  Response: none&lt;br /&gt;
&lt;br /&gt;
  { 0xBA, 0xCB } - unknown USBXI &amp;quot;set sync trig output&amp;quot; cmd, parameters are defaults&lt;br /&gt;
  Response: none&lt;br /&gt;
&lt;br /&gt;
=== Acquisition session flow ===&lt;br /&gt;
&lt;br /&gt;
* Send restart vendor request (0xB3)&lt;br /&gt;
* Send { 0x1A, 0x2B } type packet to configure and start capture&lt;br /&gt;
* Poll with { 0x3A, 0x4B } until CaptureStatus=2 (optionally blink bus indicators according to CurrentDataValue during poll)&lt;br /&gt;
* Get capture data with { 0x5A, 0x6B }&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Supported]]&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=6451</id>
		<title>Supported hardware</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=6451"/>
		<updated>2013-05-22T17:48:48Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Moved Hantek 4032L into correct alphabetical position&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) and devices we plan to support in the near future.&lt;br /&gt;
&lt;br /&gt;
The lists are sorted by category (&amp;lt;span style=&amp;quot;background-color: lime&amp;quot;&amp;gt;supported&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;in progress&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;planned&amp;lt;/span&amp;gt;), and alphabetically within those categories.&lt;br /&gt;
&lt;br /&gt;
== Logic analyzers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ARMFLY Mini-Logic|File:ARMFLY MINI LOGIC.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ASIX SIGMA|File:Sigma2_2.png|is a USB-based, 16-channel logic analyzer with up to 200MHz sampling rate, and with 256Mbit on-board memory.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Braintechnology USB Interface V2.x|File:Braintechnology_usb_interface_v26.png|is a Cypress FX2 eval board, which can be used as USB-based, 16-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Braintechnology USB-LPS|File:Braintechnology_usb_lps.png|is a USB-based, 16-channel logic analyzer (and signal generator) with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ChronoVu LA8|File:Chronovu la8 front.png|is a USB-based, 8-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|CWAV USBee SX|File:Cwav_usbee_sx.png|is a USB-based, 8-channel logic analyzer (and signal generator) with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Dangerous Prototypes Buspirate|File:Buspirate_v3.png|is a USB-based, 5-channel logic analyzer with up to 1MHz sampling rate. It uses the [http://dangerousprototypes.com/docs/The_Logic_Sniffer%27s_extended_SUMP_protocol extended SUMP protocol].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The Buspirate supports a logic analyzer mode and can thus be used for sample captures, however only at low speeds.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|EE Electronics ESLA100|File:Eeelec xla esla100.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lcsoft Mini Board|File:Lcsoft-miniboard-front.png|is a Cypress FX2 eval board, which can be used as USB-based, 16-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Logic Shrimp|File:logic-shrimp-front.png|is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate. It uses the [http://dangerousprototypes.com/docs/The_Logic_Sniffer%27s_extended_SUMP_protocol extended SUMP protocol].}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MCU123 Saleae Logic clone|File:Mcu123 saleae logic clone.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MCU123 USBee AX Pro clone|File:Usbee_ax_clone_front.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Openbench Logic Sniffer|File:Openbench logic sniffer front.png|(OLS) is a USB-based (and FPGA-based), 32-channel logic analyzer with up to 100MHz sampling rate and advanced trigger functionality. It is a fully open source device &amp;amp;mdash; the circuit design, VHDL code for the FPGA, firmware for the PIC microcontroller and Java-based client software are all freely available. It uses the [http://dangerousprototypes.com/docs/The_Logic_Sniffer%27s_extended_SUMP_protocol extended SUMP protocol].}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Robomotic BugLogic 3|File:Robomotic buglogic3.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Robomotic MiniLogic|File:Robomotic_minilogic.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Saleae Logic|File:Saleae Logic.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ZEROPLUS Logic Cube LAP-C(16032)|File:Zeroplus Logic Cube.png| is a USB-based, 16-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ZEROPLUS LAP-16128U|File:Zeroplus_lap-16128u.png|is a USB-based, 16-channel logic analyzer with up to 200MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|RockyLogic Ant8|File:Rockylogic_ant8.png|is a USB-based, 8-channel logic analyzer with up to 500MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|RockyLogic Ant18e|File:RockyLogic Ant18e.png|is a USB-based, 18-channel logic analyzer with up to 1GHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Acute PKLA-1216|File:Acute_pkla1216.png|is a USB-based, 16-channel logic analyzer with up to 200MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek 4032L|File:Hantek4032L_BoxSideView.png|is a USB-based, 32-channel, 400MHz logic analyzer with 2Gbit memory.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Ideofy LA-08|File:Ideofy_la_08.png|is a USB-based, 8-channel logic analyzer with a max. samplerate of 96Msps@2ch (or 60msps@4ch, or 30msps@8ch).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Ikalogic SCANALOGIC-2 PRO|File:Ikalogic_scanalogic2.png|is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Intronix Logicport LA1034|File:Intronix Logicport.png|is a USB-based (and FPGA-based), 34-channel logic analyzer with up to 500MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Link Instruments LA-5580|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 80-channel logic analyzer with up to 500MHz samplerate. There&amp;#039;s an optional pattern generator pod with 100 Mpoints/s.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Microchip PICkit2|File:Microchip_pickit2.png|is a USB-based, 3-channel logic analyzer with up to 1MHz sampling rate.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The PICkit2 is actually a programmer/debugger for PIC microcontrollers, but it can also be used as logic analyzer.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MiniLA Mockup|File:Minila_mockup.png|is a USB-based, 32-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Saleae Logic16|File:Saleae_Logic16_bottom.png|is a USB-based, 16-channel logic analyzer with 100/50/25/12.5MHz sampling rate (at 2/4/8/16 enabled channels).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Sysclk LWLA1016|File:Sysclk lwla1016.png|is a USB-based, 16-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|TechTools DigiView DV1-100|File:Techtools_digiview_dv1-100.png|is a USB-based, 18-channel logic analyzer with 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|ZEROPLUS Logic Cube LAP-C(322000)|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 32-channel logic analyzer with a max. samplerate of 200MHz.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|ZLG LA1032|File:Zlg_la1032.png|is a USB-based, 32-channel, 100MHz logic analyzer.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mixed-signal devices ==&lt;br /&gt;
&lt;br /&gt;
Devices which can be used as both logic analyzer and oscilloscopes.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ARMFLY AX-Pro|File:Armfly_ax_pro.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate, and with 2 additional analog channels.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Only the logic analyzer functionality is supported so far, analog support is work in progress.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|EE Electronics ESLA201A|File:Esla201a.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate, and with 2 additional analog channels.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Only the logic analyzer functionality is supported so far, analog support is work in progress.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|XZL_Studio AX|File:Studio_XZL_AX.jpeg|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate, with 2 additional analog channels and an independent trigger pin.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Only the logic analyzer functionality is supported so far, analog support is work in progress, as is trigger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Link Instruments MSO-19|File:Link Instruments MSO-19 front.png|is a USB-based, 1-channel 2GSa/s oscilloscope, 8-channel 200MSa/s logic analyzer, 100MSa/s pattern generator and a [https://en.wikipedia.org/wiki/Time-domain_reflectometer TDR].}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Agilent MSO7104A|File:Agilent_MSO7104A.png|is a standalone, 4-channel mixed-signal digital storage oscilloscope (1GHz bandwidth, 4GSa/s samplerate, 16-channel logic analyzer).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Digilent Analog Discovery|File:Digilent_analog_discovery.png|is a USB-based 100MSa/s dual channel oscilloscope, function generator, logic analyzer and pattern generator.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek 1008C|File:Hantek_1008C.png|is a USB-based 8-channel oscilloscope, with 8 channel digital pattern generator}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Meilhaus MEphisto Scope1|File:Meilhaus_mephisto_scope1.png|is a USB-based multifunction acquisition device.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PoLabs PoScope Basic2|File:Polabs_poscope_basic2.png|is a USB-based, 16-channel logic analyzer (plus oscilloscope, signal/pattern generator, and more) with up to 8MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|QuantAsylum QA100|File:QA100.png|is a USB-based, mixed-mode oscilloscope with 12 digital inputs, 2 analog, 1 trigger and 1 audio waveform generator.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Rigol VS5202D|File:Rigol_VS5202D.png|is a USB-based, 2-channel analog oscilloscope (400MSa/S, 200MHz bandwidth) and 16-channel logic analyzer (200MHz sampling rate).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|XZL_Studio DX|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 16-channel logic analyzer with up to 24MHz sampling rate, and with 2 additional analog channels.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Oscilloscopes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Fluke ScopeMeter 199B|File:Fluke_Scopemeter_199B.png|is a handheld combined multimeter and oscilloscope. Only the multimeter functionality is supported; the device&amp;#039;s slow communication speed does not allow for properly supporting it as an oscilloscope in sigrok.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Hantek DSO-2090|File:Hantek DSO-2090.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 40MHz and 100MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Rigol DS1052E|File:Rigol DS1052E.png|is a 50MHz, 1GSa/s, 2-channel digital storage oscilloscope. It can be upgraded to 100MHz analog bandwidth with a software modification.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Focussz Fosc21|File:Focussz_fosc21_mugshot.png|is a USB-serial based, 2-channel oscilloscope with an analog bandwidth of 3kHz and a sampling rate of 8kHz (1 channel) / 4kHz (2 channels).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Hantek DSO-5200A|File:Hantek dso-5200a device front.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 200MHz and 250MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Nexus-Computing OsciPrime|File:OsciPrime.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 3.3MHz-8MHz.  It is 100% open source hardware and software.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Velleman PCSU1000|File:Velleman PCSU1000.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 50MHz and 1GS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Hantek DSO-2250|File:Dso2250-top.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 100MHz and 250MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek DSO-1200|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 200MHz and 500MS/s sampling rate (and a multimeter).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Fluke ScopeMeter 123|File:Fluke scopemeter123.png|is a handheld, 2-channel oscilloscope with an analog bandwidth of 20MHz and 25MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 2203|File:Picoscope 2203.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 5MHz and 40/20MS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 2205|File:PicoScope_2205.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 25MHz and 200/100MS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 3206|File:Picoscope 3206.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 200MHz and 200/100MS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 5203|File:Picoscope 5203.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 250MHz and 1/0,5GS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Incite Technology USB-DUXfast|File:Usbduxfast.png|is an USB-based analog data acquisition device. It supports up to 16 channels at 3MHz.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DSO-3062C|File:Voltcraft DSO-3062C.png|is a 60MHz, 1GSa/s, 2-channel digital storage oscilloscope. It can be upgraded to 200MHz analog bandwidth with a software modification.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Multimeters ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Agilent U1231A|File:Sigrok_logo_no_text_transparent_512.png|is a 6000 counts, CAT III (600V) handheld digital multimeter with USB or Bluetooth connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Agilent U1232A|File:Agilent U1232A.png|is a 6000 counts, CAT III (600V) handheld digital multimeter with USB or Bluetooth connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Agilent U1233A|File:Sigrok_logo_no_text_transparent_512.png|is a 6000 counts, CAT III (600V) handheld digital multimeter with USB or Bluetooth connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Brymen BM857|File:Bm_857_mugshot_500000.png|is a 50000 counts (500000 DC), CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Digitek DT4000ZC|File:Digitek_dt4000zc_device_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Fluke 187/189|File:Fluke 187.png|are 50000 counts, handheld digital multimeters with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Fluke 287/289|File:Fluke 287.png|are 50000 counts handheld digital multimeters with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MASTECH MAS345|File:Mastech mas345 device front.png|is a 4000 counts, CAT II handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|PCE PCE-DM32|File:Pce-pce-dm32.png|is a 4000 counts, CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|PeakTech 3410|File:Metex_me-31.png|is a 4000 counts, CAT II (1000V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|PeakTech 4370|File:Peaktech 4370 device front.png|is a 2000 counts, CAT II (1000V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|RadioShack 22-168|File:Rs_22_168_mugshot.png|is a 2000 counts, handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|RadioShack 22-805|File:Rs_22-805_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|RadioShack 22-812|File:radioshack_22_812_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Tecpel DMM-8061|File:Tecpel dmm8061 device front.jpg|is a 4000 counts, CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|TekPower TP4000ZC|File:Tp4000zc_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|UNI-T UT61D|File:Uni t ut61d device.png|is a 6000 counts, CAT II (600V) / CAT III (300V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|UNI-T UT61E|File:Old ver front.png|is a 22000 counts, CAT II (600V) / CAT III (300V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|V&amp;amp;A VA18B|File:Va_va18b.png|is a 6000 counts, CAT II (1000V) handheld digital multimeter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Victor 86C|File:Victor 86c device front.png|is a 4000 counts, CAT III (1000V) handheld digital multimeter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Victor 70C|File:Victor 70C.png|is a 4000 counts, CAT II handheld digital multimeter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Voltcraft VC-820|File:Voltcraft vc820 device.png|is a 4000 counts, CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Voltcraft VC-840|File:Voltcraft vc840 device front.png|is a 4000 counts, CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Escort 179|File:Escort 179 device front.png|is a 10000 counts, handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Gossen-Metrawatt METRAHIT 30M|File:Gossen metrahit 30m.png|is a 200000 counts, CAT II (600V) / CAT III (300V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MASTECH M9803R|File:800px-Mastech m9803r device front.png|is a 4000 counts, CAT II (1000V) digital bench multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Protek 6500|File:Sigrok_logo_no_text_transparent_512.png|is a 50000 counts handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft M-4660A|File:Voltcraft m4660a device front.png|is a 20000 counts, handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LCR meters ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Sound level meters ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Colead SL-5868P|File:Colead SL-5868P.png|is a sound level meter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Tondaj SL-814|File:Tondaj sl-814.png|is a sound level meter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|CEM DT-8852|File:CEM DT-8852.png|is an IEC 61672-1 class 2-compliant sound level meter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity. }}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DL-160S|File:Voltcraft_dl_160s.png|is a sound level meter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Thermometers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lascar Electronics EL-USB-2|File:EL-USB-2.png|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MIC 98581|File:Mic 98581 device top.jpg|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity. }}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer|File:Rding temper front.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer Gold|File:Rding temper gold device front.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer1|File:Rding temper1 device front.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer1K2|File:Pcsensor_temper1k2.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DL-120TH|File:Voltcraft dl-120th.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DL-140TH|File:Voltcraft_dl-140th.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|UNI-T UT325|File:Uni-t ut325 front.png|is a dual thermocouple logging thermometer.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hygrometers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lascar Electronics EL-USB-2|File:EL-USB-2.png|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MIC 98583|File:Mic 98583.png|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|SiLabs Si7005USB-Dongle|File:Silabs si7005usb dgl eb top.jpg|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Anemometers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MASTECH MS6252B|File:Mastech ms6252b.png|an anemometer with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Light meters ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Lutron YK-2005LX|File:Lutron YK-2005LX.png|is a light meter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity. }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Dataloggers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lascar Electronics EL-USB-CO|File:EL-USB-CO.png|is a standalone carbon monoxide (CO) logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|GSG Indoor Air Monitor|File:Gsg_indoor_air_monitor.png|is a USB-based air quality monitor.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MAUL studio i|File:Maul_studio_i.png|is an RS232-based weighing scale.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft CO-20|File:Voltcraft co-20.png|is a USB-based air quality monitor.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Function generators ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek DDS-3X25|File:Hantek DDS-3X25 top.png|is a 25MHz PC-based function generator (requires a USB connection to work).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Siglent SDG1010|File:Siglent sdg1010 device front 8116.png|is a 10MHz function generator with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== RF Receivers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Per Vices Noctar|File:Sigrok_logo_no_text_transparent_512.png|is a PCIe IQ modulator/demodulator board.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Spectrum analyzers ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Power supplies ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Manson HCS-3202|File:Manson hcs3202.png|is a 1-channel programmable power supply (1-36V/0-10A) with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GPIB interfaces ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Beiming S82357|File:Beiming_s82357.png|is a USB-based, hardware-implemented [[GPIB]] interface (a clone of the [http://www.home.agilent.com/en/pd-851808-pn-82357B/usb-gpib-interface-high-speed-usb-20 Agilent 82357B USB/GPIB interface]).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|ICS 488-USB|File:ICS 488-USB.png|is a USB-based, hardware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|GPIB-USB 82357B clone|File:GPIB-USB 82357B clone.png|is a USB-based, hardware-implemented [[GPIB]] interface (a clone of the [http://www.home.agilent.com/en/pd-851808-pn-82357B/usb-gpib-interface-high-speed-usb-20 Agilent 82357B USB/GPIB interface]).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|National Instruments GPIB-ENET|File:NI GPIB-ENET.png|is an Ethernet-based, hardware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|National Instruments GPIB-USB-HS|File:NI GPIB-USB-HS.png|is a USB-based, hardware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Prologix GPIB-USB|File:Prologix-usb.png|is a USB-based, firmware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Potential other candidates ==&lt;br /&gt;
&lt;br /&gt;
If you own any other logic analyzers (or oscilloscopes, multimeters, dataloggers, etc.) 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! Contact [mailto:bert@biot.com Bert Vermeulen] and [mailto:uwe@hermann-uwe.de Uwe Hermann] if you want to help out.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=6450</id>
		<title>Supported hardware</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Supported_hardware&amp;diff=6450"/>
		<updated>2013-05-22T17:39:50Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Hantek 4032L added&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) and devices we plan to support in the near future.&lt;br /&gt;
&lt;br /&gt;
The lists are sorted by category (&amp;lt;span style=&amp;quot;background-color: lime&amp;quot;&amp;gt;supported&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;in progress&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;planned&amp;lt;/span&amp;gt;), and alphabetically within those categories.&lt;br /&gt;
&lt;br /&gt;
== Logic analyzers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ARMFLY Mini-Logic|File:ARMFLY MINI LOGIC.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ASIX SIGMA|File:Sigma2_2.png|is a USB-based, 16-channel logic analyzer with up to 200MHz sampling rate, and with 256Mbit on-board memory.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Braintechnology USB Interface V2.x|File:Braintechnology_usb_interface_v26.png|is a Cypress FX2 eval board, which can be used as USB-based, 16-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Braintechnology USB-LPS|File:Braintechnology_usb_lps.png|is a USB-based, 16-channel logic analyzer (and signal generator) with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ChronoVu LA8|File:Chronovu la8 front.png|is a USB-based, 8-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|CWAV USBee SX|File:Cwav_usbee_sx.png|is a USB-based, 8-channel logic analyzer (and signal generator) with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Dangerous Prototypes Buspirate|File:Buspirate_v3.png|is a USB-based, 5-channel logic analyzer with up to 1MHz sampling rate. It uses the [http://dangerousprototypes.com/docs/The_Logic_Sniffer%27s_extended_SUMP_protocol extended SUMP protocol].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The Buspirate supports a logic analyzer mode and can thus be used for sample captures, however only at low speeds.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|EE Electronics ESLA100|File:Eeelec xla esla100.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lcsoft Mini Board|File:Lcsoft-miniboard-front.png|is a Cypress FX2 eval board, which can be used as USB-based, 16-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Logic Shrimp|File:logic-shrimp-front.png|is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate. It uses the [http://dangerousprototypes.com/docs/The_Logic_Sniffer%27s_extended_SUMP_protocol extended SUMP protocol].}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MCU123 Saleae Logic clone|File:Mcu123 saleae logic clone.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MCU123 USBee AX Pro clone|File:Usbee_ax_clone_front.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Openbench Logic Sniffer|File:Openbench logic sniffer front.png|(OLS) is a USB-based (and FPGA-based), 32-channel logic analyzer with up to 100MHz sampling rate and advanced trigger functionality. It is a fully open source device &amp;amp;mdash; the circuit design, VHDL code for the FPGA, firmware for the PIC microcontroller and Java-based client software are all freely available. It uses the [http://dangerousprototypes.com/docs/The_Logic_Sniffer%27s_extended_SUMP_protocol extended SUMP protocol].}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Robomotic BugLogic 3|File:Robomotic buglogic3.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Robomotic MiniLogic|File:Robomotic_minilogic.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Saleae Logic|File:Saleae Logic.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ZEROPLUS Logic Cube LAP-C(16032)|File:Zeroplus Logic Cube.png| is a USB-based, 16-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ZEROPLUS LAP-16128U|File:Zeroplus_lap-16128u.png|is a USB-based, 16-channel logic analyzer with up to 200MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|RockyLogic Ant8|File:Rockylogic_ant8.png|is a USB-based, 8-channel logic analyzer with up to 500MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|RockyLogic Ant18e|File:RockyLogic Ant18e.png|is a USB-based, 18-channel logic analyzer with up to 1GHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Acute PKLA-1216|File:Acute_pkla1216.png|is a USB-based, 16-channel logic analyzer with up to 200MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Ideofy LA-08|File:Ideofy_la_08.png|is a USB-based, 8-channel logic analyzer with a max. samplerate of 96Msps@2ch (or 60msps@4ch, or 30msps@8ch).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Ikalogic SCANALOGIC-2 PRO|File:Ikalogic_scanalogic2.png|is a USB-based, 4-channel logic analyzer with up to 20MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Intronix Logicport LA1034|File:Intronix Logicport.png|is a USB-based (and FPGA-based), 34-channel logic analyzer with up to 500MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Link Instruments LA-5580|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 80-channel logic analyzer with up to 500MHz samplerate. There&amp;#039;s an optional pattern generator pod with 100 Mpoints/s.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Microchip PICkit2|File:Microchip_pickit2.png|is a USB-based, 3-channel logic analyzer with up to 1MHz sampling rate.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The PICkit2 is actually a programmer/debugger for PIC microcontrollers, but it can also be used as logic analyzer.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MiniLA Mockup|File:Minila_mockup.png|is a USB-based, 32-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Saleae Logic16|File:Saleae_Logic16_bottom.png|is a USB-based, 16-channel logic analyzer with 100/50/25/12.5MHz sampling rate (at 2/4/8/16 enabled channels).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Sysclk LWLA1016|File:Sysclk lwla1016.png|is a USB-based, 16-channel logic analyzer with up to 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|TechTools DigiView DV1-100|File:Techtools_digiview_dv1-100.png|is a USB-based, 18-channel logic analyzer with 100MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|ZEROPLUS Logic Cube LAP-C(322000)|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 32-channel logic analyzer with a max. samplerate of 200MHz.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|ZLG LA1032|File:Zlg_la1032.png|is a USB-based, 32-channel, 100MHz logic analyzer.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek 4032L|File:Hantek4032L_BoxSideView.png|is a USB-based, 32-channel, 400MHz logic analyzer with 2Gbit memory.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Mixed-signal devices ==&lt;br /&gt;
&lt;br /&gt;
Devices which can be used as both logic analyzer and oscilloscopes.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|ARMFLY AX-Pro|File:Armfly_ax_pro.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate, and with 2 additional analog channels.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Only the logic analyzer functionality is supported so far, analog support is work in progress.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|EE Electronics ESLA201A|File:Esla201a.png|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate, and with 2 additional analog channels.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Only the logic analyzer functionality is supported so far, analog support is work in progress.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|XZL_Studio AX|File:Studio_XZL_AX.jpeg|is a USB-based, 8-channel logic analyzer with up to 24MHz sampling rate, with 2 additional analog channels and an independent trigger pin.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Only the logic analyzer functionality is supported so far, analog support is work in progress, as is trigger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Link Instruments MSO-19|File:Link Instruments MSO-19 front.png|is a USB-based, 1-channel 2GSa/s oscilloscope, 8-channel 200MSa/s logic analyzer, 100MSa/s pattern generator and a [https://en.wikipedia.org/wiki/Time-domain_reflectometer TDR].}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Agilent MSO7104A|File:Agilent_MSO7104A.png|is a standalone, 4-channel mixed-signal digital storage oscilloscope (1GHz bandwidth, 4GSa/s samplerate, 16-channel logic analyzer).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Digilent Analog Discovery|File:Digilent_analog_discovery.png|is a USB-based 100MSa/s dual channel oscilloscope, function generator, logic analyzer and pattern generator.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek 1008C|File:Hantek_1008C.png|is a USB-based 8-channel oscilloscope, with 8 channel digital pattern generator}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Meilhaus MEphisto Scope1|File:Meilhaus_mephisto_scope1.png|is a USB-based multifunction acquisition device.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PoLabs PoScope Basic2|File:Polabs_poscope_basic2.png|is a USB-based, 16-channel logic analyzer (plus oscilloscope, signal/pattern generator, and more) with up to 8MHz sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|QuantAsylum QA100|File:QA100.png|is a USB-based, mixed-mode oscilloscope with 12 digital inputs, 2 analog, 1 trigger and 1 audio waveform generator.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Rigol VS5202D|File:Rigol_VS5202D.png|is a USB-based, 2-channel analog oscilloscope (400MSa/S, 200MHz bandwidth) and 16-channel logic analyzer (200MHz sampling rate).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|XZL_Studio DX|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 16-channel logic analyzer with up to 24MHz sampling rate, and with 2 additional analog channels.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Oscilloscopes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Fluke ScopeMeter 199B|File:Fluke_Scopemeter_199B.png|is a handheld combined multimeter and oscilloscope. Only the multimeter functionality is supported; the device&amp;#039;s slow communication speed does not allow for properly supporting it as an oscilloscope in sigrok.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Hantek DSO-2090|File:Hantek DSO-2090.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 40MHz and 100MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Rigol DS1052E|File:Rigol DS1052E.png|is a 50MHz, 1GSa/s, 2-channel digital storage oscilloscope. It can be upgraded to 100MHz analog bandwidth with a software modification.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Focussz Fosc21|File:Focussz_fosc21_mugshot.png|is a USB-serial based, 2-channel oscilloscope with an analog bandwidth of 3kHz and a sampling rate of 8kHz (1 channel) / 4kHz (2 channels).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Hantek DSO-5200A|File:Hantek dso-5200a device front.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 200MHz and 250MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Nexus-Computing OsciPrime|File:OsciPrime.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 3.3MHz-8MHz.  It is 100% open source hardware and software.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Velleman PCSU1000|File:Velleman PCSU1000.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 50MHz and 1GS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Hantek DSO-2250|File:Dso2250-top.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 100MHz and 250MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek DSO-1200|File:Sigrok_logo_no_text_transparent_512.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 200MHz and 500MS/s sampling rate (and a multimeter).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Fluke ScopeMeter 123|File:Fluke scopemeter123.png|is a handheld, 2-channel oscilloscope with an analog bandwidth of 20MHz and 25MS/s sampling rate.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 2203|File:Picoscope 2203.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 5MHz and 40/20MS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 2205|File:PicoScope_2205.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 25MHz and 200/100MS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 3206|File:Picoscope 3206.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 200MHz and 200/100MS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Pico Technology PicoScope 5203|File:Picoscope 5203.png|is a USB-based, 2-channel oscilloscope with an analog bandwidth of 250MHz and 1/0,5GS/s sampling rate (1-/2-channel one-shot mode).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Incite Technology USB-DUXfast|File:Usbduxfast.png|is an USB-based analog data acquisition device. It supports up to 16 channels at 3MHz.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DSO-3062C|File:Voltcraft DSO-3062C.png|is a 60MHz, 1GSa/s, 2-channel digital storage oscilloscope. It can be upgraded to 200MHz analog bandwidth with a software modification.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Multimeters ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Agilent U1231A|File:Sigrok_logo_no_text_transparent_512.png|is a 6000 counts, CAT III (600V) handheld digital multimeter with USB or Bluetooth connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Agilent U1232A|File:Agilent U1232A.png|is a 6000 counts, CAT III (600V) handheld digital multimeter with USB or Bluetooth connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Agilent U1233A|File:Sigrok_logo_no_text_transparent_512.png|is a 6000 counts, CAT III (600V) handheld digital multimeter with USB or Bluetooth connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Brymen BM857|File:Bm_857_mugshot_500000.png|is a 50000 counts (500000 DC), CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Digitek DT4000ZC|File:Digitek_dt4000zc_device_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Fluke 187/189|File:Fluke 187.png|are 50000 counts, handheld digital multimeters with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Fluke 287/289|File:Fluke 287.png|are 50000 counts handheld digital multimeters with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MASTECH MAS345|File:Mastech mas345 device front.png|is a 4000 counts, CAT II handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|PCE PCE-DM32|File:Pce-pce-dm32.png|is a 4000 counts, CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|PeakTech 3410|File:Metex_me-31.png|is a 4000 counts, CAT II (1000V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|PeakTech 4370|File:Peaktech 4370 device front.png|is a 2000 counts, CAT II (1000V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|RadioShack 22-168|File:Rs_22_168_mugshot.png|is a 2000 counts, handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|RadioShack 22-805|File:Rs_22-805_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|RadioShack 22-812|File:radioshack_22_812_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Tecpel DMM-8061|File:Tecpel dmm8061 device front.jpg|is a 4000 counts, CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|TekPower TP4000ZC|File:Tp4000zc_front.png|is a 4000 counts, CAT II (600V) handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|UNI-T UT61D|File:Uni t ut61d device.png|is a 6000 counts, CAT II (600V) / CAT III (300V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|UNI-T UT61E|File:Old ver front.png|is a 22000 counts, CAT II (600V) / CAT III (300V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|V&amp;amp;A VA18B|File:Va_va18b.png|is a 6000 counts, CAT II (1000V) handheld digital multimeter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Victor 86C|File:Victor 86c device front.png|is a 4000 counts, CAT III (1000V) handheld digital multimeter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Victor 70C|File:Victor 70C.png|is a 4000 counts, CAT II handheld digital multimeter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Voltcraft VC-820|File:Voltcraft vc820 device.png|is a 4000 counts, CAT III (1000V) / CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Voltcraft VC-840|File:Voltcraft vc840 device front.png|is a 4000 counts, CAT IV (600V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Escort 179|File:Escort 179 device front.png|is a 10000 counts, handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Gossen-Metrawatt METRAHIT 30M|File:Gossen metrahit 30m.png|is a 200000 counts, CAT II (600V) / CAT III (300V) handheld digital multimeter with RS232 or USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MASTECH M9803R|File:800px-Mastech m9803r device front.png|is a 4000 counts, CAT II (1000V) digital bench multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Protek 6500|File:Sigrok_logo_no_text_transparent_512.png|is a 50000 counts handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft M-4660A|File:Voltcraft m4660a device front.png|is a 20000 counts, handheld digital multimeter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LCR meters ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Sound level meters ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Colead SL-5868P|File:Colead SL-5868P.png|is a sound level meter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Tondaj SL-814|File:Tondaj sl-814.png|is a sound level meter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|CEM DT-8852|File:CEM DT-8852.png|is an IEC 61672-1 class 2-compliant sound level meter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity. }}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DL-160S|File:Voltcraft_dl_160s.png|is a sound level meter with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Thermometers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lascar Electronics EL-USB-2|File:EL-USB-2.png|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MIC 98581|File:Mic 98581 device top.jpg|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity. }}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer|File:Rding temper front.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer Gold|File:Rding temper gold device front.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer1|File:Rding temper1 device front.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|RDing TEMPer1K2|File:Pcsensor_temper1k2.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DL-120TH|File:Voltcraft dl-120th.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft DL-140TH|File:Voltcraft_dl-140th.png|is a USB-based temperature logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|UNI-T UT325|File:Uni-t ut325 front.png|is a dual thermocouple logging thermometer.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hygrometers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lascar Electronics EL-USB-2|File:EL-USB-2.png|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|MIC 98583|File:Mic 98583.png|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|SiLabs Si7005USB-Dongle|File:Silabs si7005usb dgl eb top.jpg|is a USB-based temperature and humidity logger.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Anemometers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MASTECH MS6252B|File:Mastech ms6252b.png|an anemometer with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Light meters ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Lutron YK-2005LX|File:Lutron YK-2005LX.png|is a light meter with RS232 connectivity.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|PCE PCE-222|File:Pce_pce-222_front.png|is a multi-function measurement device (light meter, thermometer, hygrometer, and sound level meter) with RS232 connectivity. }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Dataloggers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_supported|Lascar Electronics EL-USB-CO|File:EL-USB-CO.png|is a standalone carbon monoxide (CO) logger.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|GSG Indoor Air Monitor|File:Gsg_indoor_air_monitor.png|is a USB-based air quality monitor.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|MAUL studio i|File:Maul_studio_i.png|is an RS232-based weighing scale.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Voltcraft CO-20|File:Voltcraft co-20.png|is a USB-based air quality monitor.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Function generators ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Hantek DDS-3X25|File:Hantek DDS-3X25 top.png|is a 25MHz PC-based function generator (requires a USB connection to work).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Siglent SDG1010|File:Siglent sdg1010 device front 8116.png|is a 10MHz function generator with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== RF Receivers ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_progress|Per Vices Noctar|File:Sigrok_logo_no_text_transparent_512.png|is a PCIe IQ modulator/demodulator board.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Spectrum analyzers ==&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Power supplies ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Manson HCS-3202|File:Manson hcs3202.png|is a 1-channel programmable power supply (1-36V/0-10A) with USB connectivity.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GPIB interfaces ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; class=&amp;quot;alternategrey sigroktable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Device&lt;br /&gt;
!Status&lt;br /&gt;
!Comments&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Beiming S82357|File:Beiming_s82357.png|is a USB-based, hardware-implemented [[GPIB]] interface (a clone of the [http://www.home.agilent.com/en/pd-851808-pn-82357B/usb-gpib-interface-high-speed-usb-20 Agilent 82357B USB/GPIB interface]).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|ICS 488-USB|File:ICS 488-USB.png|is a USB-based, hardware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|GPIB-USB 82357B clone|File:GPIB-USB 82357B clone.png|is a USB-based, hardware-implemented [[GPIB]] interface (a clone of the [http://www.home.agilent.com/en/pd-851808-pn-82357B/usb-gpib-interface-high-speed-usb-20 Agilent 82357B USB/GPIB interface]).}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|National Instruments GPIB-ENET|File:NI GPIB-ENET.png|is an Ethernet-based, hardware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|National Instruments GPIB-USB-HS|File:NI GPIB-USB-HS.png|is a USB-based, hardware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
{{hwsup_planned|Prologix GPIB-USB|File:Prologix-usb.png|is a USB-based, firmware-implemented [[GPIB]] interface.}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Potential other candidates ==&lt;br /&gt;
&lt;br /&gt;
If you own any other logic analyzers (or oscilloscopes, multimeters, dataloggers, etc.) 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! Contact [mailto:bert@biot.com Bert Vermeulen] and [mailto:uwe@hermann-uwe.de Uwe Hermann] if you want to help out.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=6449</id>
		<title>Hantek 4032L</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=6449"/>
		<updated>2013-05-22T15:34:35Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Fixed vendor request mistake&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Hantek4032L BoxSideView.png|180px]]&lt;br /&gt;
| name             = Hantek 4032L&lt;br /&gt;
| status           = planned&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 32&lt;br /&gt;
| samplerate       = 400MHz&lt;br /&gt;
| samplerate_state = ?&lt;br /&gt;
| triggers         = edge, bus value range, pattern, pattern duration, combined&lt;br /&gt;
| voltages         = -6V — +60V input, -6V — +6V threshold&lt;br /&gt;
| memory           = 2Gbit (64M samples x 32)&lt;br /&gt;
| compression      = -&lt;br /&gt;
| website          = [http://www.hantek.com/english/produce_list.asp?unid=67 hantek.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [http://www.hantek.com/english/produce_list.asp?unid=67 Hantek 4032L] is an USB-based, 32-channel logic analyzer with up to 400MHz sampling rate and 2Gbit DDR2 memory.&lt;br /&gt;
&lt;br /&gt;
See [[Hantek_4032L/Info]] for more details about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Xilinx Spartan-6 XC6SLX16 CSG324 DIV1225 (FPGA, 14579 logic cells, 2 DDR1/2/3 memory controllers, BGA324)&lt;br /&gt;
* Cypress FX2LP CY7C68013A-100AXC (USB 2.0 HS controller, TQFP100)&lt;br /&gt;
* 2x Micron MT47H64M16HR-25E:H (1Gbit DDR2 SDRAM, BGA)&lt;br /&gt;
* TI TPS51116 (DDR memory power controller)&lt;br /&gt;
* Unknown I2C EEPROM (marking removed, contains FX2 firmware)&lt;br /&gt;
* MXIC MX25L4005 (4Mbit SPI flash, marking removed, contains FPGA bitstream)&lt;br /&gt;
* Unknown PWM components (marking removed, input Vref generators)&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxIso.png|&amp;lt;small&amp;gt;Hantek 4032L with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxPortSide.png|&amp;lt;small&amp;gt;Probe port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxUsbSide.png|&amp;lt;small&amp;gt;PC USB port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbTop.png|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbBottom.png|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
* Vendor request is used to reset the engine and flush the buffers&lt;br /&gt;
* Endpoint 2 is used for host-to-device command/parameters transfers&lt;br /&gt;
* Endpoint 6 is used for device-to-host status/data transfers&lt;br /&gt;
&lt;br /&gt;
X denotes &amp;quot;any value&amp;quot; in the following description&lt;br /&gt;
&lt;br /&gt;
=== Vendor requests ===&lt;br /&gt;
&lt;br /&gt;
* bRequest=0xB3, wValue=X, wIndex=X, wLength=0x0A, data={ 0x0F, 0x03, 0x03, 0x03, X, X, X, X, X, X } - restart the engine (reset FPGA, reset FIFOs)&lt;br /&gt;
* bRequest=0xD0, wValue=X, wIndex=X, wLength=0x00 - disable communication (set FIFO reset), not used&lt;br /&gt;
* bRequest=0xD1, wValue=X, wIndex=X, wLength=0x00 - enable communication (clear FIFO reset), not used&lt;br /&gt;
&lt;br /&gt;
=== Command/Parameters packet ===&lt;br /&gt;
&lt;br /&gt;
  struct CmdParamsPacket&lt;br /&gt;
  &lt;br /&gt;
    byte Magic[2]={ 0x7F, 0x01 }&lt;br /&gt;
  &lt;br /&gt;
    byte SampleRate&lt;br /&gt;
      0x22 - 400MS/s&lt;br /&gt;
      0x23 - 320MS/s&lt;br /&gt;
      0x20 - 200MS/s&lt;br /&gt;
      0x21 - 160MS/s&lt;br /&gt;
      0x00 - 100MS/s&lt;br /&gt;
      0x08 - 80MS/s&lt;br /&gt;
      0x01 - 50MS/s&lt;br /&gt;
      0x09 - 40MS/s&lt;br /&gt;
      0x02 - 25MS/s&lt;br /&gt;
      0x0A - 20MS/s&lt;br /&gt;
      0x03 - 12.5MS/s&lt;br /&gt;
      0x0B - 10MS/s&lt;br /&gt;
      0x04 - 6.25MS/s&lt;br /&gt;
      0x0C - 5MS/s&lt;br /&gt;
      0x10 - 4MS/s&lt;br /&gt;
      0x05 - 3.125MS/s&lt;br /&gt;
      0x0D - 2.5MS/s&lt;br /&gt;
      0x11 - 2MS/s&lt;br /&gt;
      0x06 - 1.5625MS/s&lt;br /&gt;
      0x0E - 1.25MS/s&lt;br /&gt;
      0x12 - 1MS/s&lt;br /&gt;
      0x07 - 781.25KS/s&lt;br /&gt;
      0x0F - 625KS/s&lt;br /&gt;
      0x13 - 500KS/s&lt;br /&gt;
      0x14 - 250KS/s&lt;br /&gt;
      0x15 - 125KS/s&lt;br /&gt;
      0x16 - 62.5KS/s&lt;br /&gt;
      0x17 - 31.25KS/s&lt;br /&gt;
      0x18 - 16KS/s&lt;br /&gt;
      0x19 - 8KS/s&lt;br /&gt;
      0x1A - 4KS/s&lt;br /&gt;
      0x1B - 2KS/s&lt;br /&gt;
      0x1C - 1KS/s&lt;br /&gt;
  &lt;br /&gt;
    byte TrigFlags&lt;br /&gt;
      bit 0 - enable trigger 1 (main)&lt;br /&gt;
      bit 1 - enable trigger 2 (advanced)&lt;br /&gt;
      bit 2 - trigger logic, 0 - T1 or T2, 1 - T1 and T2&lt;br /&gt;
  &lt;br /&gt;
    word PwmA - channel A Vref PWM value, pseudocode:&lt;br /&gt;
      -6V &amp;lt; ThresholdVoltage &amp;lt; +6V&lt;br /&gt;
      Vref = 1.8-ThresholdVoltage&lt;br /&gt;
      if Vref&amp;gt;10.0&lt;br /&gt;
        Vref = 10.0&lt;br /&gt;
      if Vref&amp;lt;-5.0&lt;br /&gt;
        Vref = -5.0&lt;br /&gt;
      pwm = ToInt((Vref + 5.0) / 15.0 * 4096.0)&lt;br /&gt;
        if pwm&amp;gt;4095&lt;br /&gt;
        pwm = 4095&lt;br /&gt;
  &lt;br /&gt;
    word PwmB - channel B Vref PWM value&lt;br /&gt;
  &lt;br /&gt;
    byte unused[2]&lt;br /&gt;
  &lt;br /&gt;
    dword SampleDepth - sample depth in bits per channel, 2k-64M, must be multiple of 512&lt;br /&gt;
  &lt;br /&gt;
    dword PretriggerDepth - pretrigger buffer depth in bits, must be &amp;lt; SampleDepth&lt;br /&gt;
  &lt;br /&gt;
    struct Trig Trig1 - trigger 1 config, see below&lt;br /&gt;
  &lt;br /&gt;
    struct Trig Trig2 - trigger 2 config, see below&lt;br /&gt;
  &lt;br /&gt;
    byte Command[2] - command, see &amp;#039;&amp;#039;&amp;#039;Commands and responses&amp;#039;&amp;#039;&amp;#039; below&lt;br /&gt;
&lt;br /&gt;
  struct Trig&lt;br /&gt;
    &lt;br /&gt;
    dword Flags - trigger types selection:&lt;br /&gt;
      bit 4:0 - edge trigger signal, 0-31 -&amp;gt; A0-B15&lt;br /&gt;
      bit 6:5 - edge to trigger on:&lt;br /&gt;
        00 - rise&lt;br /&gt;
        01 - fall&lt;br /&gt;
        10 - rise or fall&lt;br /&gt;
        11 - edge trigger disabled&lt;br /&gt;
      bit 7 - unused&lt;br /&gt;
      bit 9:8 - data range trigger type:&lt;br /&gt;
        00 - data=RangeMax trigger&lt;br /&gt;
        01 - data=RangeMin or data=RangeMax trigger&lt;br /&gt;
        10 - data&amp;lt;RangeMin or data&amp;gt;RangeMax trigger&lt;br /&gt;
        11 - RangeMin&amp;lt;data&amp;lt;RangeMax trigger&lt;br /&gt;
      bit 11:10 - time range trigger type:&lt;br /&gt;
        00 - time=TimeMax trigger&lt;br /&gt;
        01 - time=TimeMin or time=TimeMax trigger&lt;br /&gt;
        10 - time&amp;lt;TimeMin or time&amp;gt;TimeMax trigger&lt;br /&gt;
        11 - TimeMin&amp;lt;time&amp;lt;TimeMax trigger&lt;br /&gt;
      bit 12 - enable data range trigger (see bit 9:8)&lt;br /&gt;
      bit 13 - enable time trigger (see bit 11:10)&lt;br /&gt;
      bit 15:14 - unused&lt;br /&gt;
      bit 17:16 - combined trigger data selection (data=EquData and data_sel matches other criteria like time, range, edge):&lt;br /&gt;
        00 - data_sel is next data (next to matched with EquData)&lt;br /&gt;
        01 - data_sel is current data&lt;br /&gt;
        10 - data_sel is previous data&lt;br /&gt;
        11 - undefined&lt;br /&gt;
      bit 18 - enable combined trigger (see bit 17:16)&lt;br /&gt;
      bit 31:19 - unused&lt;br /&gt;
    &lt;br /&gt;
    dword RangeMin - min value for data range trigger (see Flags[9:8]), must be masked with RangeMask (see Masking below)&lt;br /&gt;
  &lt;br /&gt;
    dword RangeMax - max value for data range trigger (see Flags[9:8]), must be masked with RangeMask&lt;br /&gt;
  &lt;br /&gt;
    dword TimeMin - min value for time trigger (see Flags[11:10])&lt;br /&gt;
  &lt;br /&gt;
    dword TimeMax - max value for time trigger (see Flags[11:10])        &lt;br /&gt;
  &lt;br /&gt;
    dword RangeMask - mask value for data range trigger&lt;br /&gt;
  &lt;br /&gt;
    dword EquMask - mask value for combined trigger&lt;br /&gt;
  &lt;br /&gt;
    dword EquData - data value for combined trigger (see Flags[17:16]), must be masked with EquMask&lt;br /&gt;
&lt;br /&gt;
  Masking:&lt;br /&gt;
    Some trigger types (data range, combined &amp;quot;pattern and condition&amp;quot;) operate on a &amp;quot;bus&amp;quot; value of several signals selected with a mask. Active bits are combined to a single value WITHOUT GAPS:&lt;br /&gt;
      mask=01000011, value=1&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;0100&amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; -&amp;gt; masked_value=00000&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; (bits 6,1,0 are combined and zero-extended)&lt;br /&gt;
&lt;br /&gt;
==== Commands and responses ====&lt;br /&gt;
&lt;br /&gt;
  { 0x1A, 0x2B } - configure and start capture, all parameters are used&lt;br /&gt;
  Response: none&lt;br /&gt;
&lt;br /&gt;
  { 0x3A, 0x4B } - get status, parameters are defaults&lt;br /&gt;
  Response: &lt;br /&gt;
    dword Magic=0x2B1A037F - drop rx data until this)&lt;br /&gt;
    dword CurrentDataValue - A0-B15 current state snapshot&lt;br /&gt;
    dword CaptureStatus - 0-not finished, 1-?, 2-done, data is ready&lt;br /&gt;
    dword DummyData[244] - pad to 1024 bytes&lt;br /&gt;
&lt;br /&gt;
  { 0x5A, 0x6B } - get captured data, parameters are defaults&lt;br /&gt;
  Response:&lt;br /&gt;
    dword Magic=0x2B1A027F - drop rx data until this&lt;br /&gt;
    dword CaptureData[SampleDepth] - capture data&lt;br /&gt;
    dword EndMarker=0x4D3C037F - drop rx data after this till end of 512 byte packet&lt;br /&gt;
&lt;br /&gt;
=== Acquisition session flow ===&lt;br /&gt;
&lt;br /&gt;
* Send restart vendor request (0xB3)&lt;br /&gt;
* Send { 0x1A, 0x2B } type packet to configure and start capture&lt;br /&gt;
* Poll with { 0x3A, 0x4B } until CaptureStatus=2 (optionally blink bus indicators according to CurrentDataValue during poll)&lt;br /&gt;
* Get capture data with { 0x5A, 0x6B }&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
[http://www.hantek.com/Product/HT4032/SDK.zip Hantek 4032L SDK (Windows only)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Planned]]&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L/Info&amp;diff=6448</id>
		<title>Hantek 4032L/Info</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L/Info&amp;diff=6448"/>
		<updated>2013-05-22T15:33:00Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Added pinouts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== USB descriptors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
  Device Descriptor:&lt;br /&gt;
    bcdUSB:             0x0200&lt;br /&gt;
    bDeviceClass:         0x00&lt;br /&gt;
    bDeviceSubClass:      0x00&lt;br /&gt;
    bDeviceProtocol:      0x00&lt;br /&gt;
    bMaxPacketSize0:      0x40 (64)&lt;br /&gt;
    idVendor:           0x04B5 (ROHM LSI Systems USA, LLC)&lt;br /&gt;
    idProduct:          0x4032&lt;br /&gt;
    bcdDevice:          0x0000&lt;br /&gt;
    iManufacturer:        0x01&lt;br /&gt;
        0x0409: &amp;quot;ODM   &amp;quot;&lt;br /&gt;
    iProduct:             0x02&lt;br /&gt;
        0x0409: &amp;quot;LA-4032&amp;quot;&lt;br /&gt;
    iSerialNumber:        0x00&lt;br /&gt;
    bNumConfigurations:   0x01&lt;br /&gt;
  &lt;br /&gt;
  Configuration Descriptor:&lt;br /&gt;
    wTotalLength:       0x0020&lt;br /&gt;
    bNumInterfaces:       0x01&lt;br /&gt;
    bConfigurationValue:  0x01&lt;br /&gt;
    iConfiguration:       0x00&lt;br /&gt;
    bmAttributes:         0xA0 (Bus Powered Remote Wakeup)&lt;br /&gt;
    MaxPower:             0xFA (500 Ma)&lt;br /&gt;
  &lt;br /&gt;
  Interface Descriptor:&lt;br /&gt;
    bInterfaceNumber:     0x00&lt;br /&gt;
    bAlternateSetting:    0x00&lt;br /&gt;
    bNumEndpoints:        0x02&lt;br /&gt;
    bInterfaceClass:      0xFF&lt;br /&gt;
    bInterfaceSubClass:   0x00&lt;br /&gt;
    bInterfaceProtocol:   0x00&lt;br /&gt;
    iInterface:           0x00&lt;br /&gt;
 &lt;br /&gt;
  Endpoint Descriptor:&lt;br /&gt;
    bEndpointAddress:     0x02&lt;br /&gt;
    Transfer Type:        Bulk&lt;br /&gt;
    wMaxPacketSize:     0x0200 (512)&lt;br /&gt;
    bInterval:            0x00&lt;br /&gt;
  &lt;br /&gt;
  Endpoint Descriptor:&lt;br /&gt;
    bEndpointAddress:     0x86&lt;br /&gt;
    Transfer Type:        Bulk&lt;br /&gt;
    wMaxPacketSize:     0x0200 (512)&lt;br /&gt;
    bInterval:            0x00&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pinouts ==&lt;br /&gt;
&lt;br /&gt;
=== JP2 JTAG ===&lt;br /&gt;
&lt;br /&gt;
  XC6SLX16 JTAG port&lt;br /&gt;
  &lt;br /&gt;
  1 - GND&lt;br /&gt;
  2 - TMS&lt;br /&gt;
  3 - TDO&lt;br /&gt;
  4 - TDI&lt;br /&gt;
  5 - TCK&lt;br /&gt;
  6 - +3.3V&lt;br /&gt;
&lt;br /&gt;
=== JP5 WRITE ===&lt;br /&gt;
&lt;br /&gt;
  MX25L4005 write protect disable&lt;br /&gt;
  &lt;br /&gt;
  1 - nWP&lt;br /&gt;
  2 - +3.3V&lt;br /&gt;
&lt;br /&gt;
=== JP6 RST ===&lt;br /&gt;
&lt;br /&gt;
  XC6SLX16 configuration reset&lt;br /&gt;
  &lt;br /&gt;
  1 - PROGRAM_B&lt;br /&gt;
  2 - GND&lt;br /&gt;
&lt;br /&gt;
=== JP7 FLASH_SPI ===&lt;br /&gt;
&lt;br /&gt;
  MX25L4005 ISP&lt;br /&gt;
  &lt;br /&gt;
  1 - +3.3V&lt;br /&gt;
  2 - CK&lt;br /&gt;
  3 - DIN&lt;br /&gt;
  4 - DOUT&lt;br /&gt;
  5 - nCS&lt;br /&gt;
  6 - GND&lt;br /&gt;
&lt;br /&gt;
== Modding ==&lt;br /&gt;
&lt;br /&gt;
In stock configuration both FX2LP and FPGA boots from their serial EEPROMs, but with a small hw patch it is possible to boot both parts from PC:&lt;br /&gt;
* lift U3 pin 5 to disable FX2LP EEPROM boot&lt;br /&gt;
* remove R102 and solder it between R102&amp;#039;s left pad (this is FPGA&amp;#039;s M1 pin) and C135&amp;#039;s left pad (this is Vcc) to switch FPGA config mode to Slave Serial. FX2LP&amp;#039;s PC5 is FPGA&amp;#039;s PROGRAM_B, PC3 is DATA, PC1 is CLOCK, PC0 must be driven high (this is SPI FLASH nCS)&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=6447</id>
		<title>Hantek 4032L</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=6447"/>
		<updated>2013-05-22T15:07:56Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Finished protocol description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Hantek4032L BoxSideView.png|180px]]&lt;br /&gt;
| name             = Hantek 4032L&lt;br /&gt;
| status           = planned&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 32&lt;br /&gt;
| samplerate       = 400MHz&lt;br /&gt;
| samplerate_state = ?&lt;br /&gt;
| triggers         = edge, bus value range, pattern, pattern duration, combined&lt;br /&gt;
| voltages         = -6V — +60V input, -6V — +6V threshold&lt;br /&gt;
| memory           = 2Gbit (64M samples x 32)&lt;br /&gt;
| compression      = -&lt;br /&gt;
| website          = [http://www.hantek.com/english/produce_list.asp?unid=67 hantek.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [http://www.hantek.com/english/produce_list.asp?unid=67 Hantek 4032L] is an USB-based, 32-channel logic analyzer with up to 400MHz sampling rate and 2Gbit DDR2 memory.&lt;br /&gt;
&lt;br /&gt;
See [[Hantek_4032L/Info]] for more details about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Xilinx Spartan-6 XC6SLX16 CSG324 DIV1225 (FPGA, 14579 logic cells, 2 DDR1/2/3 memory controllers, BGA324)&lt;br /&gt;
* Cypress FX2LP CY7C68013A-100AXC (USB 2.0 HS controller, TQFP100)&lt;br /&gt;
* 2x Micron MT47H64M16HR-25E:H (1Gbit DDR2 SDRAM, BGA)&lt;br /&gt;
* TI TPS51116 (DDR memory power controller)&lt;br /&gt;
* Unknown I2C EEPROM (marking removed, contains FX2 firmware)&lt;br /&gt;
* MXIC MX25L4005 (4Mbit SPI flash, marking removed, contains FPGA bitstream)&lt;br /&gt;
* Unknown PWM components (marking removed, input Vref generators)&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxIso.png|&amp;lt;small&amp;gt;Hantek 4032L with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxPortSide.png|&amp;lt;small&amp;gt;Probe port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxUsbSide.png|&amp;lt;small&amp;gt;PC USB port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbTop.png|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbBottom.png|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
* Vendor request is used to reset the engine and flush the buffers&lt;br /&gt;
* Endpoint 2 is used for host-to-device command/parameters transfers&lt;br /&gt;
* Endpoint 6 is used for device-to-host status/data transfers&lt;br /&gt;
&lt;br /&gt;
X denotes &amp;quot;any value&amp;quot; in the following description&lt;br /&gt;
&lt;br /&gt;
=== Vendor requests ===&lt;br /&gt;
&lt;br /&gt;
* bRequest=0xB3, wValue=X, wIndex=X, wLength=0x0A, data={ 0x0F, 0x03, 0x03, 0x03, X, X, X, X, X, X } - restart the engine (reset FPGA, reset FIFOs)&lt;br /&gt;
* bRequest=0xD0, wValue=X, wIndex=X, wLength=0x00 - disable communication (set FIFO reset), not used&lt;br /&gt;
* bRequest=0xD0, wValue=X, wIndex=X, wLength=0x00 - enable communication (clear FIFO reset), not used&lt;br /&gt;
&lt;br /&gt;
=== Command/Parameters packet ===&lt;br /&gt;
&lt;br /&gt;
  struct CmdParamsPacket&lt;br /&gt;
  &lt;br /&gt;
    byte Magic[2]={ 0x7F, 0x01 }&lt;br /&gt;
  &lt;br /&gt;
    byte SampleRate&lt;br /&gt;
      0x22 - 400MS/s&lt;br /&gt;
      0x23 - 320MS/s&lt;br /&gt;
      0x20 - 200MS/s&lt;br /&gt;
      0x21 - 160MS/s&lt;br /&gt;
      0x00 - 100MS/s&lt;br /&gt;
      0x08 - 80MS/s&lt;br /&gt;
      0x01 - 50MS/s&lt;br /&gt;
      0x09 - 40MS/s&lt;br /&gt;
      0x02 - 25MS/s&lt;br /&gt;
      0x0A - 20MS/s&lt;br /&gt;
      0x03 - 12.5MS/s&lt;br /&gt;
      0x0B - 10MS/s&lt;br /&gt;
      0x04 - 6.25MS/s&lt;br /&gt;
      0x0C - 5MS/s&lt;br /&gt;
      0x10 - 4MS/s&lt;br /&gt;
      0x05 - 3.125MS/s&lt;br /&gt;
      0x0D - 2.5MS/s&lt;br /&gt;
      0x11 - 2MS/s&lt;br /&gt;
      0x06 - 1.5625MS/s&lt;br /&gt;
      0x0E - 1.25MS/s&lt;br /&gt;
      0x12 - 1MS/s&lt;br /&gt;
      0x07 - 781.25KS/s&lt;br /&gt;
      0x0F - 625KS/s&lt;br /&gt;
      0x13 - 500KS/s&lt;br /&gt;
      0x14 - 250KS/s&lt;br /&gt;
      0x15 - 125KS/s&lt;br /&gt;
      0x16 - 62.5KS/s&lt;br /&gt;
      0x17 - 31.25KS/s&lt;br /&gt;
      0x18 - 16KS/s&lt;br /&gt;
      0x19 - 8KS/s&lt;br /&gt;
      0x1A - 4KS/s&lt;br /&gt;
      0x1B - 2KS/s&lt;br /&gt;
      0x1C - 1KS/s&lt;br /&gt;
  &lt;br /&gt;
    byte TrigFlags&lt;br /&gt;
      bit 0 - enable trigger 1 (main)&lt;br /&gt;
      bit 1 - enable trigger 2 (advanced)&lt;br /&gt;
      bit 2 - trigger logic, 0 - T1 or T2, 1 - T1 and T2&lt;br /&gt;
  &lt;br /&gt;
    word PwmA - channel A Vref PWM value, pseudocode:&lt;br /&gt;
      -6V &amp;lt; ThresholdVoltage &amp;lt; +6V&lt;br /&gt;
      Vref = 1.8-ThresholdVoltage&lt;br /&gt;
      if Vref&amp;gt;10.0&lt;br /&gt;
        Vref = 10.0&lt;br /&gt;
      if Vref&amp;lt;-5.0&lt;br /&gt;
        Vref = -5.0&lt;br /&gt;
      pwm = ToInt((Vref + 5.0) / 15.0 * 4096.0)&lt;br /&gt;
        if pwm&amp;gt;4095&lt;br /&gt;
        pwm = 4095&lt;br /&gt;
  &lt;br /&gt;
    word PwmB - channel B Vref PWM value&lt;br /&gt;
  &lt;br /&gt;
    byte unused[2]&lt;br /&gt;
  &lt;br /&gt;
    dword SampleDepth - sample depth in bits per channel, 2k-64M, must be multiple of 512&lt;br /&gt;
  &lt;br /&gt;
    dword PretriggerDepth - pretrigger buffer depth in bits, must be &amp;lt; SampleDepth&lt;br /&gt;
  &lt;br /&gt;
    struct Trig Trig1 - trigger 1 config, see below&lt;br /&gt;
  &lt;br /&gt;
    struct Trig Trig2 - trigger 2 config, see below&lt;br /&gt;
  &lt;br /&gt;
    byte Command[2] - command, see &amp;#039;&amp;#039;&amp;#039;Commands and responses&amp;#039;&amp;#039;&amp;#039; below&lt;br /&gt;
&lt;br /&gt;
  struct Trig&lt;br /&gt;
    &lt;br /&gt;
    dword Flags - trigger types selection:&lt;br /&gt;
      bit 4:0 - edge trigger signal, 0-31 -&amp;gt; A0-B15&lt;br /&gt;
      bit 6:5 - edge to trigger on:&lt;br /&gt;
        00 - rise&lt;br /&gt;
        01 - fall&lt;br /&gt;
        10 - rise or fall&lt;br /&gt;
        11 - edge trigger disabled&lt;br /&gt;
      bit 7 - unused&lt;br /&gt;
      bit 9:8 - data range trigger type:&lt;br /&gt;
        00 - data=RangeMax trigger&lt;br /&gt;
        01 - data=RangeMin or data=RangeMax trigger&lt;br /&gt;
        10 - data&amp;lt;RangeMin or data&amp;gt;RangeMax trigger&lt;br /&gt;
        11 - RangeMin&amp;lt;data&amp;lt;RangeMax trigger&lt;br /&gt;
      bit 11:10 - time range trigger type:&lt;br /&gt;
        00 - time=TimeMax trigger&lt;br /&gt;
        01 - time=TimeMin or time=TimeMax trigger&lt;br /&gt;
        10 - time&amp;lt;TimeMin or time&amp;gt;TimeMax trigger&lt;br /&gt;
        11 - TimeMin&amp;lt;time&amp;lt;TimeMax trigger&lt;br /&gt;
      bit 12 - enable data range trigger (see bit 9:8)&lt;br /&gt;
      bit 13 - enable time trigger (see bit 11:10)&lt;br /&gt;
      bit 15:14 - unused&lt;br /&gt;
      bit 17:16 - combined trigger data selection (data=EquData and data_sel matches other criteria like time, range, edge):&lt;br /&gt;
        00 - data_sel is next data (next to matched with EquData)&lt;br /&gt;
        01 - data_sel is current data&lt;br /&gt;
        10 - data_sel is previous data&lt;br /&gt;
        11 - undefined&lt;br /&gt;
      bit 18 - enable combined trigger (see bit 17:16)&lt;br /&gt;
      bit 31:19 - unused&lt;br /&gt;
    &lt;br /&gt;
    dword RangeMin - min value for data range trigger (see Flags[9:8]), must be masked with RangeMask (see Masking below)&lt;br /&gt;
  &lt;br /&gt;
    dword RangeMax - max value for data range trigger (see Flags[9:8]), must be masked with RangeMask&lt;br /&gt;
  &lt;br /&gt;
    dword TimeMin - min value for time trigger (see Flags[11:10])&lt;br /&gt;
  &lt;br /&gt;
    dword TimeMax - max value for time trigger (see Flags[11:10])        &lt;br /&gt;
  &lt;br /&gt;
    dword RangeMask - mask value for data range trigger&lt;br /&gt;
  &lt;br /&gt;
    dword EquMask - mask value for combined trigger&lt;br /&gt;
  &lt;br /&gt;
    dword EquData - data value for combined trigger (see Flags[17:16]), must be masked with EquMask&lt;br /&gt;
&lt;br /&gt;
  Masking:&lt;br /&gt;
    Some trigger types (data range, combined &amp;quot;pattern and condition&amp;quot;) operate on a &amp;quot;bus&amp;quot; value of several signals selected with a mask. Active bits are combined to a single value WITHOUT GAPS:&lt;br /&gt;
      mask=01000011, value=1&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;0100&amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; -&amp;gt; masked_value=00000&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#00FF00&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:#0000FF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; (bits 6,1,0 are combined and zero-extended)&lt;br /&gt;
&lt;br /&gt;
==== Commands and responses ====&lt;br /&gt;
&lt;br /&gt;
  { 0x1A, 0x2B } - configure and start capture, all parameters are used&lt;br /&gt;
  Response: none&lt;br /&gt;
&lt;br /&gt;
  { 0x3A, 0x4B } - get status, parameters are defaults&lt;br /&gt;
  Response: &lt;br /&gt;
    dword Magic=0x2B1A037F - drop rx data until this)&lt;br /&gt;
    dword CurrentDataValue - A0-B15 current state snapshot&lt;br /&gt;
    dword CaptureStatus - 0-not finished, 1-?, 2-done, data is ready&lt;br /&gt;
    dword DummyData[244] - pad to 1024 bytes&lt;br /&gt;
&lt;br /&gt;
  { 0x5A, 0x6B } - get captured data, parameters are defaults&lt;br /&gt;
  Response:&lt;br /&gt;
    dword Magic=0x2B1A027F - drop rx data until this&lt;br /&gt;
    dword CaptureData[SampleDepth] - capture data&lt;br /&gt;
    dword EndMarker=0x4D3C037F - drop rx data after this till end of 512 byte packet&lt;br /&gt;
&lt;br /&gt;
=== Acquisition session flow ===&lt;br /&gt;
&lt;br /&gt;
* Send restart vendor request (0xB3)&lt;br /&gt;
* Send { 0x1A, 0x2B } type packet to configure and start capture&lt;br /&gt;
* Poll with { 0x3A, 0x4B } until CaptureStatus=2 (optionally blink bus indicators according to CurrentDataValue during poll)&lt;br /&gt;
* Get capture data with { 0x5A, 0x6B }&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
[http://www.hantek.com/Product/HT4032/SDK.zip Hantek 4032L SDK (Windows only)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Planned]]&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=6446</id>
		<title>Hantek 4032L</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=6446"/>
		<updated>2013-05-22T11:03:05Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Added protocol details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Hantek4032L BoxSideView.png|180px]]&lt;br /&gt;
| name             = Hantek 4032L&lt;br /&gt;
| status           = planned&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 32&lt;br /&gt;
| samplerate       = 400MHz&lt;br /&gt;
| samplerate_state = ?&lt;br /&gt;
| triggers         = edge, pattern, pattern duration, combined&lt;br /&gt;
| voltages         = -6V — +60V input, -6V — +6V threshold&lt;br /&gt;
| memory           = 256MiB&lt;br /&gt;
| compression      = -&lt;br /&gt;
| website          = [http://www.hantek.com/english/produce_list.asp?unid=67 hantek.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [http://www.hantek.com/english/produce_list.asp?unid=67 Hantek 4032L] is an USB-based, 32-channel logic analyzer with up to 400MHz sampling rate and 256MiB memory.&lt;br /&gt;
&lt;br /&gt;
See [[Hantek_4032L/Info]] for more details about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Xilinx Spartan-6 XC6SLX16 CSG324 DIV1225 (FPGA, 14579 logic cells, 2 DDR1/2/3 memory controllers, BGA324)&lt;br /&gt;
* Cypress FX2LP CY7C68013A-100AXC (USB 2.0 HS controller, TQFP100)&lt;br /&gt;
* 2x Micron MT47H64M16HR-25E:H (1Gbit DDR2 SDRAM, BGA)&lt;br /&gt;
* TI TPS51116 (DDR memory power controller)&lt;br /&gt;
* Unknown I2C EEPROM (marking removed, contains FX2 firmware)&lt;br /&gt;
* MXIC MX25L4005 (4Mbit SPI flash, marking removed, contains FPGA bitstream)&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxIso.png|&amp;lt;small&amp;gt;Hantek 4032L with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxPortSide.png|&amp;lt;small&amp;gt;Probe port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxUsbSide.png|&amp;lt;small&amp;gt;PC USB port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbTop.png|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbBottom.png|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
* Vendor request is used to reset the engine and flush the buffers&lt;br /&gt;
* Endpoint 2 is used for host-to-device command/parameters transfers&lt;br /&gt;
* Endpoint 6 is used for device-to-host status/data transfers&lt;br /&gt;
&lt;br /&gt;
X denotes &amp;quot;any value&amp;quot; in the following description&lt;br /&gt;
&lt;br /&gt;
=== Vendor requests ===&lt;br /&gt;
&lt;br /&gt;
* bRequest=0xB3, wValue=X, wIndex=X, wLength=0x0A, data={ 0x0F, 0x03, 0x03, 0x03, X, X, X, X, X, X } - restart the engine (reset FPGA, reset FIFOs)&lt;br /&gt;
* bRequest=0xD0, wValue=X, wIndex=X, wLength=0x00 - disable communication (set FIFO reset), not used&lt;br /&gt;
* bRequest=0xD0, wValue=X, wIndex=X, wLength=0x00 - enable communication (clear FIFO reset), not used&lt;br /&gt;
&lt;br /&gt;
=== Command/Parameters packet ===&lt;br /&gt;
&lt;br /&gt;
  struct CmdParamsPacket&lt;br /&gt;
  &lt;br /&gt;
    byte Magic[2]={ 0x7F, 0x01 }&lt;br /&gt;
  &lt;br /&gt;
    byte SampleRate&lt;br /&gt;
      0x22 - 400MS/s&lt;br /&gt;
      0x23 - 320MS/s&lt;br /&gt;
      0x20 - 200MS/s&lt;br /&gt;
      0x21 - 160MS/s&lt;br /&gt;
      0x00 - 100MS/s&lt;br /&gt;
      0x08 - 80MS/s&lt;br /&gt;
      0x01 - 50MS/s&lt;br /&gt;
      0x09 - 40MS/s&lt;br /&gt;
      0x02 - 25MS/s&lt;br /&gt;
      0x0A - 20MS/s&lt;br /&gt;
      0x03 - 12.5MS/s&lt;br /&gt;
      0x0B - 10MS/s&lt;br /&gt;
      0x04 - 6.25MS/s&lt;br /&gt;
      0x0C - 5MS/s&lt;br /&gt;
      0x10 - 4MS/s&lt;br /&gt;
      0x05 - 3.125MS/s&lt;br /&gt;
      0x0D - 2.5MS/s&lt;br /&gt;
      0x11 - 2MS/s&lt;br /&gt;
      0x06 - 1.5625MS/s&lt;br /&gt;
      0x0E - 1.25MS/s&lt;br /&gt;
      0x12 - 1MS/s&lt;br /&gt;
      0x07 - 781.25KS/s&lt;br /&gt;
      0x0F - 625KS/s&lt;br /&gt;
      0x13 - 500KS/s&lt;br /&gt;
      0x14 - 250KS/s&lt;br /&gt;
      0x15 - 125KS/s&lt;br /&gt;
      0x16 - 62.5KS/s&lt;br /&gt;
      0x17 - 31.25KS/s&lt;br /&gt;
      0x18 - 16KS/s&lt;br /&gt;
      0x19 - 8KS/s&lt;br /&gt;
      0x1A - 4KS/s&lt;br /&gt;
      0x1B - 2KS/s&lt;br /&gt;
      0x1C - 1KS/s&lt;br /&gt;
  &lt;br /&gt;
    byte TrigFlags&lt;br /&gt;
      bit 0 - enable channel A trigger&lt;br /&gt;
      bit 1 - enable channel B trigger&lt;br /&gt;
      bit 2 - trigger logic, 0 - A or B, 1 - A and B&lt;br /&gt;
  &lt;br /&gt;
    word PwmA - channel A Vref PWM value, pseudocode:&lt;br /&gt;
      -6V &amp;lt; ThresholdVoltage &amp;lt; +6V&lt;br /&gt;
      Vref = 1.8-ThresholdVoltage&lt;br /&gt;
      if Vref&amp;gt;10.0&lt;br /&gt;
        Vref = 10.0&lt;br /&gt;
      if Vref&amp;lt;-5.0&lt;br /&gt;
        Vref = -5.0&lt;br /&gt;
      pwm = ToInt((Vref + 5.0) / 15.0 * 4096.0)&lt;br /&gt;
        if pwm&amp;gt;4095&lt;br /&gt;
        pwm = 4095&lt;br /&gt;
  &lt;br /&gt;
    word PwmB - channel B Vref PWM value&lt;br /&gt;
  &lt;br /&gt;
    byte unused[2]&lt;br /&gt;
  &lt;br /&gt;
    dword SampleDepth - sample depth in bits per channel, 2k-64M, must be multiple of 512&lt;br /&gt;
  &lt;br /&gt;
    dword PretriggerDepth - pretrigger buffer depth in bits, must be &amp;lt; SampleDepth&lt;br /&gt;
  &lt;br /&gt;
    struct Trig TrigA - channel A trigger config, see below&lt;br /&gt;
  &lt;br /&gt;
    struct Trig TrigB - channel B trigger config, see below&lt;br /&gt;
  &lt;br /&gt;
    byte Command[2] - command, see below&lt;br /&gt;
&lt;br /&gt;
  struct Trig&lt;br /&gt;
  &lt;br /&gt;
    TBD&lt;br /&gt;
&lt;br /&gt;
==== Commands and responses ====&lt;br /&gt;
&lt;br /&gt;
* { 0x1A, 0x2B } - configure and start capture, all parameters are used&lt;br /&gt;
* { 0x3A, 0x4B } - get status, parameters are defaults&lt;br /&gt;
* { 0x5A, 0x6B } - get captured data, parameters are defaults&lt;br /&gt;
TBD   &lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
[http://www.hantek.com/Product/HT4032/SDK.zip Hantek 4032L SDK (Windows only)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Planned]]&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L/Info&amp;diff=6445</id>
		<title>Hantek 4032L/Info</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L/Info&amp;diff=6445"/>
		<updated>2013-05-21T19:27:51Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== USB descriptors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
  Device Descriptor:&lt;br /&gt;
    bcdUSB:             0x0200&lt;br /&gt;
    bDeviceClass:         0x00&lt;br /&gt;
    bDeviceSubClass:      0x00&lt;br /&gt;
    bDeviceProtocol:      0x00&lt;br /&gt;
    bMaxPacketSize0:      0x40 (64)&lt;br /&gt;
    idVendor:           0x04B5 (ROHM LSI Systems USA, LLC)&lt;br /&gt;
    idProduct:          0x4032&lt;br /&gt;
    bcdDevice:          0x0000&lt;br /&gt;
    iManufacturer:        0x01&lt;br /&gt;
        0x0409: &amp;quot;ODM   &amp;quot;&lt;br /&gt;
    iProduct:             0x02&lt;br /&gt;
        0x0409: &amp;quot;LA-4032&amp;quot;&lt;br /&gt;
    iSerialNumber:        0x00&lt;br /&gt;
    bNumConfigurations:   0x01&lt;br /&gt;
  &lt;br /&gt;
  Configuration Descriptor:&lt;br /&gt;
    wTotalLength:       0x0020&lt;br /&gt;
    bNumInterfaces:       0x01&lt;br /&gt;
    bConfigurationValue:  0x01&lt;br /&gt;
    iConfiguration:       0x00&lt;br /&gt;
    bmAttributes:         0xA0 (Bus Powered Remote Wakeup)&lt;br /&gt;
    MaxPower:             0xFA (500 Ma)&lt;br /&gt;
  &lt;br /&gt;
  Interface Descriptor:&lt;br /&gt;
    bInterfaceNumber:     0x00&lt;br /&gt;
    bAlternateSetting:    0x00&lt;br /&gt;
    bNumEndpoints:        0x02&lt;br /&gt;
    bInterfaceClass:      0xFF&lt;br /&gt;
    bInterfaceSubClass:   0x00&lt;br /&gt;
    bInterfaceProtocol:   0x00&lt;br /&gt;
    iInterface:           0x00&lt;br /&gt;
 &lt;br /&gt;
  Endpoint Descriptor:&lt;br /&gt;
    bEndpointAddress:     0x02&lt;br /&gt;
    Transfer Type:        Bulk&lt;br /&gt;
    wMaxPacketSize:     0x0200 (512)&lt;br /&gt;
    bInterval:            0x00&lt;br /&gt;
  &lt;br /&gt;
  Endpoint Descriptor:&lt;br /&gt;
    bEndpointAddress:     0x86&lt;br /&gt;
    Transfer Type:        Bulk&lt;br /&gt;
    wMaxPacketSize:     0x0200 (512)&lt;br /&gt;
    bInterval:            0x00&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PCB testpoints ==&lt;br /&gt;
&lt;br /&gt;
=== JTAG ===&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
=== SPI FLASH ===&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=6444</id>
		<title>Hantek 4032L</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=Hantek_4032L&amp;diff=6444"/>
		<updated>2013-05-21T19:19:01Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Created page with &amp;quot;{{Infobox logic analyzer | image            = 180px | name             = Hantek 4032L | status           = planned | source_code_dir  =  |...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox logic analyzer&lt;br /&gt;
| image            = [[File:Hantek4032L BoxSideView.png|180px]]&lt;br /&gt;
| name             = Hantek 4032L&lt;br /&gt;
| status           = planned&lt;br /&gt;
| source_code_dir  = &lt;br /&gt;
| channels         = 32&lt;br /&gt;
| samplerate       = 400MHz&lt;br /&gt;
| samplerate_state = ?&lt;br /&gt;
| triggers         = edge, pattern, pattern duration, combined&lt;br /&gt;
| voltages         = -6V — +60V input, -6V — +6V threshold&lt;br /&gt;
| memory           = 256MiB&lt;br /&gt;
| compression      = -&lt;br /&gt;
| website          = [http://www.hantek.com/english/produce_list.asp?unid=67 hantek.com]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The [http://www.hantek.com/english/produce_list.asp?unid=67 Hantek 4032L] is a USB-based, 32-channel logic analyzer with up to 400MHz sampling rate and 256MiB memory.&lt;br /&gt;
&lt;br /&gt;
See [[Hantek_4032L/Info]] for more details about the device.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Xilinx Spartan-6 XC6SLX16 CSG324 DIV1225 (FPGA, 14579 logic cells, 2 DDR1/2/3 memory controllers, BGA324)&lt;br /&gt;
* Cypress FX2LP CY7C68013A-100AXC (USB 2.0 HS controller, TQFP100)&lt;br /&gt;
* 2x Micron MT47H64M16HR-25E:H (1Gbit DDR2 SDRAM, BGA)&lt;br /&gt;
* TI TPS51116 (DDR memory power controller)&lt;br /&gt;
* Unknown I2C EEPROM (marking removed, contains FX2 firmware)&lt;br /&gt;
* MXIC MX25L4005 (4Mbit SPI flash, marking removed, contains FPGA bitstream)&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxIso.png|&amp;lt;small&amp;gt;Hantek 4032L with probes&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxPortSide.png|&amp;lt;small&amp;gt;Probe port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L BoxUsbSide.png|&amp;lt;small&amp;gt;PC USB port side&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbTop.png|&amp;lt;small&amp;gt;PCB, top&amp;lt;/small&amp;gt;&lt;br /&gt;
File:Hantek4032L PcbBottom.png|&amp;lt;small&amp;gt;PCB, bottom&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Protocol ==&lt;br /&gt;
&lt;br /&gt;
* Vendor request is used to reset the engine and flush the buffers&lt;br /&gt;
* Endpoint 2 is used for host-to-device command/parameters transfers&lt;br /&gt;
* Endpoint 6 is used for device-to-host status/data transfers&lt;br /&gt;
&lt;br /&gt;
TODO.&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
[http://www.hantek.com/Product/HT4032/SDK.zip Hantek 4032L SDK (Windows only)]&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;br /&gt;
[[Category:Logic analyzer]]&lt;br /&gt;
[[Category:Planned]]&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Hantek4032L_BoxUsbSide.png&amp;diff=6443</id>
		<title>File:Hantek4032L BoxUsbSide.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Hantek4032L_BoxUsbSide.png&amp;diff=6443"/>
		<updated>2013-05-21T18:59:48Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Hantek 4032L USB side&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Hantek 4032L USB side&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD}}&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Hantek4032L_BoxPortSide.png&amp;diff=6442</id>
		<title>File:Hantek4032L BoxPortSide.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Hantek4032L_BoxPortSide.png&amp;diff=6442"/>
		<updated>2013-05-21T18:55:49Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Hantek 4032L port side&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Hantek 4032L port side&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD}}&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Hantek4032L_PcbBottom.png&amp;diff=6441</id>
		<title>File:Hantek4032L PcbBottom.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Hantek4032L_PcbBottom.png&amp;diff=6441"/>
		<updated>2013-05-21T18:53:41Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Hantek 4032L PCB bottom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Hantek 4032L PCB bottom&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD}}&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Hantek4032L_PcbTop.png&amp;diff=6440</id>
		<title>File:Hantek4032L PcbTop.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Hantek4032L_PcbTop.png&amp;diff=6440"/>
		<updated>2013-05-21T18:48:10Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Hantek 4032L PCB top&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Hantek 4032L PCB top&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD}}&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Hantek4032L_BoxIso.png&amp;diff=6439</id>
		<title>File:Hantek4032L BoxIso.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Hantek4032L_BoxIso.png&amp;diff=6439"/>
		<updated>2013-05-21T18:39:14Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Hantek 4032L with probes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Hantek 4032L with probes&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD}}&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
	<entry>
		<id>https://sigrok.org/w/index.php?title=File:Hantek4032L_BoxSideView.png&amp;diff=6438</id>
		<title>File:Hantek4032L BoxSideView.png</title>
		<link rel="alternate" type="text/html" href="https://sigrok.org/w/index.php?title=File:Hantek4032L_BoxSideView.png&amp;diff=6438"/>
		<updated>2013-05-21T18:12:44Z</updated>

		<summary type="html">&lt;p&gt;Olegch: Hantek 4032L&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Hantek 4032L&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{PD}}&lt;/div&gt;</summary>
		<author><name>Olegch</name></author>
	</entry>
</feed>