Hantek 6022BE
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.
Hardware
- USB: Cypress CY7C68013A-100AXC (FX2LP) (datasheet)
- 256-byte I²C EEPROM: Microchip 24LC02BI (datasheet)
- 16-Bit bus transceiver with 3-state outputs: TI SN74LVC16245A (datasheet)
- 1A low-dropout voltage regulator (3.3V): Advanced Monolithic Systems AMS1117-3.3 (datasheet)
- 2W, fixed input, isolated & unregulated dual/single output DC/DC converter: Mornsun A_S-2WR2 (A0505S-2WR2) (datasheet)
- ADC: ?
- Crystal: 24MHz
- Probes: ?
Photos
Another teardown:
Protocol
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. |
Set number of channels | 0xE4 | Possible values: 1, 2. |
Firmware
We use the open-source firmware file hantek-6022be.fw from sigrok-firmware-fx2lafw for this device. The firmware was originally written by Jochen Hoenicke (see README for details), thanks a lot!
The protocol of the open-source firmware we use (see below) is similar, but not identical, to the vendor's firmware protocol. The vendor firmware was originally reverse engineered and documented for the Hantek6022API project. The open-source implementation was done from scratch, though.
Note: The firmware is not flashed into the device permanently! You need to only 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 6022BE to a USB port).