Open-source project
OpenHantek/OpenHantek6022 avatar
OpenHantek/OpenHantek6022

OpenHantek6022 drives cheap USB scopes and keeps their firmware open

OpenHantek6022 is a DSO software for Hantek USB digital signal oscilloscopes 6022BE / BL. Development OS is Debian Linux, but the program also works on FreeBSD, MacOS, RaspberryPi and Windows. No support for non-Linux related issues unless a volunteer steps in!

1,151 stars219 forksC++GPL-3.0

At a glance

What is it?
OpenHantek6022 is free software for the Hantek DSO6022 family of USB digital storage oscilloscopes and their compatibles, with voltage and spectrum views, math channels, trigger modes and an active open source firmware path. It fits a hobbyist or engineer with one of these cheap scopes who wants the hardware to be usable, and it does not fit a lab that needs a calibrated instrument.
Who is it for?
OpenHantek6022 fits a hobbyist, educator or engineer who owns a Hantek 6022BE or 6022BL, or a compatible Voltcraft, Darkwire, Protek or Acetech scope, and wants measurements the vendor software does not offer. It does not fit a lab that needs traceable calibration or a scope from another vendor.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 28 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 7, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • OpenHantek/OpenHantek60221,151 ★ · +17
Star history
Repository2026-10-192026-11-07
OpenHantek/OpenHantek60221.1k1.2k

17 Stars in the last 19 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The scope is a USB device with a Cypress processor, which decides everything

OpenHantek6022 is free software for Hantek DSO6022 USB digital signal oscilloscopes, and the README states plainly that it is actively developed on GitHub but only for Hantek 6022BE and 6022BL and compatible scopes, naming Voltcraft, Darkwire, Protek and Acetech among them.

The hardware is what shapes the design. The README says the software works with digital USB 2 channel scopes based on the Cypress EzUSB processor, which are typically announced as scopes with a maximum sample rate of 48 MS/s. The parenthetical that follows is the important part: even if this theoretical rate works, it is not reliable on most systems due to USB protocol overhead.

That single sentence explains most of the feature list. A 48 MS/s headline figure is a USB bandwidth budget, not a guarantee, and the actual supported sample rates in the documentation top out much lower, at 30 MS/s, with 24 MS/s and 30 MS/s available in CH1-only mode and 48 MS/s explicitly not supported due to unstable USB data streaming.

There is also a supported third device, the SainSmart DDS120, which has a different analog front end and uses the slightly improved sigrok firmware, with some limitations compared to the Hantek scopes. The README also says this project gives no support for its currently unmaintained predecessor, openhantek, which is worth knowing before you follow an old thread.

The project is GPL-3.0 licensed, and the last push was on 2026-10-11.

The measurement set goes well past what a cheap scope vendor tool offers

The features section is where this project distinguishes itself from the stock software, and the scope is wider than the name suggests.

There is a voltage and spectrum view for all device supported channels, and the CH1 and CH2 name becomes red when the input is clipped, which is a small detail that removes a real class of measurement error. Probe attenuation is settable from 1 to 1000 to accommodate a variety of different probes.

The measured quantities are Vpp, DC as the average, AC, RMS and dB of RMS, plus the frequency of active channels, and the decibel display can be selected as dBV where 0 dBV is 1 V rms, dBu where 0 dBu is 1 mW at 600 ohms, or dBm where 0 dBm is 1 mW at 50 ohms. There is also the power dissipation for a load resistance of 1 to 1000 ohms, and the THD of the signal, both optional and set in Oscilloscope/Settings/Analysis.

For audio work there are the musical note values and deviation in cent, twelve equal, with A = 440 Hz, which the README says is useful to tune an electrical guitar.

The math channels are the part that makes it feel like an instrument rather than a display. There are arithmetical modes for CH1 and CH2, CH1+CH2, CH1-CH2, CH2-CH1 and CH1*CH2. There are analog modes for CH1 or CH2, including square, abs, sign, the AC and DC part, and linear phase low pass filtering. And there are logical modes, and, or, xor, equality and comparison, plus a compare with trigger level mode for one of the channels.

Triggering and timebase are the parts a real scope gets right

The acquisition side of the feature list is where the engineering shows.

The time base runs from 10 ns per division to 10 s per division. The sample rate list runs 100, 200 and 500 samples per second, then 1, 2, 5, 10, 20, 50, 100, 200 and 500 kS/s, and 1, 2, 5, 10, 12, 15, 24 and 30 MS/s, with 24 and 30 MS/s in CH1-only mode and 48 MS/s not supported because of unstable USB data streaming.

Hardware input gain is selected automatically based on vertical sensitivity, with 1x up to plus or minus 5 V for 1, 2 or 5 V per division, 2x up to plus or minus 2.5 V for 500 mV per division, 5x up to plus or minus 1 V for 200 mV per division, and 10x up to plus or minus 500 mV for 20 or 50 mV per division. That automatic coupling of gain range to the vertical setting is the kind of detail that a scope with a real front end does and a cheap one with a single fixed gain does not.

Downsampling, up to 200x, is offered to increase resolution and signal to noise ratio.

The trigger source can be CH1, CH2 or MATH, and the trigger modes are Normal, Auto and Single, with a green or red status display in the top left. An untriggered Roll mode covers slow time bases of 200 ms per division to 10 s per division, where waiting for a trigger edge would never come. The trigger filter can be HF, which also triggers on glitches, Normal, or LF for noisy signals.

The two things a scope user notices first, the trigger behaviour and the gain range, are the two this software takes seriously.

The firmware is open source, which is the real answer to vendor lock-in

The README states that the project uses free open source firmware and is no longer dependent on nonfree Hantek firmware, linking the Hantek6022API repository. The practical consequence is that the device no longer needs the vendor's proprietary firmware to be useful, which is the part that matters for longevity. A cheap scope whose firmware is locked to a vendor application that stops being maintained is a paperweight, and the open firmware path is what makes this hardware a viable instrument.

There is also a calibration output that reads as a hobbyist nicety and is actually a measurement tool. The calibration output square wave signal frequency can be selected between 32 Hz and 100 kHz in small steps, described as a poor man's signal generator. A little hardware modification documented in the repository provides a jitter-free hardware-driven calibration output signal instead of the interrupt-driven software output.

The demo mode is provided by the -d or --demoMode command line option, which is a genuinely useful thing for a teaching environment, since it lets someone explore the interface without a scope attached.

The documentation includes an extensive User Manual with technical specs and schematics, and the repository has a Doxyfile, which indicates the source is documented for developers as well as users.

Linux is the supported platform, and the README does not pretend otherwise

The platform section is unusually blunt, and that is a good sign for a project of this kind.

The fully supported operating system is Linux, developed under Debian stable, currently trixie, for amd64 architecture, and there are Raspberry Pi packages for raspbian stable. It compiles under FreeBSD, with packaging and installation described as work in progress. Other operating system builds exist for Windows, described as mostly untested, and macOS, described as completely untested. The README states plainly: no support for non-Linux related issues unless a volunteer steps in.

The repository layout matches that. There are LinuxBuild and LinuxSetup_AsRoot scripts at the root, a CMakeLists.txt with a cmake/ directory, an openhantek/ directory for the source, utils/ for helper tools, and docs/ with the user manual and images.

The development status is visible in the badges. There is a Stability: Active badge from the Masterminds service, a GitHub CI badge for a build workflow, and a set of download badges including one for the latest release and one for the latest devdrop.

The release history shows two different channels. The devdrop tag is dated 2026-10-08, and the versioned releases are 3.4.1-rc2 from 2026-05-03 and 3.4.0 from 2025-03-23. A devdrop is a rolling snapshot of unreleased work, so the repository publishes both a stable line and a moving edge, and the badge for the latest devdrop exists because that channel is what many testers actually run.

Where OpenHantek6022 is the wrong tool

The first wrong-tool case is a scope from another vendor. The support is explicitly limited to the Hantek 6022BE and 6022BL and their compatibles. The SainSmart DDS120 is supported with its own limitations, and everything else is out of scope, so a lab with mixed scopes is not served by one binary.

The second is a measurement that has to be defensible. A USB scope built on a Cypress EzUSB processor, streaming over a USB 2 link that cannot sustain its theoretical sample rate, is an instrument for exploration, teaching and hobby repair. It is not a bench instrument for a report that has to carry calibration uncertainty, and the project does not claim otherwise. The 48 MS/s figure that the hardware advertises and the 30 MS/s the software supports are a summary of that gap.

The third is the platform. The README says Linux is fully supported, Windows is mostly untested and macOS is completely untested, and it asks for a volunteer before it will take non-Linux issues. A Windows or macOS user is running an unsupported build, and the "unless a volunteer steps in" clause is an honest statement that nobody has.

The fourth is that this is a driver plus an application, not a library. The README points to Specifications, Features, Limitations and Developer Documentation as a separate destination, and the repository itself is the application. If you want to acquire samples from this hardware inside your own program, you are using the project's internals and you own that integration.

There is a separate section in the README for Other DSO Open Source Software, which is the right place to look if the hardware is not in this family, and another for Other Related Software.

Editorial conclusion

OpenHantek6022 fits a hobbyist, educator or engineer who owns a Hantek 6022BE or 6022BL, or a compatible Voltcraft, Darkwire, Protek or Acetech scope, and wants measurements the vendor software does not offer. It does not fit a lab that needs traceable calibration or a scope from another vendor. Before installing, confirm the exact model, since support is limited to the 6022BE and 6022BL and compatibles, and note that the README describes Linux as the fully supported platform, with Windows mostly untested and macOS completely untested.

Frequently asked questions

Which oscilloscopes does OpenHantek6022 support?

It supports the Hantek 6022BE and 6022BL and compatible scopes such as the Voltcraft DSO-2020, Darkwire, Protek and Acetech models, plus the SainSmart DDS120 with its own limitations. The project gives no support for its currently unmaintained predecessor, openhantek.

What sample rates does OpenHantek6022 actually reach?

The device is typically announced as a 48 MS/s scope, but the README notes that this theoretical rate is not reliable on most systems due to USB protocol overhead. The supported list runs from 100 S/s to 30 MS/s, with 24 and 30 MS/s in CH1-only mode, and 48 MS/s explicitly not supported because of unstable USB data streaming.

Which operating systems does OpenHantek6022 run on?

Linux is the fully supported platform, developed under Debian stable, currently trixie, for amd64, with Raspberry Pi packages for raspbian stable. It compiles under FreeBSD with packaging in progress, and Windows and macOS builds exist but are described as mostly untested and completely untested respectively. There is no support for non-Linux issues unless a volunteer steps in.

Does OpenHantek6022 need the proprietary Hantek firmware?

No. The project uses free open source firmware from the Hantek6022API repository and is no longer dependent on nonfree Hantek firmware. It also provides a demo mode through the -d or --demoMode command line option for exploring the interface without hardware.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. OpenHantek/OpenHantek6022 on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/openhantek-openhantek6022.svg)](https://hysenlabs.com/projects/openhantek-openhantek6022)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/openhantek-openhantek6022.svg)](https://hysenlabs.com/projects/openhantek-openhantek6022)

Was this useful?