Hantek 6022BE

From sigrok
Jump to navigation Jump to search
Hantek 6022BE
Hantek 6022be mugshot.png
Status supported
Source code hantek-6xxx
Channels 2
Samplerate 48MHz
Analog bandwidth 20MHz
Vertical resolution 8bit
Triggers none (SW-only)
Input impedance 1MΩ‖25pF
Memory none
Display none
Connectivity USB
Website hantek.com

The Hantek 6022BE is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MS/s and 48MS/s sampling rate.

See Hantek 6022BE/Info for more details (such as lsusb -v output) about the device.


NXP 74HC4051D (upper/lower, CH1/CH2) pinout:

(GND) Y4 1-   O -16 VCC
(GND) Y6 2- -15 Y2
Z 3- -14 Y1
(GND) Y7 4- -13 Y0
(GND) Y5 5- -12 Y3
(GND) E# 6- -11 S0 (FX2 PC2)
VEE 7- -10 S1 (FX2 PC3)
GND 8- -9 S2 (FX2 PC4)
(GND) Y4 1-   O -16 VCC
(GND) Y6 2- -15 Y2
Z 3- -14 Y1
(GND) Y7 4- -13 Y0
(GND) Y5 5- -12 Y3
(GND) E# 6- -11 S0 (FX2 PC5)
VEE 7- -10 S1 (FX2 PC6)
GND 8- -9 S2 (FX2 PC7)

S2 S1 S0 74HC4051D Mux VDIVs (vendor software)
0 0 0 Y0 to Z 200mV
0 0 1 Y1 to Z 500mV
0 1 0 Y2 to Z 5V, 2V, 1V
0 1 1 Y3 to Z 100mV, 50mV, 20mV

Microchip 24LC02BI pinout:

(Low, but not GND) A0 1-   O -8 VCC
(GND) A1 2- -7 WP (GND)
(GND) A2 3- -6 SCL (FX2 SCL)
VSS 4- -5 SDA (FX2 SDA)

Analog Devices ADS9288 pinout:

AD9288 pins Description
S1, S2 S1=VCC, S2=GND. "Normal operation, data align disabled".
DFS Tied to GND. Data format select = "offset binary" (not "twos complement").
AINA, AINB Analog input channels.

Cypress FX2 pinout:

FX2 pins Description
CTL2 Connected to AD9288 ENCA and ENCB and FX2 IFCLK.
PB0-PB7 Connected to AD9288 D0A-D7A.
PD0-PD7 Connected to AD9288 D0B-D7B.
PA7 1kHz probe calibration pin.
PC0/PC1 Dual-color (red/green) LED.
0 0 ?
0 1 green
1 0 red
1 1 off


Another teardown:


Oscilloscope command bRequest value Notes
Set CH0 voltage range 0xE0 Possible values: 1, 2, 5, 10 (5V, 2.5V, 1V, 500mV).
Set CH1 voltage range 0xE1 Possible values: 1, 2, 5, 10 (5V, 2.5V, 1V, 500mV).
Set sampling rate 0xE2 Possible values: 48, 30, 24, 16, 8, 4, 1 (MHz) and 50, 20, 10 (*10kHz).
Trigger oscilloscope 0xE3 Possible values: 1 == start sampling. 0 == ignored currently.
Set number of channels 0xE4 Possible values: 1, 2.


In order to use this device, the sigrok-firmware-fx2lafw (>= 0.1.4) firmware is required.

The firmware was originally written by Jochen Hoenicke (see README for details), thanks a lot!

Note: The firmware is not flashed into the device permanently! You only need to make it available in the usual place where libsigrok looks for firmware files, it will be used automatically (and "uploaded" to the Cypress FX2's SRAM every time you attach the device to a USB port).

Note: On Windows, you will have to assign the WinUSB driver via Zadig twice: the first time for the initial USB VID/PID the device has when attaching it via USB (04b4:6022 or 04b5:6022, depending on which vendor driver is currently being used by the device), and a second time after the firmware has been uploaded to the device and the device has "renumerated" with a different VID/PID pair (1d50:608e).