OpenHantek6022 is a free software for Hantek and compatible (Voltcraft/Darkwire/Protek/Acetech) USB digital signal oscilloscopes. It was initially developed by David Gräff and others on github.com/OpenHantek/openhantek. After David stopped maintaining the programm I cloned the repo to provide updates - only for Hantek 6022BE/BL.
- Supported devices: Hantek 6022BE and 6022BL as well as compatible scopes (e.g. Voltcraft DSO-2020) and SainSmart DDS120 (thx msiegert).
- Fully supported operating system: Linux; developed under debian stable for amd64 architecture.
- Raspberry Pi packages (raspbian stable) are available on the Releases page.
- Compiles under FreeBSD (packaging / installation: work in progress, thx tspspi).
- Other operating systems builds: Windows (partly tested) & MacOSX (untested).
- Uses free open source firmware, no longer dependent on nonfree Hantek firmware.
- Extensive User Manual with technical specs and schematics.
- Voltage and Spectrum view for all device supported chanels.
- CH1 and CH2 name becomes red when input is clipped (bottom left).
- Checkbox for X10 probes.
- Measure and display Vpp, RMS, DC (average), AC (rms) and AC as dB values as well as frequency of active channels.
- Math channel modes: CH1+CH2, CH1-CH2, CH2-CH1, CH1*CH2 and AC part of CH1 or CH2.
- Time base 100 ms/div .. 10 ns/div.
- Sample rates 100, 200, 500 kS/s, 1, 2, 5, 10, 12, 15, 24, 30 MS/s (24 & 30 MS/s in CH1-only mode).
- 48 MS/s not supported due to unstable USB data streaming.
- Downsampling (up to 100x) increases solution and SNR.
- Downsampling sample rates 10, 20, 50 kS/s.
- Calibration output square wave signal frequency can be selected between 50 Hz .. 100 kHz in 1/2/5 steps.
- Trigger modes: Normal, Auto and Single with green/red status display (top left).
- Calibration values loaded from eeprom or a model configuration file.
- Calibration program to create these values automatically.
- Sinc interpolation for fast timebase settings improves pictures with only few samples on screen.
- Digital phosphor effect to notice even short spikes; simple eye-diagram display with alternating trigger slope.
- A zoom view with a freely selectable range.
- Cursor measurement function for voltage, time, amplitude and frequency.
- Export to CSV, JPG, PNG or print the graphs.
- Freely configurable colors.
- The dock views on the main window can be customized by dragging them around and stacking them. This allows a minimum window size of 640*480 for old workstation computers.
- All settings can be saved to a configuration file and loaded again.
- A little HW modification adds AC coupling. OpenHantek6022 supports this feature since v2.17-rc5 / FW0204.
- Get Linux, Raspberry Pi (and untested Win) packages from the Releases page.
- Get MacOSX package from macports - thx ra1nb0w.
- Get Fedora rpm packages - thx Vascom.
- Download (untested) Windows build from last commit.
- The MacOSX archive from Releases contains only the dynamic linked binary, you have to provide the necessary libraries on your own! Please have a look at the build instructions.
You need the following software, to build OpenHantek from source:
- CMake 3.5+
- Qt 5.4+
- FFTW 3+ (prebuild files will be downloaded on windows)
- libusb-1.0, version >= 1.0.16 (prebuild files will be used on windows)
- A compiler that supports C++11 - tested with gcc, clang and msvc
We have build instructions available for Linux, Apple MacOSX and Microsoft Windows.
With the original OpenHantek version you needed an OpenGL 3.2+ or OpenGL ES 2.0+ capable graphics hardware.
OpenHantek6022 runs also on legacy HW/SW (OpenGL 2.1+ or OpenGL ES 1.2+) with the patch coozoo@01b42d3
OpenGL is preferred, if available. Overwrite this behaviour by starting OpenHantek
from the command line like this: OpenHantek --useGLES
.
USB access for the device is required:
- As seen on the Microsoft Windows build instructions page, you have to assign an usb driver to the device. The original Hantek driver doesn't work.
- On Linux, you need to copy the file
utils/udev_rules/60-hantek.rules
to/etc/udev/rules.d/
or/lib/udev/rules.d/
and replug your device.
The scope doesn't store the firmware permanently in flash or eeprom, it must be uploaded after each power-up and is kept in ram 'til power-down. If the scope was used with a different software (old openhantek, sigrok or the windows software) the scope must be unplugged and replugged one-time before using it with OpenHantek6022 to enable the automatic loading of the correct firmware. The top line of the program must display the correct firmware version (FW0204).
I use this project mainly to explore how DSP can improve and extend the limitations of this kind of low level hardware. It would have been easy to spend a few bucks more to buy a powerful scope - but it would be much less fun :) Please refer also to the developer documentation pages.
We welcome any reported Github Issue if you have a problem with this software. Send us a pull request for enhancements and fixes. Some random notes:
- Read how to properly contribute to open source projects on GitHub.
- Create a separate branch other than master for your changes. It is not possible to directly commit to master on this repository.
- Write good commit messages.
- Use the same coding style and spacing
(install clang-format. Use make target:
make format
or execute directly from the openhantek directory:clang-format -style=file src/*
). - Open a pull request with a clear title and description.
- Read Add a new device if you want to know how to add a device.
- We recommend QtCreator as IDE on all platforms. It comes with CMake support, a decent compiler, and Qt out of the box.
- Firmware used by OpenHantek and python bindings for 6022BE/BL
- sigrok
- Software for the Hantek 6022BE/BL (win only)
- HScope for Android A one-channel basic version is available free of charge (with in-app purchases).