Skip to content

Hantek 6022BL

Bart Snijder edited this page Jun 4, 2025 · 30 revisions

Hantek biedt een aantal low cost USB oscilloscopen aan. De 6022BL is daar één van en kost bij AliExpress ca 70 euro (maart 2025). Voor die 70 euro heb je een leuke hobby oscilloscoop met 2 kanalen met 20 Mhz bandbreedte (zo men beweert) en een logic analyzer van 16 kanalen. Leuk dingetje voor een leuke prijs. Maar voor die conclusie moet je niet de standaard drivers en Windows applicatie van Hantek zelf gebruiken, dat is niet veel. In de eerste plaats omdat je direct zit dat de nullijn van het scoopje wel heel onrustig is, maar ook omdat de Hantek applicatie er echt niet uitziet en gewoon niet lekker in het gebruik is.

Gelukkig kun je voor deze scoop via sigrok, een 'open hardware community', alternatieve (opensource) drivers, een mooie Window applicatie en Python aansturing vinden. Deze software helpt je open source drivers op de hantek zetten. Dat is heel mooi, want deze Hantek ondersteunt 'out of the box' geen Python. Deze pagina bestaat uit twee delen: het eerste deel is een complete instructie voor Windows 11, die is gebaseerd op verschillende bronnen, die vermeld staan in deel 2.

Hantek Windows 11 installatie

Als je de relevante info uit de diverse bronnen weet te peuteren en uit weet te voeren, gaat het lukken om de Hantek scope met Python te besturen. Het is mij, na wat geklier, uiteindelijk ook geluk. Daarom vind je in deze paragraaf, als samenvatting, de stap voor stap instructie voor installatie op een Windows 11 laptop. LET OP: de besturing gaat op deze wijze NIET via VISA. Dat is duidelijk nog wel de wens voor de toekomst.

Installeer Python en maak een virtual environment aan.

LET OP. Voor mensen die Python code schrijven in Visual Studio Code en denken via de ingebouwde terminal te kunnen installeren: dat dacht ik ook. Maar dat ging subtiel mis. De terminal in Visual mist bepaalde rechten waardoor onderstaand installatie proces gaat mislukken. Voor wie dit geldt: open een cmd shell en doe het handmatig!

Voor diegenen die nog geen Python en virtual environment (venv) op hun machine hebben:

  1. Als je dat nog niet hebt gedaan: installeer een recente Python versie op jouw systeem.
  2. Als je dat nog niet hebt gedaan: maak een Python virtual environment (venv) aan. LET OP: bij voorkeur korte paden gebruiken en vermijd spaties!
Laat mij zien hoe ik een venv moet maken
  • Open een cmd scherm (een shell) en ga naar de root, voer het volgende commando uit: cd c:\
  • Maak nu onder de root een map pyenv aan, door het uitvoeren van het volgende commando: mkdir pyenv
  • Navigeer naar deze map: cd pyenv
  • Maak een venv met de naam labcontrol aan: python -m venv labcontrol
  • Activeer deze omgeving: c:\pyenv\labcontrol\Scripts\activate

Installeren juiste Hantek Windows driver

  1. Maak een kloon van deze repo.
  2. De meegeleverde Hantek Windows driver is niet geschikt. Om met Python de Hantek te kunnen besturen moet je de Openhantek Windows Driver gebruiken. Die vind je in deze repo in de map \firmware\hantek\OpenHantek_Windriver of hier (todo: link)
  3. Open de map van de OpenHantek Driver via de File Explorer, selecteer het OpenHantek.inf bestand, klik rechter muisknop en kies voor "installeren". Doe dit ook als je (per ongeluk) de meegeleverde Hantek driver al had geïnstalleerd.

Installeer de juiste usb bibliotheek voor Python.

  1. In de map \firmware\Hantek\libusb staat het bestand libusb-1.0.dll.
  2. Kopieer het bestand libusb-1.0.dllnaar de map waar python.exe staat. Opmerking: de libusb-1.0.dll komt uit een sourceforge libusb archief. Dit archief (een .7z bestand) kun je hier downloaden. Pak het bestand uit en dan vind je het dll bestand in de \libusb-1.0.28\MinGW64\dll map.
Laat mij zien hoe
  • Ga naar de directory waar jij jouw Python virtual environment hebt aangemaakt. Bijvoorbeeld c:\pyenv\labcontrol\scripts\
  • Kopieer het bestand libusb-1.0.dllnaar deze map.

Installatie van de Python HantekAPI

Dit is de laatste stap om met Python de Hantek te kunnen besturen. Hiervoor moet je de volgende stappen uitvoeren:

  1. Zorg dat jouw Python Virtual Environment (venv) geactiveerd is: c:\pyenv\labcontrol\Scripts\activate
  2. git clone https://github.com/Ho-Ro/Hantek6022API
  3. cd Hantek6022API
  4. pip install . Vergeet de punt hier niet! Deze repo heeft map met voorbeelden die je kunt uitproberen. Bij mij werkt het! Opmerking: op Sigrok en op andere plekken is duidelijk te lezen dat de Hantek scope de firmware niet vasthoudt. De Python code in de Hantek6022API laadt elke keer de juiste firmware in de Hantek voor dat er gecommuniceerd wordt.

Integratie van Hantek 6022 in Labcontrol

De Hantek 6022 heeft alleen een eigen protocol over USB, geen VISA. De huidige aanpak is om met een minimale server, een VISA Socket interface te faken. De namaak SCPI commando's worden door de server vertaald naar HANTEK usb commando's. Daarvoor is enig begrip van de Hantek6022API wel handig. Dat begrip is gebaseerd op de Python voorbeelden van deze repo. Het lastigste voorbeeld is de streaming in python. Deze staat in het bestand realtime_qt.py. Deze paragraaf probeert een analy


Bronnen

Sigrok

Bovenaan de homepagina van Sigrok staat duidelijk omschreven wat het doel is: "The sigrok project aims at creating a portable, cross-platform, Free/Libre/Open-Source signal analysis software suite that supports various device types". De Hantek pagina van sigrok vind je hier

OpenHantek

Sigrok levert de firmware voor de Hantek, waarmee je een eigen applicatie bovenop kan bouwen. Maar je kan ook via Github zo'n applicatie dowloaden. (OpenHantek)[https://github.com/OpenHantek] is zo'n implementatie. Op deze repo vind je een implementatie voor de 6022. De info die je nodig hebt om de open hardware drivers in te laden staat hier. De benodige .inf vind je in deze repo, maar die wordt niet geupdate!

Hantek6022API

Om te zorgen dat je de aangepaste Hantek driver kunt inzetten met Python besturing, moet je op de Hantek6022API repo kijken. Hoewel alle software in principe voor Linux is gemaakt, werkt het dus ook op Windows 11. De instructie om dit voor elkaar te krijgen vind je hier.

Clone this wiki locally