Difference between revisions of "Hantek 6022BE"
Uwe Hermann (talk | contribs) (Teardown.) |
|||
Line 13: | Line 13: | ||
<gallery> | <gallery> | ||
File:Hantek 6022be.jpg|<small>Hantek | File:Hantek 6022be box.jpg|<small>Box</small> | ||
File:Hantek 6022be 1.jpg|<small> | File:Hantek 6022be accessories.jpg|<small>Accessories</small> | ||
File:Hantek 6022be 2.jpg|<small> | File:Hantek 6022be probes.jpg|<small>Probes</small> | ||
Hantek 6022be zoomed 1.jpg|<small> | File:Hantek 6022be device top.jpg|<small>Device, top</small> | ||
Hantek 6022be zoomed 2.jpg|<small> | File:Hantek 6022be device bottom.jpg|<small>Device, bottom</small> | ||
File:Hantek 6022be device connectors.jpg|<small>Device, connectors</small> | |||
File:Hantek 6022be device usb.jpg|<small>Device, USB</small> | |||
File:Hantek 6022be pcb top.jpg|<small>PCB, top</small> | |||
File:Hantek 6022be pcb bottom.jpg|<small>PCB, bottom</small> | |||
File:Hantek 6022be pcb input stage.jpg|<small>Input stage</small> | |||
File:Hantek 6022be cypress fx2lp.jpg|<small>Cypress FX2LP</small> | |||
File:Hantek 6022be microchip 24lc02bi.jpg|<small>Microchip 24LC02BI</small> | |||
File:Hantek 6022be nxp 74hc4051d.jpg|<small>NXP 74HC4051D</small> | |||
File:Hantek 6022be ams1117.jpg|<small>AMS1117</small> | |||
File:Hantek 6022be mornsun a0505s-2wr.jpg|<small>Mornsun A0505S-2WR</small> | |||
</gallery> | |||
'''Another teardown''': | |||
<gallery> | |||
File:Hantek 6022be.jpg|<small>Device, top</small> | |||
File:Hantek 6022be 1.jpg|<small>PCB, top</small> | |||
File:Hantek 6022be 2.jpg|<small>PCB, bottom</small> | |||
Hantek 6022be zoomed 1.jpg|<small>Feedback resistor selector</small> | |||
Hantek 6022be zoomed 2.jpg|<small>Cypress FX2LP</small> | |||
</gallery> | </gallery> | ||
Revision as of 19:39, 12 March 2016
The Hantek 6022BE is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MS/s sampling rate.
See Hantek_6022BE/Info for detailed USB information about the device.
Hardware
- Main chip + USB: FX2LP
- Main oscillator: unknown
Photos
Another teardown:
Protocol
The protocol was reverse engineered and documented in: https://github.com/rpcope1/Hantek6022API/blob/master/REVERSE_ENGINEERING.md
Copied from that page the main data:
Oscilloscope Command | bRequest Value | Other 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 | Clear the FIFO on the FX2LP |
Read/Write EEPROM | 0xA2 | Read or write the eeprom built into the scope. |
Read/Write Firmware | 0xA0 | Read or write the scope firmware. Must be done on scope initialization |
All commands are sent with index = 0x00, the calibration commands are sent with value 0x08, the 0xEx requests are sent with value 0x00, and the value for R/W command is dependent on the Cypress protocol for interacting with the firmware.
Additionally, a bulk read from end point 0x86 reads the current contents of the FIFO, which the ADC is filling. The reference Python libusb code should give further insight into the means for which to interact with the device.
Extracting the firmware
The firmware was extracted, reverse engineered and re-implemented by rpcope1 jhoenicke on github. The open-source firmware can be found at https://github.com/rpcope1/Hantek6022API/tree/master/PyHT6022/HantekFirmware/custom