readme.md
OpenHantek

OpenHantek is a free software for Hantek (Voltcraft/Darkwire/Protek/Acetech) USB digital storage oscilloscopes based on HantekDSO and has started as an alternative to the official Hantek DSO software.
Supported operating systems:
- Linux
- MacOSX
- Windows (You need to download the WinUSB driver files and customize the inf file for your device yourself at the moment)

Supported hantek devices:
- DSO2xxx Series
- DSO52xx Series
- 6022BE/BL
Install prebuilt binary
Navigate to the Releases page
Building OpenHantek from source
You need the following packages, to build OpenHantek from source:
- CMake 3.5+
- Qt 5.3+
- FFTW 3+ (prebuild files will be downloaded on windows)
- libusb 1.x (prebuild files will be used on windows)
You need a OpenGL 3.x capable graphics card for OpenHantek.
Install requirements on Linux
For debian based systems (Ubuntu, Mint) install named requirements like this:
apt-get install g++ cmake qttools5-dev qttools5-dev-tools libfftw3-dev binutils-dev libusb-1.0-0-dev
For rpm based distributions (Fedora) use this command:
dnf install cmake gcc-c++ qt5-qtbase-gui qt5-qttools-devel qt5-qttranslations fftw-devel binutils-devel libusb-devel
Install requirements on OSX
For MacOSX use homebrew
brew update
brew install libusb fftw qt5;
Build on Linux
After you've installed the requirements run the following commands inside the directory of this package:
mkdir build
cd build
cmake ../
make -j
Optionally install the program including a desktop icon:
sudo make install
Build on OSX
After you've installed the requirements run the following commands inside the directory of this package:
mkdir build
cd build
cmake ../ -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.7.0
make -j
Please adjust the path to Qt5. You can find the path with the command:
brew info qt5
Build on Windows
Run the CMake GUI program and select the source directory, build directory and your compiler. If your compiler is for example Visual Studio, cmake will generate a Visual Studio Project and solution file (*.sln). Open the project and build it.
Executing OpenHantek
- Linux/OSX: Add your current user to the plugdev group for access to USB devices:
usermod -a -G plugdev {user id}
Make sure the firmware for your DSO has been uploaded to the device before starting OpenHantek. See the next section for further information.
Execute OpenHantek. On Windows, click the OpenHantek.exe file. On Linux/OSX on the command line in the build directory:
./bin/OpenHantek
Firmware
Your DSO does not store its firmware permanently -- the firmware has to be sent to the device each time it is connected. The firmware directory of this project contains the binary firmware extracted from Hantek's Windows drivers, and a udev rule to upload the firmware to the device automatically each time it is plugged in.
- You need binutils-dev autoconf automake fxload
- Install the
firmware/*.hexfiles into/usr/local/share/hantek/.
mkdir -p /usr/local/share/hantek
cp -r firmware/*.hex /usr/local/share/hantek/
- Install the
firmware/90-hantek.rulesfile into/etc/udev/rules.d/.
cp firmware/90-hantek.rules /etc/udev/rules.d/
- install fxload (fxload is a program which downloads firmware to USB devices based on AnchorChips EZ-USB, Cypress EZ-USB FX, or Cypress EZ-USB FX2 microcontrollers.)
apt-get install fxload
6022BE
You can adjust samplerate and use software triggering for 6022BE.
- Support 48, 24, 16, 8, 4, 2, 1 M and 500, 200, 100 k Hz samplerates with modded firmware by jhoenicke
- Support software trigger by detecting rising or falling edge of signal. Use software trigger item on the trigger menu. For trigger level, adjust left arrow on the right-side of the graph.
- Note that the first few thousand samples are dropped due to unstable/unusual reading.
Contribute
Please use Github Issues to report any problems or enhancements or send us pull requests. Some random notes:
- Read how to properly contribute to open source projects on GitHub.
- Create a separate branch other than master to easily amend changes to a pull request later, if necessary.
- Write good commit messages.
- Squash commits on the topic branch before opening a pull request.
- Use the same coding style and spacing
(install clang-format and use it in the root directory:
clang-format -style=llvm openhantek/src/*). - Open a pull request with a clear title and description