Yes I have the 8mp pictures
I note that the screening cans have not been fitted to the input amplifiers but the PCB has positions for such. This may explain some of the noise issues that are reported but it could be other factors as well.
Yes I have the 8mp pictures that my camera produces but I didn't want to eat Dave storage with them. I will upload a couple of higher resolution pictures of the PCB for you.
I note that another forum member has posted a review of this unit here:
https://www.eevblog.com/forum/testgear/hantek-6022be-will-it-work-for-me/msg232007/#msg232007 (https://www.eevblog.com/forum/testgear/hantek-6022be-will-it-work-for-me/msg232007/#msg232007)
I note that the screening cans have not been fitted to the input amplifiers but the PCB has positions for such. This may explain some of the noise issues that are reported but it could be other factors as well.
...Now to functionality. This is where it really gets bad, especially if you initially believe the banner specs. I tested on two different computers (a laptop and a desktop, both fairly recent models, and both running Windows 7 64-bit home edition) but the results were identical on both....
Hmmmm, based on Auroras feedback I went back and gave it another try. Here's what I found:
It seems I have to use autoset at least once at some higher timebase. Then it will trigger even at faster timebase settings. (I work a lot with scopes and don't use autoset too often, that's why I didn't try autosetting after initially checking that it does work at some slow frequency). If I just start the software and try to set some fast timebase manually the triggering will not work, as noted in my initial post. After the autoset I can manually change the timebase and it still works. Bug in the software?
I also observe the flickering waveform. It seems the scope can't really start the capturing at a precise moment relative to the trigger so there is an uncertainty of ~1 signal period where the record really lies with respect to the trigger. The software seems to align the waveform correctly (at least after auto setup) but it means some variable portion of the waveform at the beginning and/or the end is missing - different at each capture. Basically only the center portion of the acquired record is consistently usable. You can see similar flickering at the record start when you scroll to the beginning of the waveform.
That said, 5 us/div still does not work at all. Even with autoset there is never a stable display. Aurora, maybe you could try that? (set frequency to around 30 kHz to make autoset go to 5 us/div).
Still have problems with somewhat unstable triggering at slower timebase settings. I use a Rigol DS1022A signal generator which from previous experience I know produces a very clean signal with very little noise. My other scopes have not problem whatsoever to cleanly trigger on its output signal.
It captures only about 1 screen wide worth (10 division) of data for display - at 5ns, that would be merely 50ns worth of display or 2 samples at 48mhz (20.8ns/sample). So I can see any slight shift in trigger causing the display major jitter.
>Attach a screen capture of triggering at 1us to capture a 2mhz square wave -
> 1us is 5 times faster than 5us. Works just fine with very slight jitter.
1us/div works fine or me as well (after doing at least one autoset, that is), as does anything slower or faster than 5us/div. 5us/div is the only timebase setting that just won't trigger and produces garbage data (lots of partial waveforms stitched together).
i received this 6022be scope 1 week ago, done some basic testing, as many other said, ok hardware but bad software (crappy actually). the most annoying thing is the scroll on the a single shot. for eg. i set it to 500ms/div, it records the signal, you zoom in after, and you want to center the segment you want to see more details, this is where it gets ugly, cause you have to drag with the mouse left/right, and most of the times it refuses to do that. maybe it's my windows (7 64bit) or my monitor 1440p resolution, but i find the software to be useless anyway....
i am using it to trace an kwp2000 signal (~10kbps) so for this use it's enough 40msps , actually it's 1msps on longer timebase...
i received this 6022be scope 1 week ago, done some basic testing, as many other said, ok hardware but bad software (crappy actually). the most annoying thing is the scroll on the a single shot. for eg. i set it to 500ms/div, it records the signal, you zoom in after, and you want to center the segment you want to see more details, this is where it gets ugly, cause you have to drag with the mouse left/right, and most of the times it refuses to do that. maybe it's my windows (7 64bit) or my monitor 1440p resolution, but i find the software to be useless anyway....
i am using it to trace an kwp2000 signal (~10kbps) so for this use it's enough 40msps , actually it's 1msps on longer timebase...
Did you turn your cursor off first? The dragging left/right works a lot better with the cursor off.
I had a lot of problem trying to move the wave left/right until I tried turning off the cursor first (1600x1200). It drags without problem but it is still a problem finding the wave form.
Hello, I'm new here and just purchased a Hantek 6022BE v 1.0.3. If I'm butting in here and should not be, please ignore or have the moderator remove. Do not want to ruin a thread.
To begin, this is my first oscilloscope, purchased more to learn than anything else. I'm using WIN XP Prof. on a dated Lenova laptop. There is one problem (or maybe not). The software loaded correctly, and the driver (6022BEAMD642) seems to have installed correctly. However, when I run the initial setup test, I can get a square waveform only on CH1. CH2 shows mostly noise, and no distinguishable waveform. So question: should I be getting a square waveform on CH2 self-test? I note in my Hardware that it lists only DRIVER 2 Should there be a DRIVER 1? I have tried reinstalling, but same thing.
TIA
Thanks Rick, for the feedback. Yep, the newbie thingy about sums it up. The problem was me! :-// I thought the probes must be connected to separate test points. Worked perfectly when I connected the probes to the same input, and a ground to the other. Daaaa! Should prove to be fun.This forum is full of experience and most folks here are very kind and helpful to newbies.
Good one. :-DD
Getting serious, Re: Driver 1 & 2 .... Strange, today my system did not recognize the Hantek, and had to reinstall driver(s). This time it loaded both 1 & 2. Everything seems good.
...I heard that each cable was for a separate channel - however mine only shipped with one probe (not two as advertised) but when I touch the channel 2 input I can get a 60Hz mains wave so its clearly working with just the black plug...
Ummm.."supper anti spyware program" ?????
Is it from a well known vendor and from their own website ? A common malware exploit is to provide a utility that appears to be legit and worthwhile loading onto your PC. Freebies especially risky. You actually permit the installation of the malware as part of the installation process :scared:
Also be aware that most decent malware attacks will defeat the anti-virus program that is installed and make it appear that the AV has cured the problem when in fact it has not. Be careful what you do on your PC and I suggest you run some other AV programs to see what they find, if anything.
Question: my USB patch cord has two connections, one black, one red. As both channels work off the black connector, can I assume the red one is for recording/saving screenshots? There is no mention of it in the manual.
Question: my USB patch cord has two connections, one black, one red. As both channels work off the black connector, can I assume the red one is for recording/saving screenshots? There is no mention of it in the manual.
TIA
Question: my USB patch cord has two connections, one black, one red. As both channels work off the black connector, can I assume the red one is for recording/saving screenshots? There is no mention of it in the manual.
TIA
I think that is their device extension port. This from their website on 6022BE features:
"Standard USBXI(TM) interface, easily inserts into USBXI(TM) housing to make up a combination instrument."
Rick
Question: my USB patch cord has two connections, one black, one red. As both channels work off the black connector, can I assume the red one is for recording/saving screenshots? There is no mention of it in the manual.
TIA
I think that is their device extension port. This from their website on 6022BE features:
"Standard USBXI(TM) interface, easily inserts into USBXI(TM) housing to make up a combination instrument."
Rick
nope, that's the card connector on the back of the device. As has been mentioned multiple times, red for extra power (not always needed) black for data. Simple as that. I bet if you opened up the cable the red one would simply have +5 and GND connected into the black cables' respective lines.
Typed using Hacker's Keyboard for Android
from pinout i would say the ADC is AD9288.Btw, do have have higher res pictures?PM
I've been reading the spec sheet of the AD9288, this same integrated circuit comes in 3 different flavors, 40, 80 and 100 MSPS, it seems that according to this data sheet we may replace 40 MSPS AD9288 IC with a 100 MSPS AD9288 one, so that we could increase 6022BE's bandwidth to 100 MSPS.
It could be just great.
Increasing the ADC clock would be needed to increase the sample rate.
Increase this oscilloscope bandwidth it's not a trivial task, I agree but I think that it's worth trying.
At 2us or below is when it captures at 48msps and at merely 1060 datapoints. At 5us or slower, it goes to over 100K datapoints at 16msps. The slower the more datapoints.
At 2us or below is when it captures at 48msps and at merely 1060 datapoints. At 5us or slower, it goes to over 100K datapoints at 16msps. The slower the more datapoints.
Rick, did you notice at what point it acquires the full rated 1M samples? And is that split between the two channels?
At 50ms (1Mhz) it starts acquiring at full 1M samples (1,047,552 for each channel total 2x1047552)
At 20ms (1Mhz) it is at 523264 samples each Channel
At 10ms (1Mhz)= 523264
At 5ms (1Mhz)= 523264
At 1ms (1MHz) = 130048
At 100us (1Mhz) = 130048
At 20us (4Mhz) = 130048
At 10us (8Mhz) = 130048
At 5us (16Mhz) = 130048
At 2us (48Mhz) = 1016
Anything faster than 2us, it is still at 48MHz at 1016 samples each channel (2032 total).
I've been writing a Python front-end for the API Hantek provides...
(I'm not huge on the provided scope software),
My big issue with the scope right now is the noise level. In reading this, I thought I read that a DC/DC converter was causing the roughly 10 mV noise seen in the channels? Do you all think it's possible to clean up the noise...
and get slightly better resolution as far as the signal goes, or is that asking too much from this scope?
I sure would not mind a better software. Truth be told, the native software is not that bad. It has some annoying things but it is usable.
A great solution would be if it treats the buffer as a ring buffer with indirect access: wrap the buffer array index back to zero so the trigger point is always at the center or a settable number.
Hello everyone,
I've been watching this thread for a while, and I just wanted to say thanks for putting up all the cool information. I bought this scope a few months ago, thinking I'd do like what Aurora was talking about and mod it out. I've been writing a Python front-end for the API Hantek provides (I'm not huge on the provided scope software), and was thinking about doing the same in C++. I saw the OpenHantek project but it doesn't look like it supports the 6022BE scope. Is this something you all might be interested in?
why not implement support for the 6022BE in the already existing openhantek instead of creating something from scratch and all the issues involved with that?
I sure would not mind a better software. Truth be told, the native software is not that bad. It has some annoying things but it is usable.
You're a more patient man than I, Gunga Din. :)
A great solution would be if it treats the buffer as a ring buffer with indirect access: wrap the buffer array index back to zero so the trigger point is always at the center or a settable number.
That one may be a hardware constraint, not solvable at the SDK level. :( It's unclear from their docos what control you have over that, if any. But you spec a few parameters, then tell it to go off and capture. Wait for it to finish, then pull the data out of the buffer you gave it a link to.
If you want me to pull up my notes sometime, and we can discuss it here, I doubt anyone else would mind.
Ok here are the pictures.
Nice PCB. It is laid out in a logical manner.
The parts count is relatively low and a CY7C68013 development board costs around $10 from China. But I still don't think I would bother to build one of these using such a board as the additional parts, case, scope probes and my time would make it far more expensive than GBP49. In those terms it is very good value for money. Next test will be to see how the unit performs with the infamous Hantek software package !
Looking at the PCB pictures I wonder if the 6022BE can be upgraded with an external trigger like 6052BE and 6082BE have...
http://hantek.com/en/ProductDetail_2_31.html (http://hantek.com/en/ProductDetail_2_31.html)
Might require new firmware, I'm afraid...
I just acquired one of these DSOs and I am going to be modifying it a bit, adding extra bypass capacitors, shielding the DC-DC and adding screening cans to both front ends and I will be posting my results here.
Also, I have been tinkering around with the crappy SDK provided by Hantek and I managed to get some framework code written in C++ Builder and I even managed to get some undocumented functions from both DLLs (HTDisplayDll and HTMarch) working, though I had to use IDA Pro to figure out what the function arguments were.
//Unducumented Functions
DLL_API int WINAPI HTDrawAcquireMode(HDC hdc, int x, int y, COLORREF h, __int16);
DLL_API int WINAPI HTDrawBottomPentagon(HDC hdc, int, int, COLORREF color);
DLL_API int WINAPI HTDrawCouplingImage(HDC hdc, int, int, COLORREF color, __int16);
DLL_API int WINAPI HTDrawCursorLine(HDC hdc, int, int y, int x, int, int, int, HGDIOBJ ho, int, int);
DLL_API int WINAPI HTDrawCursorTraceLine(HDC h, int x, int, int, int, int, int);
DLL_API int WINAPI HTDrawDefineText(HDC hdc, int, LPCWSTR pszFaceName, int mode, LPCWSTR lpString, int c, int x, int y);
DLL_API int WINAPI HTDrawEdgeSlope(HDC h, int, int, COLORREF hbr, __int16);
DLL_API int WINAPI HTDrawGeneratorRect(HDC hdc, int, int, int, int);
DLL_API int WINAPI HTDrawGridARB(HDC hdc, int, int, int, int, int, int, int, __int16);
DLL_API int WINAPI HTDrawGridBorder(HDC hdc, int, int, int, int);
DLL_API int WINAPI HTDrawGridLA(HDC hdc, int, int, int, int, int, int, int, int);
DLL_API int WINAPI HTDrawGridNew(HDC hdc, int, int, int, int, int, int, int, __int16);
DLL_API int WINAPI HTDrawGroupGridLA(HDC h, int, int, int, int, int, int, int, int);
DLL_API int WINAPI HTDrawKnob(HDC h, int, COLORREF color, int);
DLL_API int WINAPI HTDrawLABusSignal(HDC hdc, int, int Memory, int, int, int x, double, int, __int16, __int16);
DLL_API int WINAPI HTDrawLASquareSignal(HDC h, int, COLORREF color, int, int, int, double, int);
DLL_API int WINAPI HTDrawLATrigLine(HDC hdc, HGDIOBJ h, int, int, HGDIOBJ ho, COLORREF color);
DLL_API int WINAPI HTDrawLeftPentagon(HDC hdc, int, int, COLORREF color);
DLL_API int WINAPI HTDrawLevel(HDC hdc, int, int, COLORREF h, int y);
DLL_API int WINAPI HTDrawMeasLine(HDC h, int, int, int, int, int x, int y, HBRUSH ho);
DLL_API int WINAPI HTDrawPrintGrid(HDC hdc, HGDIOBJ h, HGDIOBJ ho, int, int, int, int, int, __int16);
DLL_API int WINAPI HTDrawPrintGridBorder(HDC hdc, HGDIOBJ ho, int, int, int, HGDIOBJ h);
DLL_API int WINAPI HTDrawPulseWidth(HDC hdc, int, int, COLORREF h, __int16);
DLL_API int WINAPI HTDrawRightPentagon(HDC hdc, int, int, COLORREF color);
DLL_API int WINAPI HTDrawSquareWaveInYT(HDC hdc, int, int, int, int, COLORREF ho, HGDIOBJ h, int, int, int, int, int, double, double, int, int);
DLL_API int WINAPI HTDrawTopPentagon(HDC hdc, int, int, COLORREF color);
DLL_API int WINAPI HTDrawWaveInXY(HDC hdc, void *Memory, int, int, int, int, int, int, int, int, COLORREF color);
DLL_API int WINAPI HTDrawWaveInXYNew(HDC hdc, void *Memory, int, int, int, int, int, int, int, int, COLORREF color);
DLL_API int WINAPI HTDrawWaveInYTNew(HDC hdc, int, int, int, int, COLORREF color, int, int, int, int, __int64, int, double, double, int, int);
DLL_API int WINAPI UserRound(double);
HTMARCH_API short WINAPI _dsoCloseFlashLight();
HTMARCH_API DWORD WINAPI _dsoGetPackageSize();
HTMARCH_API short WINAPI _dsoOpenFlashLight();
HTMARCH_API short WINAPI _dsoReadPackageData();
HTMARCH_API short WINAPI dsoSetSquareFreq();
HTMARCH_API short WINAPI _dsoStartDeviceCollect();
According to Openhantek, the DSO2090, 2150 and 2250 had their firmware reside within the USB drivers:
http://www.openhantek.org/w/p/installation/#10 (http://www.openhantek.org/w/p/installation/#10)
I read this like "firmware is downloaded to the device by the driver during initialization".
If that's true and provided that it hasn't changed for the 60x2BE series, there might be chances for easy firmware hacks...
I have reverse engineered the Front End if anyone is interested:
I'm not sure a 5V input signal in 1x mode is going to give a 5V signal at the node between the 909K and 100K, but more like 500mv.
This would mean the probe in 1x mode is going to be safe all the way up to 50V and 500V in 10x.
Also, the outside of my unit shows a label between the BNC connectors that says "35vpk max" which I am not sure if they mean for 1x or 10x?
I'm pretty sure all the simple CY7C68013A models are doing it this way, they don't have any on-board flash and the I2C doesn't have firmware in it just model information for USB device detection.
So the .sys driver has the firmware image embedded inside it, and the folks at openhantek.org have a tool to extract it. When the device is plugged in, the driver loads the firmware into the CY7C68013A's 16KB internal memory, and the 4K FIFO is used to store the ADC output.
I'm pretty sure all the simple CY7C68013A models are doing it this way, they don't have any on-board flash and the I2C doesn't have firmware in it just model information for USB device detection.
Correct.QuoteSo the .sys driver has the firmware image embedded inside it, and the folks at openhantek.org have a tool to extract it. When the device is plugged in, the driver loads the firmware into the CY7C68013A's 16KB internal memory, and the 4K FIFO is used to store the ADC output.
Almost. The 4K FIFO is used to buffer the USB data transfers. The ADC output should be fed to a 16Mbit chip (2 channels, with 1 MByte each), though I didn't see one on the board. If they were funneling the data directly from the ADC through the FIFO to USB, it wouldn't be able to keep up with the 48 MHz sample rate of the device. And it's not limited to 4K of samples, so...
The ADC output traces go directly to the CY7C68013A's Multiplexed input pins (specifically "bidirectional FIFO/GPIF data bus") which can switch between GPIF and FIFO. There is no 1MByte of ram anywhere on the board, or in any of the ICs.
The FIFO has a 96 mega byte per second burst rate, so it's highly unlikely they are using the GPIF which would have to go through the address bus just to get to the FIFO.
My guess is they are dumping the 8-bit data from the ADC in real time into the FIFO, and then through firmware they are periodically sampling it via USB possibly using the computer's ram to store the raw data.
Both the CY7C68013A and the ADC can clock at 48Mhz so there is no problem with the full data rate from the ADC getting to the FIFO, and the FIFO doesn't need 1MB of RAM to hold a real time value.
If they use 2K of FIFO per channel, they can store 2000 samples of data in FIFO for each channel. All the firmware inside the CY7C68013A has to do is buffer 2000 samples continuously, starting over and overwriting when it reaches 2000 samples.
Since the FIFO is connected directly to the USB Engine (circumventing the Address Bus), this means the PC has high speed access to the FIFO buffer...
...and all the PC has to do is wait for the FIFO to fill up, then read the entire FIFO buffer to PC RAM,
and either display it immediately or wait for the FIFO to fill up again, then read it and store in PC RAM until desired sample length is reached.
Since the PC doesn't read the FIFO until it's filled, that means it's effectively sampling it at 48Mhz/2000 samples which equals 24Khz.
Does the 60x2BE do triggering in software?
EDIT: just saw your last post - at 48M the 6022BE is said to have only 2k sample buffer and in an earlier post it is stated that there's trouble with proper signal readout: https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg258586/#msg258586 (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg258586/#msg258586)Yes, Rick documented how at high speed (48 MHz), the module was capturing only 1,016 samples of data. It wasn't until you dropped back to 16 MSa/sec that you got anything bigger (jumped to 128k), and you couldn't get 1M at all, until you dropped the sampling to 1 MSa/sec or less. These were his findings:
At 50ms (1Mhz) it starts acquiring at full 1M samples (1,047,552 for each channel total 2x1047552)
At 20ms (1Mhz) it is at 523264 samples each Channel
At 10ms (1Mhz)= 523264
At 5ms (1Mhz)= 523264
At 1ms (1MHz) = 130048
At 100us (1Mhz) = 130048
At 20us (4Mhz) = 130048
At 10us (8Mhz) = 130048
At 5us (16Mhz) = 130048
At 2us (48Mhz) = 1016
Anything faster than 2us, it is still at 48MHz at 1016 samples each channel (2032 total)
The thing is, the way you're describing it makes it sound like the PC can just grab a 2,000 byte chunk of data over USB instantaneously. And it can't. Even running USB in synch-transfer mode, it takes time.
3) Regulated and low ripple noise is not required. Such as: digital circuits, low frequency analog circuits, and IGBT power device driving circuits. |
If anyone was wondering what the unpopulated components opposite the front end were for, they are an alternate isolated supply for the front end. They are using an LTC3440 Buck regulator for the +5V and a classic 7660 Charge Pump for the -5V supply.
I plan on adding copper foil shielding around the DC-DC package, ground strapping the ADC heatsink, and canning both Front Ends as well as adding extra SMD capacitors before and after the DC-DC, at the bypass capacitors near the ADC and USB Micro.
Later on I'll order some parts and populate the alternate DC-DC supply and remove the Mornsun DC-DC and see how it works.
It's probably set up so once the buffer is full it stops sampling, calls an interrupt to USB and once the PC grabs the data it starts sampling again.
This would explain the pseudo randomness of the device at times, because how long it has to wait to sample new data depends on how long it takes the USB and PC software to do it's part.
--Documented HTMARCH acquisition support functions [Mark_O, Oct'13]:
// just checks to see if a device is present. usually only Dev=0 is true.
HTMARCH_API short WIN_API dsoOpenDevice(unsigned short DeviceIndex);
// cals are 32B of 'proofreading' data. short the inputs to Ground, then run dsoCalibrate and retrieve data.
// presumably, the cal sets (16B/channel) are dependent on timePerDiv and voltsPerDiv, which means that
// dsoCalibrate would need to be run in multiple passes (64 combos). it also suggests that dsoSetCalLevel
// must be run every time either is changed. what dsoGetCalLevel is good for is unknown.
// cal data also needs to be reloaded on every power-on, since theres no NVMEM. [not really. it says it
// sends the Cal data to the device, but it doesn't. The SDK uses it to adjust the data before returning it.]
// [it looks like dsoSetCalLevel/dsoGetCalLevel are also worthless, for the same reasons as SetTime/Volts (below).]
HTMARCH_API short WIN_API dsoCalibrate(unsigned short nDeviceIndex,int nTimeDIV,int nCH1VoltDIV,int nCH2VoltDIV,short* pCalLevel);
HTMARCH_API unsigned short dsoSetCalLevel(unsigned short DeviceIndex,short* level,short nLen);
HTMARCH_API unsigned short WIN_API dsoGetCalLevel(unsigned short DeviceIndex,short* level,short nLen);
// worthless functions, because there's no way to get any data after setting them, w/o running a dsoReadHardData, which overrides them!
// however, they do serve to document the needed index values. (perhaps there are undocumented Read functions that were dropped.)
HTMARCH_API short WIN_API dsoSetVoltDIV(unsigned short DeviceIndex,int nCH,int nVoltDIV);
HTMARCH_API short WIN_API dsoSetTimeDIV(unsigned short DeviceIndex,int nTimeDIV);
// nVoltDIV (0-7): n20mV, n50mV; n100mV, n200mV, n500mV; n1V, n2V, n5V
// nTimeDIV (0-27): n48Msa(0-10); n16MSa, n8MSa, n4MSa, n1MSa(14-24), n500KSa, n200Ksa, n100KSa
--ONE call to Config AND Acquire, AND Retrieve (and Correct) sample data. [Mark_O, Oct'13]
--returns 0 for failure and non-0 for success.
HTMARCH_API short WIN_API dsoReadHardData(
unsigned short DeviceIndex, // access more than one module
short* pCH1Data, // ptrs to 2 storage buffers
short* pCH2Data,
unsigned long nReadLen, // length of 'reading data'
short* pCalLevel, // ** ptr to calibrationLevel vector (see dsoSetCalLevel); input?
int nCH1VoltDIV, // sensitivity settings (0-7=20mV-5V)
int nCH2VoltDIV,
short nTrigSweep, // sweepMode: 0=Auto, 1=Normal ??, 2=single
short nTrigSrc, // 0=chan1, 1=chan2
short nTrigLevel, // level=0-255
short nSlope, // 0=rise, 1=fall
int nTimeDIV, // sampleRate (0-27=48MSa-100KSa/s, see dsoSetTime)
short nHTrigPos, // pre-TriggerData: 0-100% (control pre/post buffering)
unsigned long nDisLen, // ** length of DisplayData (huh?)
unsigned long * nTrigPoint, // index of returned triggerPoint
short nInsertMode // ** D-value Mode: 0=Step, 1=Line, 2=SinX/X (huh?)
);
I know the DisplayLength has a meaning in the DrawWave function, it's just used to clip the data and only display a portion of it, what it's being used for in GetRaw I'm not sure... perhaps it's clipping the data also?
D-Value mode is how the data is interpolated when you are at 2us or lower, the options are as follows:
1. Step - Interpolate in right angle steps
2. Line - Interpolate in obtuse angles
3. SinX - Interpolate in sine
The reason the Get Raw data function asks for these arguments is because it's doing the interpolation.
As for the Calibration functions, the firmware might be storing the cal data in the I2C IC.
I have been tinkering with the code today and I got the grid displaying and both channels, but so far I have not added any manual controls, just displaying hard coded settings.
Huh? What interpolation? I ask it to collect N samples at a certain rate. It does so and returns them to me. What is here for it to interpolate? It would only do so if it was sampling fewer points than the # I requested. And needed to create the missing intermediate values. Are you suggesting that's what it's doing? [It could be. :( :-//]
Well, it could store the data anywhere it wanted to. But I don't see what value that would have? It has to be used in some way to adjust the raw data values provided by the ADC, and I don't see it having either the time or the horsepower to do so. That should be being done on the PC.
I don't think the device supports sampling at lower than 2us, so they are hacking support by interpolating.
Why would they do this? Maybe there is too much noise? Not sure.
The interpolation doesn't take effect at timebases above 2us, and if you look at the stock software the interpolation buttons are disabled above 2us.
QuoteWell, it could store the data anywhere it wanted to. But I don't see what value that would have? It has to be used in some way to adjust the raw data values provided by the ADC, and I don't see it having either the time or the horsepower to do so. That should be being done on the PC.
It's a USB scope, so you might not be using the same PC to utilize it, thus storing the cal data in the I2C would be convenient.
It's a USB scope, so you might not be using the same PC to utilize it, thus storing the cal data in the I2C would be convenient, and I don't think the firmware is touching the cal data, it's just stored there and the calibration offsetting happens in the PC software, thus the need for the GetCalLevel function.
If they store it on the PC, you have to recalibrate every time you use a different PC,
If they store it in USB Micro's 16KB RAM you have to recalibrate every time you plug it in,
If they store it in the I2C you only have to calibrate it when it needs it.
(Well, they're not storing it IN the I2C. That's a comm channel. But yeah, the EE accessed thru the I2C. Yes, I know I'm being pedantic. :))
You saved my day! I really was considering the 6022BE, but now I'm tending more to the older DSO2xxx series with smaller but onboard SRAM buffer and dedicated analog trigger...
//Time Division
enum THantekTimeDivision
{
//1016 samples
HTTimeDiv48MS_1NS=0, //960, 1, 1
HTTimeDiv48MS_2NS=1, //960, 1, 1
HTTimeDiv48MS_5NS=2, //960, 1, 1
HTTimeDiv48MS_10NS=3, //960, 1, 1
HTTimeDiv48MS_20NS=4, //960, 1, 1
HTTimeDiv48MS_50NS=5, //960, 1, 1
HTTimeDiv48MS_100NS=6, //960, 1, 1
HTTimeDiv48MS_200NS=7, //960, 1, 1
HTTimeDiv48MS_500NS=8, //960, 1, 1
HTTimeDiv48MS_1US=9, //960, 1, 1
HTTimeDiv48MS_2US=10, //960, 1, 1
//130048 samples
HTTimeDiv16MS_5US=11, //800, 1, 1
HTTimeDiv8MS_10US=12, //800, 1, 1
HTTimeDiv4MS_20US=13, //800. 1, 1
HTTimeDiv1MS_50US=14, //500, 1, 1
HTTimeDiv1MS_100US=15, //1000, 1, 1
HTTimeDiv1MS_200US=16, //2000, 1, 1
HTTimeDiv1MS_500US=17, //5000, 1, 1
HTTimeDiv1MS_1MS=18, //10000, 1, 1
HTTimeDiv1MS_2MS=19, //20000, 1, 1
//523264 samples
HTTimeDiv1MS_5MS=20, //50000, 1, 1
HTTimeDiv1MS_10MS=21, //100000, 1, 1
HTTimeDiv1MS_20MS=22, //200000, 1, 1
//1047552 samples
HTTimeDiv1MS_50MS=23, //500000, 1, 1
HTTimeDiv1MS_100MS=24, //1000000, 1, 1
HTTimeDiv500K_200MS=25,//1000000, 1, 1
HTTimeDiv200K_500MS=26,//1000000, 1, 1
HTTimeDiv100K_1S=27, //1000000, 1, 1
HTTimeDiv100K_2S=28, //2000000, 1, 1
HTTimeDiv100K_5S=29, //5000000, 1, 1
HTTimeDiv100K_10S=30, //10000000,1,1
HTTimeDiv100K_20S=31, //20000000,1,1
HTTimeDiv100K_50S=32, //50000000,1,1
HTTimeDiv100K_100S=33, //100000000,1,1
HTTimeDiv100K_200S=34, //200000000,1,1
HTTimeDiv100K_500S=35, //500000000,1,1
HTTimeDiv100K_1000S=36,//1000000000,1,1
HTTimeDiv100K_2000S=37,//2000000000,1,1
HTTimeDiv100K_5000S=38,//-1,1,1
};
extern "C" __declspec(dllexport) void WINAPI HTDrawWaveInYT(HDC hDC, RECT Rect,
COLORREF clrRGB, USHORT nDisType, short* pSrcData, ULONG nSrcDataLen,
ULONG nDisDataLen, ULONG nCenterData, USHORT nDisLeverPos, double dbHorizontal,
double dbVertical, USHORT nYTFormat, ULONG nScanLen)
{
//Convert SrcDataLen, DisDataLen, dbHorizontal and dbVertical to a string
std::string CallData = AnsiString("DataLen: "+IntToStr((int)nSrcDataLen)+
" - DisLen: "+IntToStr((int)nDisDataLen)+
" - dbHorizontal: "+FloatToStr(dbHorizontal)+
" - dbVertical: "+FloatToStr(dbVertical)).c_str();
//Set the text color to the waveform color (otherwise our text will be black on black!)
SetTextColor(hDC, clrRGB);
//Display the text inside the waveform area
TextOut(hDC, Rect.left, Rect.top, CallData.c_str(), CallData.length());
//Call the original DLL function
lib_HTDrawWaveInYT(hDC, Rect, clrRGB, nDisType, pSrcData, nSrcDataLen, nDisDataLen,
nCenterData, nDisLeverPos, dbHorizontal, dbVertical, nYTFormat, nScanLen);
}
The problem is, these values are highly dependent on what timebase you are in, and there is no documentation on what values to use on which timebases, and there is only one example in the SDK and PDF of it's use, but not enough to figure out what the rest should be.
The first problem I had to tackle was what "Read Length" values to use for each of the 39 different timebases in the original software, and an earlier post in this thread got me close, but no cigar.
I ended up having to write a redirection dll for the HTDisplayDll.dll...
As you can see, to scale the waveforms properly the "Display Length" is not the same as the "Read Length" and in some cases it's larger than the former.
I probably need to come back when I have a bit more time to read this, but I still don't understand how a parameter in an acquisition function affects the raw captured data. Unless the ReadData is NOT returning the actual sample data captured, but some expansion/interpolation thereof. (Beyond the short 1016 captures you already explained previously.)
nReadLen: 130048 - nDisLen: 800
nReadLen: 130048 - nDisLen: 500
nReadLen: 1016 - nDisLen: 960
nReadLen: 130048 - nDisLen: 800
nReadLen: 130048 - nDisLen: 1000
nReadLen: 523264 - nDisLen: 50000
nReadLen: 1047552 - nDisLen: 2000000000
nReadLen: 1047552 - nDisLen: -1
extern "C" __declspec(dllexport) short WINAPI dsoReadHardData(WORD DeviceIndex,
short* pCH1Data, short* pCH2Data, ULONG nReadLen, short* pCalLevel, int nCH1VoltDIV,
int nCH2VoltDIV, short nTrigSweep, short nTrigSrc, short nTrigLevel, short nSlope,
int nTimeDIV, short nHTrigPos, ULONG nDisLen, ULONG* nTrigPoint, short nInsertMode)
{
/*
//Stringify needed arguments
std::string Info = AnsiString("nReadLen: "+IntToStr((int)nReadLen)+" - nDisLen: "+IntToStr((int)nDisLen)).c_str();
//
std::ofstream OutFile("C:\\Program Files\\Hantek6022BE\\ReadHardData.txt", fstream::app);
OutFile << Info << std::endl;
OutFile.close();
*/
//Change Display Length >:)
nDisLen = 0;
return lib_dsoReadHardData(DeviceIndex, pCH1Data, pCH2Data, nReadLen, pCalLevel,
nCH1VoltDIV, nCH2VoltDIV, nTrigSweep, nTrigSrc, nTrigLevel, nSlope, nTimeDIV,
nHTrigPos, nDisLen, nTrigPoint, nInsertMode);
}
I have reverse engineered the Front End if anyone is interested:
The A7 device is just a fast switching rectifier, it breaks down at 100V and it's being used to clamp the signal to -5V and +5V.
Also take note that the instead of your usual 1M ohm resistor and trimmer capacitor in parallel connected from input signal to ground we have the input signal going through a 909K resistor with the trimmer capacitor in parallel with it, then shunted to ground through a 100K resistor and an SMD capacitor in parallel. To the input, it looks like a 1M resistor to ground, but the signal is being tapped between 909K and 100K, then going to the first Op Amp. I'm not sure a 5V input signal in 1x mode is going to give a 5V signal at the node between the 909K and 100K, but more like 500mv. This would mean the probe in 1x mode is going to be safe all the way up to 50V and 500V in 10x.
Also, the outside of my unit shows a label between the BNC connecors that says "35vpk max" which I am not sure if they mean for 1x or 10x?
I would be very interested in what you've done with the front end
I think the first thing I'm going to attempt to do is solder some big electrolytic caps onto between both the V+ and V- and the 0V reference coming out of the converter. Does this sound reasonable thing to do to reduce noise on the traces? I'm also open to changing the DC-DC converter here if anyone has some suggestions as to how to do, and reporting how it worked. I think this will make an interesting experiment.
...forgot to aquire some waveforms pre-modification to compare, but from memory I was getting 10-15mv noise and post modification it's down to 3-5mv.
Here are the inside pictures, using a cell phone camera at the moment so they are not very bright or crisp...
As you can see, I have already started populating the alternative DC-DC section with SMD Capacitors, and I noticed some Hantek equipment has the Crystal can grounded so I did that as well, probably doesn't change much but it didn't hurt it either.
Lastly, you enumerated 6 tweaks you made to the board, though I thought I counted more like 8. But in any event, it would be helpful to know the relative contribution of each, to maximize 'bang for the buck'. Not necessarily to minimize cost, but perhaps time. I suspect, and it's highly probably, that some tweaks will have very minimal influence. And omitting them really wouldn't matter.
Of course, to conduct such a study would require stopping to evaluate after each mod was installed. I realize that's asking a bit much. But just a thought for those following in your footsteps, if they'd like to make their own contributions.
That said, I was wondering if anyone knew if any of the other software tools support this model yet?
No problem guys, my pleasure.Lastly, you enumerated 6 tweaks you made to the board, though I thought I counted more like 8. But in any event, it would be helpful to know the relative contribution of each, to maximize 'bang for the buck'. Not necessarily to minimize cost, but perhaps time. I suspect, and it's highly probably, that some tweaks will have very minimal influence. And omitting them really wouldn't matter.
Of course, to conduct such a study would require stopping to evaluate after each mod was installed. I realize that's asking a bit much. But just a thought for those following in your footsteps, if they'd like to make their own contributions.
I don't want to hog all the fun :)
Here are the inside pictures, using a cell phone camera at the moment so they are not very bright or crisp...
As you can see, I have already started populating the alternative DC-DC section with SMD Capacitors, and I noticed some Hantek equipment has the Crystal can grounded so I did that as well, probably doesn't change much but it didn't hurt it either.
Wow! This looks pretty good. I'm going to try to do the same for mine. Thanks so much for posting your pictures and keeping us updated! :)
Little bit more progress on the software side (see attachment)...
I have implemented two different cursor modes, one exactly like the cursor mode in the original software (Cross, Horizontal, Vertical) and one I call Interactive, where two cursors labeled 1 & 2 in little circles are drawn with the waveform and you can interact with them by dragging them across the waveform, and they will follow the wave's y axis.
By the way, ignore the ugly toolbar button glyphs, those will not be in the final version as I am going to make my own graphics for the toolbar but those are placeholders until I am done.
Anyway, lots more work to do on it, but thought I'd share my progress thus far for those who are interested, thanks :)
Little bit more progress on the software side (see attachment)...
I have implemented two different cursor modes, one exactly like the cursor mode in the original software (Cross, Horizontal, Vertical) and one I call Interactive, where two cursors labeled 1 & 2 in little circles are drawn with the waveform and you can interact with them by dragging them across the waveform, and they will follow the wave's y axis.
By the way, ignore the ugly toolbar button glyphs, those will not be in the final version as I am going to make my own graphics for the toolbar but those are placeholders until I am done.
Anyway, lots more work to do on it, but thought I'd share my progress thus far for those who are interested, thanks :)
Richard, do you have executable/binary you can share? I don't have a C++ compiler newer than Microsoft VC5.
Thanks
Alright, here is the latest binary for those who want to tinker with it... http://jmp.sh/b/wOS6BUC9tp3Cels8JWf3 (http://jmp.sh/b/wOS6BUC9tp3Cels8JWf3)
Note: This is an unfinished pre-release build!
....
1/ What mods would you suggest for enabling this scope to measure such voltages
2/ I didn't get if I can measure spectrum with this one
3/ How to isolate it from ground
Just a quick question on this scope,
In x1, any signals over 5v and under -5v get clipped, is that normal?
That's what I thought...
Is it likely that I've got a faulty unit then? Anything over 5v just becomes a perfect straight line at 5v, so maybe there's something wrong with it?
That's probably what it is then... Why is it clipping the signal?
HTMARCH_API short WINAPI dsoReadHardData(WORD DeviceIndex, short* pCH1Data,
short* pCH2Data, ULONG nReadLen, short* pCalLevel, int nCH1VoltDIV, int nCH2VoltDIV,
short nTrigSweep, short nTrigSrc, short nTrigLevel, short nSlope, int nTimeDIV,
short nHTrigPos, ULONG nDisLen, ULONG* nTrigPoint, short nInsertMode);
//Voltage Division
enum THantekVoltDivision
{
HTVoltDiv20mv=0,
HTVoltDiv50mv=1,
HTVoltDiv100mv=2,
HTVoltDiv200mv=3,
HTVoltDiv500mv=4,
HTVoltDiv1V=5,
HTVoltDiv2V=6,
HTVoltDiv5V=7,
}
Seems a bit strange... Why is the max input voltage given as 35v then? ???
...3/ How to isolate it from ground
1. Use a laptop on battery (Not connected to AC adapter)
2. Use a laptop and AC adapter with isolated ground (Ground lead not connected to secondary ground)
3. Use a USB isolator (it has opto isolators for data and an isolated DC-DC for power)
4. Use a mains isolation transformer to power computer/laptop.
...3/ How to isolate it from ground
1. Use a laptop on battery (Not connected to AC adapter)
2. Use a laptop and AC adapter with isolated ground (Ground lead not connected to secondary ground)
3. Use a USB isolator (it has opto isolators for data and an isolated DC-DC for power)
4. Use a mains isolation transformer to power computer/laptop.
Let me also add one that caught me off-guard.
When trying to isolate your laptop from ground, do not use a KVM, external monitor, or wired-network with your laptop. KVM creates a common ground between all connected machines even if they are OFF and that could be your ground path even if your laptop is on battery. Wired network to a hub or another machine also possibly creates ground path.
...do not use a KVM, external monitor, or wired-network with your laptop.
Quote...do not use a KVM, external monitor, or wired-network with your laptop.
In my case it's just a desktop PC and nothing else.
How about cutting the USB power supply lines from PC to the unit and using a regulated bipolar power supply (wallwart adapter, ground isolated) to power it?
480mbps USB2.0 Isolators can be very expensive :(
My point exactly. A better DSO, more suited to the task would be a better choice ;)
The 6022BE is a compromise device built down to a price and may not be the 'right tool for the job'.
The 6022BE is a compromise device built down to a price and may not be the 'right tool for the job'.
QuoteThe 6022BE is a compromise device built down to a price and may not be the 'right tool for the job'.It looks like a mains isolation transformer for the device under test is the way to go. Luckily I have a variable transformer by hand.
Latest Binary for anyone interested: http://jmp.sh/v/NbdJxdvV1l35qIRE3DmP (http://jmp.sh/v/NbdJxdvV1l35qIRE3DmP)
Changes:
1. Importing & Exporting now functional (Reference channel now functional)
. Import saved .txt waveforms from original 6022BE software
. Export & Import to custom binary format
. Export to Bitmap & JPEG Images, visible or entire waveform, with render options to tweak + export preview
2. Hacked 10V/DIV option for 1X with Software Attenuation
3. Hacked AC Coupling (software filtering)
4. Various bug fixes and other minor changes
Interface Notes:
1. You can "drag" the waveform in view three different ways
1a. Click and drag the "Waveform Context" area above the waveform (fastest way to drag, very course)
2a. Click and drag the Waveform (slower, less course)
3a. Use Left and Right arrow keys (slowest, fine control)
Not working for me on Windows 8.1, I think it's connected to the scope but no waveform is being shown, not even a line. Maybe it's just something wrong with my setup, thanks anyway for all the hard work, looks great so far :)
Previous binary had the same problem, when the scope is connected I'm getting a green blinking light. The stock software works fine, and I tried the demo mode but I couldn't get any waveform to appear, same as before with no line on the screen...
Grid's there, everything else except the waveform. I wish I could be of more help, but I haven't done proper programming in years...
Thanks again for all this, it's going to be great to have alternative software :)
Here is the new binary: http://jmp.sh/v/8koyiaueYLtxZfdq5MRj (http://jmp.sh/v/8koyiaueYLtxZfdq5MRj)
Thanks RichardK for your hard work.
I might have found the problem and a possible workaround (though I don't have a Windows 8 machine to test it on atm)... There is apparently an issue with the Windows AlphaBlend() function on 64bit machines, and I use the AlphaBlend function to set the waveform brightness, since the Hantek SDK provides no ability to set it in the draw wave function, the draw grid function provided by the SDK does have a brightness argument so I don't need to use AlphaBlend() there, so that might also explain why the grid draws but not waveforms.
Here is the new binary: http://jmp.sh/v/8koyiaueYLtxZfdq5MRj (http://jmp.sh/v/8koyiaueYLtxZfdq5MRj)
zoomed waveform is no longer in scale with the grid
Quotezoomed waveform is no longer in scale with the grid
Would it be possible to have dôme sort of measurement like on the pico software? Or is it limited by the hardware?
Quotezoomed waveform is no longer in scale with the grid
Would it be possible to have dôme sort of measurement like on the pico software? Or is it limited by the hardware?
I have never used picoscope before, so I'm not familiar with that type of measurement.
This software's looking really good, already feels much nicer than the stock software.
Is there a possibility of waveform averaging and intensity grading in the future? That would make this scope so, so much better.
Well, let's say that you want to zoom deeper into your signal (for us in mechanic it's usefull to analyse the spark in an ignition system) it lets you zoom and mesure a specific point (V or time) into that zoomed image. I'm not sure if that's made by zooming the grid at the same time than the waveform itself. Or maybe it's a math thing.... like maybe.. you zoom 10x, our cursor is on the 2.3V level on the unzoomed grid -> so 2.3V / 10x = 0.23V . something like that... I don't know how to explain this the proper way... so here's a screenshot of the pico "zoom" fonction.
in the small windows up this is the actual waveform I took from an ignition spark. the main window is the zoom part of it where I mesure one point of the wave.
Maybe after I have finished all the major work left to do on this, I'll try and whip up a "blown up" view dialog with a scaled grid.
1. The start up seems to have a bit of delay. A few times, I re-clicked and ended up starting multiple instances.
2. The interactive measurement is quite nice. It however escapes me on how to catch the peak, min, or max – points that I cannot exactly put a cursor on.
3. Wave form for Ch2 is weird. I have Ch1 on a TTL square wave and Ch2 on the output part of the circuit which transform the TTL square wave transformed to Sine wave. The two waves are same frequency and phase. With the native software, the two wave forms are locked together as they should (since one is input and one is output of the same wave source). With Open6022 however, the Ch2 wave keeps rolling left/right as if it is not related to the Ch1 wave. I tried from low KHz to 4MHz using the UB1308S function generator.
4. I was confused for a while as only one set of vertical control is visible only. Until I found the drop down to change from Ch1 to Ch2, I was for a moment very confused by not able to deal with Ch2. It was rather inconvenient to drop down to switch to control “the other channel” and back again. I think keeping both Ch1 and Ch2 vertical control knobs visible would be nice. Perhaps use the same check box: when wave for Ch? Is shown, the vertical controls are also shown.
It does not seem fully functional yet since the T like pointer doesn’t seem to move consistently with my dragging. If my gut feel is right and that it is suppose to point at what part of the captured wave is being displayed, it would add so much and make the software so much more “user friendly.”
1. The start up seems to have a bit of delay. A few times, I re-clicked and ended up starting multiple instances.
Fixed (I hope) in latest binary (see below)...
2. The interactive measurement is quite nice. It however escapes me on how to catch the peak, min, or max – points that I cannot exactly put a cursor on.
It's harder to get it exactly when at lower resolutions (many waveforms in view), the original cursor measurement feature is probably better for finer measurements.
3. Wave form for Ch2 is weird. I have Ch1 on a TTL square wave and Ch2 on the output part of the circuit which transform the TTL square wave transformed to Sine wave. The two waves are same frequency and phase. With the native software, the two wave forms are locked together as they should (since one is input and one is output of the same wave source). With Open6022 however, the Ch2 wave keeps rolling left/right as if it is not related to the Ch1 wave. I tried from low KHz to 4MHz using the UB1308S function generator.
Fixed in latest binary (see below)...
4. I was confused for a while as only one set of vertical control is visible only. Until I found the drop down to change from Ch1 to Ch2, I was for a moment very confused by not able to deal with Ch2. It was rather inconvenient to drop down to switch to control “the other channel” and back again. I think keeping both Ch1 and Ch2 vertical control knobs visible would be nice. Perhaps use the same check box: when wave for Ch? Is shown, the vertical controls are also shown.
The reason I did this was because I felt the original software interface was too busy, and I was sick of scrolling down to modify CH2, so I figured using the arrow key to select channels would be a little better than trying to cram them all in. I'll look into making it easier to interact with CH1 & CH2 without using the drop down list.
It does not seem fully functional yet since the T like pointer doesn’t seem to move consistently with my dragging. If my gut feel is right and that it is suppose to point at what part of the captured wave is being displayed, it would add so much and make the software so much more “user friendly.”I think you are using an older binary, because I optimized the wave context movement recently, it's smooth as butter now even in a debug build... Here is the very latest binary: http://jmp.sh/v/MWcYkfQZ5t1qRzXBWIZD (http://jmp.sh/v/MWcYkfQZ5t1qRzXBWIZD)
And now for something completely different. I got an Abort testing Interactive Cursor. Probably a divide by zero or unexpected values in a calculation.
(see attached Access Violation error screen print.)
I am able to reproduce it with these steps:
- I had both channels connected.
- I had both on 100KHz, Ch1 Sine wave, Ch2 Square wave.
- Time base is 20uS/division
- (EDITED: adding info on the vertical:)
Vertical is 1V/division.
Ch1 (sine) max and min are 1.82V, 3.64V peak to peak according to stock version measurement window
Ch2 (square) max 816mV, min -753mV, 1.57V peak to peak
- Interactive cursor measurement is turned on
The cursor positions likely is important. I am not sure this what other settings will trigger it, but the settings below is a sure way of making it happen:
Ch1 measurement point is point #2 is about 2 divisions right of point #1 and about 1 division below point #1.
Ch2 measurement points are left as default.
- I changed Ch2 to 0Hz
- I changed Ch1 to 0Hz
- I changed Ch1 to 0.1Hz
(So far so good...next step cause error)
- I changed timebase to 5 seconds
The system pauses for a brief moment waiting for the trigger, then the program aborts.
***
Here is the very latest binary: http://jmp.sh/v/lNrJZjN58d1SpM42tz8O (http://jmp.sh/v/lNrJZjN58d1SpM42tz8O)RichardK,
Here is the very latest binary: http://jmp.sh/v/lNrJZjN58d1SpM42tz8O (http://jmp.sh/v/lNrJZjN58d1SpM42tz8O)RichardK,
Sorry! This fix doesn't work. The cursor just jump around and I cannot grab/set it at any point to do testing. The cursor is not even on the trace. See attached short video at about 38 seconds in and you will see what I mean.
Short Video showing jumping cursor (https://www.youtube.com/watch?v=jhSaOwSdmDM#)
Rick
@RichardK,
I just wanted to send you a big THANK YOU for your work on this software. You are very generous with you time and skills. My 6022BE has not been used since discovering the poor performance of the supplied software. I will have to dig it out in preparation for its first exposure to decent coding :)
Here is the very latest binary: http://jmp.sh/v/lNrJZjN58d1SpM42tz8O (http://jmp.sh/v/lNrJZjN58d1SpM42tz8O)RichardK,
Sorry! This fix doesn't work. The cursor just jump around and I cannot grab/set it at any point to do testing. The cursor is not even on the trace. See attached short video at about 38 seconds in and you will see what I mean.
Short Video showing jumping cursor (https://www.youtube.com/watch?v=jhSaOwSdmDM#)
Rick
Opps sorry about that, I forgot to update a piece of code... Should be fixed now: http://jmp.sh/v/UPtQLGTWm7zJrftGiad2 (http://jmp.sh/v/UPtQLGTWm7zJrftGiad2) NOTE: Same zip filename as before, make sure you remove the old one!
Also in that new binary the waveform dragging (dragging the scope, not the waveform context area above) and the scrolling with left and right arrow keys is now scaled to TimeDIV so the waveforms will move the same regardless of Timebase.
But even with the new software the scope has a lot of issues (see the first few pages of this thread...) - as they say, you can put lipstick on a pig but it will still be a pig :=)
The +/-5V is a limitation in the hardware, so software won't be able to get around this restriction.
I would definitely NOT recommend this scope in its current state.
@RichardK
Wow, god dam this is awesome! Just a few questions.
you hacked the SW for 1x to 10V,... so if I use the 10x probe it goes to 100V up??
and is it possible to hack this SW, so it goes up to 35V at 1x??? and 350V at 10x probe?
that would be unbelievable!! I normally want to use this scope for 3-16V at 10-100Hz, so it would be great if I can use 1x probe up to 35V instead of the factory-set 10x probe at 50V .
By the way,.. I did't order this 6022BE yet,.. just saw this thread today and since you do something with the SW, I wanna have this scope!
Thank you very, very much for your hard work!!!
Greetings, and sorry for my bad english.
It's a software hack of 10V/DIV @ 10x
I did notify today that the printing option is not available,
Am I doing something wrong or you just haven't reach this point yet?
@RichardK
Hi, is it possible to use your software with Hantek 6052BE (50 Mhz version of this scope) ??
I did notify today that the printing option is not available,
Am I doing something wrong or you just haven't reach this point yet?
Printing is not implemented yet, but will be soon... Typically, if you notice anything in the interface that doesn't appear to do anything, it's not implemented yet. Exceptions being of course, things that worked in previous builds, as this may be a bug!
one thing that might help minimize confusion is if in your ReadMe you had a simple list of the major Features, broken into Implemented and Not-Implemented Yet lists. Then just move one line between the 2 lists as their status changes. That's about as simple a project-management & status tracking technique as I can think of.
You could even have a 3rd list (Not-Planned), if folks start requesting things that aren't possible, or you don't plan on doing. That would forestall repeated requests (and explanations), since it's fairly obvious that folks aren't going back through and reading the thread postings.
I was not originally going to periodically release binaries for a functionally incomplete project (I assumed nobody would want to use a partially functional program).
Hi I joined this forum after reading this great thread. I have also bought the Hantek 6022be for all the reasons already mentioned. The software RichardK is busy with just made it more promising. I still need to understand how to use this DSO properly, as this is all new to me.
I will try to post the noise shown on both my channels when connected to the internal square wave. It interesting to see that channel 2 is nearly clean compared to channel 1.
Both probes were set to X10.
Any comments please?
I just did a similar measurement, the results were the same on the latest binary and stock software... It started out with less noise on CH1, but then a few minutes later the noise evened out between channels (both my version and stock software).
Considering my scope was near a window and it's 2F outside, I think it's safe to say it's thermally related and once the scope warmed up, both channels had pretty much the same noise.
Edit: The keen-eyed observer might notice something in the next build that Rick Law was asking for a few pages back ;)
Hi, Matchless,
...
The interesting part with my 6022be running on the Hantek program with both probes grounded; only channel 1 is noisy, channel 2 is shows no significant noise at all, just a blip every 3 to 4 seconds.
...
Any inputs here will be appreciated.
Hello, anyone know bandwidth and div/v relationship for DSO6022BE?
//Time Division
enum THantekTimeDivision
{
//1016 samples
HTTimeDiv48MS_1NS=0, //960, 1, 1
HTTimeDiv48MS_2NS=1, //960, 1, 1
HTTimeDiv48MS_5NS=2, //960, 1, 1
HTTimeDiv48MS_10NS=3, //960, 1, 1
HTTimeDiv48MS_20NS=4, //960, 1, 1
HTTimeDiv48MS_50NS=5, //960, 1, 1
HTTimeDiv48MS_100NS=6, //960, 1, 1
HTTimeDiv48MS_200NS=7, //960, 1, 1
HTTimeDiv48MS_500NS=8, //960, 1, 1
HTTimeDiv48MS_1US=9, //960, 1, 1
HTTimeDiv48MS_2US=10, //960, 1, 1
//130048 samples
HTTimeDiv16MS_5US=11, //800, 1, 1
HTTimeDiv8MS_10US=12, //800, 1, 1
HTTimeDiv4MS_20US=13, //800. 1, 1
HTTimeDiv1MS_50US=14, //500, 1, 1
HTTimeDiv1MS_100US=15, //1000, 1, 1
HTTimeDiv1MS_200US=16, //2000, 1, 1
HTTimeDiv1MS_500US=17, //5000, 1, 1
HTTimeDiv1MS_1MS=18, //10000, 1, 1
HTTimeDiv1MS_2MS=19, //20000, 1, 1
//523264 samples
HTTimeDiv1MS_5MS=20, //50000, 1, 1
HTTimeDiv1MS_10MS=21, //100000, 1, 1
HTTimeDiv1MS_20MS=22, //200000, 1, 1
//1047552 samples
HTTimeDiv1MS_50MS=23, //500000, 1, 1
HTTimeDiv1MS_100MS=24, //1000000, 1, 1
HTTimeDiv500K_200MS=25,//1000000, 1, 1
HTTimeDiv200K_500MS=26,//1000000, 1, 1
HTTimeDiv100K_1S=27, //1000000, 1, 1
HTTimeDiv100K_2S=28, //2000000, 1, 1
HTTimeDiv100K_5S=29, //5000000, 1, 1
HTTimeDiv100K_10S=30, //10000000,1,1
HTTimeDiv100K_20S=31, //20000000,1,1
HTTimeDiv100K_50S=32, //50000000,1,1
HTTimeDiv100K_100S=33, //100000000,1,1
HTTimeDiv100K_200S=34, //200000000,1,1
HTTimeDiv100K_500S=35, //500000000,1,1
HTTimeDiv100K_1000S=36,//1000000000,1,1
HTTimeDiv100K_2000S=37,//2000000000,1,1
HTTimeDiv100K_5000S=38,//-1,1,1
};
Hello, anyone know bandwidth and div/v relationship for DSO6022BE?
HI for everybody,
could you perhaps help me?
I have this equipment, used it with my desktop pc.It was fine.
Then I connected it to my other desktop, I checked the reference signal and it was not 1 kHz, but about 1,9 kHz ( T= 540 microsec).
Where is the problem?
thanks, I ask them, they tell me below data, this is correct?
1. V/div and bandwidth relationship for you reference as below:
Volt/div Bandwidth
20mV, 50mV, 100mV 10MHz
200mV 12MHz
500mV, 1V, 2V, 5V 20MHz
2. No attenuation, cut off voltage -+5V, attenuation 10X, -+50V.
Looks question1, it is not correct, how about with question2?
Let me add some clues to this puzzle. I have similar problem except it swaps Ch occasionally. Often, my Ch1 has much less noise to Ch2. Not quite down to occasional blip, just Ch1 about 1/3 to 2/3 the constant noise of Ch2. Then, occasionally, without probe swapping, without disconnection, I turned it back on to continue prior work (ie:it is connecting back to the same circuit at the same point.), the "noise channel" reverse and Ch2 is 1/3 cleaner than Ch1.
My guess is, it is software artifact but not real. I think packets were dropped. Something unknown affects which channel has lower priority (got processed second? got less package?) and the trace was smoothed out rather than it being less noise.
Rick
The keen-eyed observer might notice something in the next build that Rick Law was asking for a few pages back ;)
Hantek released an update of the software (1.0.4), but i haven't noticed any changes to the GUI. They must have corrected some bugs.
Hantek released an update of the software (1.0.4), but i haven't noticed any changes to the GUI. They must have corrected some bugs.
The HTDisplayDll.dll has been updated, HTMarch.dll has not changed... I'm comparing the two Display dll's disassembled right now to see what has changed and will test the new DLL with the latest binary.
Issue 1:
At certain settings, Ch2 will use Ch1's position. Look at the attached video, you will see the Ch2 trace is on top of Ch1 for a brief time, then disappear, then come back. But looking carefully: Ch2 trace actually returned to where it should be at the bottom part of the screen. It will stay there for a flash then go back to where Ch1 is. The hopping around is non-stop once you get it started.
https://www.youtube.com/watch?v=9l1oj9mdqfQ&feature=youtu.be# (https://www.youtube.com/watch?v=9l1oj9mdqfQ&feature=youtu.be#)
Settings to get that issue going:
Ch1: 110KHz, triangle, +2.76v to -2.76v
Ch2: 110KHz, square, +2.00 to -2.00v
TimeScale 5uS/division
Trigger: Edge, Auto, Ch1, Rising
To Start:
The hopping around does not happen all the time. To get it going, set it to 5uS then switch between FULL Screen and windowed partial screen, resize the screen, full screen again. After a few tries, the hopping around will start.
To Stop:
Switch to 10uS and then back to 5uS a few times, the hopping will stop. (Sometimes it will stop at first switching)
Also:
At 10uS, I can get the hopping going also. At much slower speed, I can't get it to hop around.
Issue 2:
Using the scope's built-in 1KHz reference wave and with the AC coupling turned on, you see the AC-filtered wave jittering up and down a bit too much. I think the noise is affecting the evaluated DC offset. With the offset changing, the trace is moving up and down too much.
If I can suggest, perhaps the evaluated DC offset should be dampen a bit. Perhaps keeping DC offset unchange unless/until the evaluated new DC offset is at least abs(X%) greater than current DC offset and minimum delta of at least 10mV. That should make it rock solid if in fact the noise is the cause of the problem.
Issue 3:
I notice that once paused, changing the time-scale doesn't redraw the trace at the new time-scale. Actually, I found and using time-scale changing to zoom in is easier for me. If you think so as well, perhaps don't waste time on zooming.
Issue 4:
I miss the regular measurement window. I can get the current peak/max/min regardless of where in the trace it would occur. The interactive cursor measurement is very nice, I like it, but it can't do that job.
If I don't have the peak on the visible trace, I can't put the cursor there and I can't measure it. Same for the unknown-position max and min. If I can't put the cursor there (unknown-position), I can't measure it.
The standard measurement window does that. Where ever it may be on the trace, I get the peak/min/max for that duration.
I hope we can keep the interactive cursor along with the old measurement window.
RichardK, thanks for this. Unfortunately I could not compare with the latest Hantek 1.0.4 as their website is down.Matchless,
Just some feedback that may help on your project:
My issue with no noise on channel two on the Hantek software and the usual noise on both channels on your software is still there. If I run the Calibration utility on yours it reminds me to ground the probes and then fails, and then the noise on my channel 2 goes away! Channel 1 stays the same. Now my result looks the same as on the Hantek software.
Running the calibration on the Hantec does not come back with either a failure or a complete and nothing changes. I assume the calibration feature is not working there.
Thanks again.
Latest Binary: http://jmp.sh/v/GxYh8cys9Rbbf3HAlLqG (http://jmp.sh/v/GxYh8cys9Rbbf3HAlLqG)
What's New:
-----------------------------------------------------------
1. Fixed a bug where channel's might "jump" up and down at random.
2. Fixed a bug where AC Coupled or Inverted channels would jump around, especially when
dragging waveforms.
3. Fixed a bug where waveforms would sometimes not update when changing Timebases.
4. Fixed a crash on close when Cursors enabled.
5. Fixed a bug where the Wave Context would sometimes not update properly when changing
Timebases.
6. Included Latest Hantek SDK DLL: HTDisplayDLL.dll
Edit: Rick, hopefully this fixes most of the issues you brought up earlier.
First, I hope I am not acting in a way that appears to be "just being critical". I am unable to contribute by helping with programming, so I am trying to contribute by do doing testing to hope to lighten your load.
So, if I sound critical, tell me to bug-off...
I did a run down on the latest PR9. I can confirm all 4 issues I brought up are addressed and resolved.
On "issue #2" (trace jitters using software AC coupling), I can see there was great improvement. There is still some slight jitters, but the blinking (trace disappear momentary) is largely gone. The "gone dark" is much shorten when it does happen. (The time when the blink, that brief duration of the momentary screen-with-trace. Both the frequency of blink and duration of blink are improved. It is not disruptive anymore as it was with PR8.
I think the AC coupling is one of the best features of your software. It may be worthwhile to make this the show-piece. The "gone dark" is so short it is barely noticeable. The slight up/down jitter that is left, if it can be slow down a bit more, this is the show piece.
New Bug:
When in AC coupling mode, interactive cursor doesn't work (not on the trace).
To reproduce:
Use the scope's references 1KHz wave
Ch1 & Ch2 are both 2V/div
time scale at 500uS
Ch1 on AC coupling
Turn on cursor - Ch1 cursor riding on air (not on trace) where as Ch2 (not AC coupling) is on the trace. Both seem to measures fine.
I have had the settings on both channels the same as that alerted me to this discrepancy, as I would expect both channels to be just about similar on the same test and settings.
My test was for base noise with both probes on X1 and connected to the ground tag of the 6022.
I have added some screen shots to compare the Hantek 1.0.3 program with RichardK's latest binary. To me both results should be the similar.
You can clearly see the settings in each screenshot:
The pictures marked 1, 2, 3 are on the Hantek SW and marked 1R, 2R, 3R are on RichardKs SW.
Only capture1 shows the noise missing on channel 2 :-//
A logical deduction is that it cannot really be a hardware issue, as then it would show up on RichardK's software as well. Another logical deduction is, if it is a software issue it should show up on other peoples 6022be's as well. The fact is that it is happening in the same way every time and is not intermittent. Thus to reproduce this behaviour, I think I was not clear enough in my original post. Hopefully more people will try it now and come back.
I also apologize if my posts on this is a waste of everyone's time.
According to scope's specs the max input voltage in x10 probe mode is 350V. If I want to double that can I just insert another 9-10MOhm resistor between the probe and scope's input and should I compensate it with an adjustable capacitor?
The fact is that it is happening in the same way every time and is not intermittent. Thus to reproduce this behaviour, I think I was not clear enough in my original post.
Thanks for your replies and advice to date. Unfortunately the Hantek website has been down for 3 days now and will most likely only be up again after the Chinese new year celebrations it seems. My next test is to try this with their latest 1.0.4 version once I can download it. Hopefully the driver is also new. By the way I am running these on Windows 8. I can also try running on Windows 7.
Mark_O and Rick,
Thanks for your replies and advice to date. Unfortunately the Hantek website has been down for 3 days now and will most likely only be up again after the Chinese new year celebrations it seems. My next test is to try this with their latest 1.0.4 version once I can download it. Hopefully the driver is also new. By the way I am running these on Windows 8. I can also try running on Windows 7.
I am leaning towards the suggestion that it may be a combination of my installation and the software and have reinstalled it a couple of times, but nothing has changed. More tests here need to be done yet.
I will be away for a couple of days and on return will try the newer version, Mark_O's suggestion and install on Win7 as well.
Could I possibly ask anyone else to post their results and mention which OS their PC's are running?
Just a thanks again for the interest and inputs from your side.
If you're asking that question then maybe you shouldn't be measuring above 350V... :) NB most resistors are not rated above 500 volts breakdown voltage and SMD ones are rated at much lower voltages...
I already downloaded the latest version from their website before it went down (Probably due to excessive traffic) and uploaded it to my Jumpshare account.
http://jmp.sh/v/xhBbrWPkvVEsYQomHCzs (http://jmp.sh/v/xhBbrWPkvVEsYQomHCzs)
Couple of screenshots comparing Hantek and OpenHantek software:
Couple of screenshots comparing Hantek and OpenHantek software:
Merlyn, look at Chan2 on the Hantek software. It's 20mV/div, and clearly the Vpp on screen is 1/5 of a div, or 4 mV. Yet in the Status area below (Output window), claims the Vpp is 8.16 mV. ??? That's some mighty fine software there.
The noise density is much higher on Chan2, but that doesn't (shouldn't) affect the Vpp at all.
Yeah, I noticed that too. Maybe it will produce wrong readings at the noise level. I'll try with higher amplitude signals and see what's going on.
I am not sure I agree that it is a software problem for this one. At 50uS, the scope is collecting at 1Mhz (1uS/datapoint) for 130048 datapoints. That is 130milliSecond worth of data.
But the display is 50uS/division which equals 500uS per screen full of data. The 130048 data points (130.048mS) equals 260 screenfull of data. So somewhere in the not-on-screen but collected data may be the higher 8.16 mV peak.
Often, I have to scroll my screen left or right to find the peak that is not on the current screen display.
I am not sure I agree that it is a software problem for this one. At 50uS, the scope is collecting at 1Mhz (1uS/datapoint) for 130048 datapoints. That is 130milliSecond worth of data.
But the display is 50uS/division which equals 500uS per screen full of data. The 130048 data points (130.048mS) equals 260 screenfull of data. So somewhere in the not-on-screen but collected data may be the higher 8.16 mV peak.
Often, I have to scroll my screen left or right to find the peak that is not on the current screen display.
Rick, thanks for pointing this out! I agree that it's certainly possible the Vpp captured could have been the 8mV reported, if there are 260 screens worth of data acquired.
OTOH, I think if we're only seeing <0.4% of the data (a very tiny drop in the bucket), there should be some indication of that, on-screen. Not to mention the (already discussed) painful process of trying to scroll through those 260 screenfuls of data.
And not only is there no such indication, once one does start scrolling, I see absolutely no way to know where one is in that 130,000 sample acquisition. So if you did eventually stumble across that 8mV peak (before you died of old age while scrolling), you'd have no idea where (in time) it occurred.
Second thing is, I am not sure (plain just forgot) if it does now, but it could show with part of the mini-wave in different color representing where the current screen is relative to the whole set of collected data.
Latest Binary: http://jmp.sh/v/TpJwJVuWFtNDFZJMovL8 (http://jmp.sh/v/TpJwJVuWFtNDFZJMovL8)
What's New:
-----------------------------------------------------------
1. Fixed a bug where Interactive Cursors out of sync with AC Coupled waveforms.
2. Full support for viewing stopped waveforms at different timebases and voltage divisions.
3. Cursors now work on Zoomed waveforms .
4. Removed Scale warning for zoomed waveforms (Proper scaling now implemented).
5. Added Reset Zoom menu item and Toolbar Button.
6. Added Fullscreen, Hide Toolbar and Hide Sidebar buttons to Toolbar.
7. Moved Start & Stop acquire buttons closer to the left side of the Toolbar.
8. Various other bugs fixed, performance improvements, code cleanup.
Hello Rick,
I just joined this forum and see that folks are evidently writing software for the HANTEK PC Oscilloscope... this is encouraging.
I have a HANTEK 6022BE and want to download the trace data. So far, I've been successful (sort of) at getting the comma separated variable file... the problem is that there's so much data that it overwhelms my spreadsheet (Open Office Calc). It appears that every sample is exported.... I've used network analyzers, spectrum analyzers, and other scopes with similarly high sample rates; however the downloaded data is much, much less, like 3K data points instead of 500K - some models have allowed me to set the number of data points (AGILENT for example). Another problem is that the corresponding x-axis data (time scale) is not exported. Furthermore, the trace data appears all in the same columns (making extremely long columns) rather than appearing in sequential columns. I could move this around... except the spreadsheet program tends to choke on the large data set... so forget using a formula to calculate the time base... This is a problem for me, because I've retired an no longer have access to all the wonderfully expensive equipment I once did. So... have any of my issues been addressed with software, OEM, or after-market? Where could I find more information on it?
Hello Rick,Plummerman,
Thanks for the prompt reply. My application is for calibrating small wind turbines (< 3kW) output characteristics. BTW, I have X100 probes because the output voltage in the operating regions is 50V to 300V. At any rate, the time per division is on the order of milliseconds, which at a 48MSa/sec would yield 1 million samples or more for 10 divisions (1 screen). As I recall on my first test runs, I was capturing something less than this (130k data points or more), so it would seem the scope software was adjusting the sample rate somehow.... but that's still way, way, too much (way over-sampled). Does the OpenHantek software have a more intelligent control over the sample rate than the OEM software?
Do you intend activating the Calibration function at a later stage?
Is it possible to change the 3 large rotary knobs to a better HD that looks more "quality" in line with your software?
Is it possible or bad practice to allow for clicking on the relevant rotary knob to activate the mouse scroll wheel, where at the moment one has to click the drop down box voltage?
RichardK,
Thanks, I must have missed that. At the moment if I run Calibration on the Hantek software it executes with no further feedback at all. If I run it on Open 6022be it executes and then gives Cannot calibrate: Calibration failed.
I may have missed something. Is there any specific steps to follow, except having it on for a while and having the probes connected to ground?
Thanks
RichardK,
Thanks, I must have missed that. At the moment if I run Calibration on the Hantek software it executes with no further feedback at all. If I run it on Open 6022be it executes and then gives Cannot calibrate: Calibration failed.
I may have missed something. Is there any specific steps to follow, except having it on for a while and having the probes connected to ground?
Thanks
Latest Binary: http://jmp.sh/v/TpJwJVuWFtNDFZJMovL8 (http://jmp.sh/v/TpJwJVuWFtNDFZJMovL8)
What's New:
-----------------------------------------------------------
1. Fixed a bug where Interactive Cursors out of sync with AC Coupled waveforms.
2. Full support for viewing stopped waveforms at different timebases and voltage divisions.
3. Cursors now work on Zoomed waveforms .
4. Removed Scale warning for zoomed waveforms (Proper scaling now implemented).
5. Added Reset Zoom menu item and Toolbar Button.
6. Added Fullscreen, Hide Toolbar and Hide Sidebar buttons to Toolbar.
7. Moved Start & Stop acquire buttons closer to the left side of the Toolbar.
8. Various other bugs fixed, performance improvements, code cleanup.
Issue 1: When trigger is not triggered, confusing wave form...
This bug is on NORMAL trigger and doesn't show in automatic trigger. In earlier release, you said only automatic trigger is working. I'm not sure that NORMAL trigger is "done" or work in progress. Anyhow, you want to know this anyway.
When trigger point is not within wave-range, the waves are still shown but deformed. The volt displayed is inaccurate. (Stock software draws nothing when trigger point is not within wave-range, so it would not be misleading or confusing.)
It may be best to remove the visible trace so as it would not be confusing when normal trigger is not triggered.
To see the confusing trace:
1 use scope’s build-in reference
2 time=1ms/div
3 volt ch1 2v/div
4 volt ch2 1v/div
5 Trigger Edge/Normal/Ch1/+
6 DC coupling for both
7 Trigger point at about 1v/div
Now drag the trigger point up and down a bit to just above the wave form, you can see the wave form CH2 is shown and jumps around, but volt is not accurate.
8 Now set CH1 to AC coupling, both wave forms are shown with inaccurate volts.
Issue 2: Zoom...
Zoom works really nice - particularly the reset zoom. It lacks just one thing. One doesn't know how much is zoomed, and reading the screen can easily confuse one into reading a wrong number.
You need either some magnification indicator (1X, 2.3X) somewhere on screen, and/or resize the grid. With the grid unchanged but zoomed, one can easily be confused and it is hard to discern the true value of the Horizontal or Vertical.
Issue 3: Full Screen
This works nice too!. It took me a bit of trying to realize that right-mouse button give me the option to re-window it. Perhaps you should put a tiny icon at the corner to re-window. First few times, I close the app and restart to regain window-ed mode. After a few tries, I want to see if there is a way and I tried all kinds of keys - eventually got to trying the other mouse button.
A small icon in the corner would be a nice touch.
Suggestion:
Earlier point Mark_O made about when one screen of 260 screens of data is shown, it is hard to see where the visible screen is relative to the start of data. I pointed out that your mini-wave at top-middle of screen and the T points at exactly the start position of data.
...
Issue 2: Zoom...
Zoom works really nice - particularly the reset zoom. It lacks just one thing. One doesn't know how much is zoomed, and reading the screen can easily confuse one into reading a wrong number.
You need either some magnification indicator (1X, 2.3X) somewhere on screen, and/or resize the grid. With the grid unchanged but zoomed, one can easily be confused and it is hard to discern the true value of the Horizontal or Vertical.
There is a zoom indication in the Main form Caption when zoomed in or out, as for zooming the grid, the SDK DrawGrid doesn't support zooming the grid so I would have to make my own DrawGrid function or reverse engineer theirs.
...
Suggestion:
Earlier point Mark_O made about when one screen of 260 screens of data is shown, it is hard to see where the visible screen is relative to the start of data. I pointed out that your mini-wave at top-middle of screen and the T points at exactly the start position of data.
The 'T' actually points to the center of view, and the green area exactly represents the visible area (the waveform in view) in respect to the rest of the data.
Also, check out View->Debug Information... Is that similar to what you are talking about?
RichardK,
Thanks, I must have missed that. At the moment if I run Calibration on the Hantek software it executes with no further feedback at all. If I run it on Open 6022be it executes and then gives Cannot calibrate: Calibration failed.
I may have missed something. Is there any specific steps to follow, except having it on for a while and having the probes connected to ground?
Thanks
Matchless ,
I cannot reproduce your issue -- I think you might have forgot to ground the probes first.
Rick
Issue 3: Full Screen
This works nice too!. It took me a bit of trying to realize that right-mouse button give me the option to re-window it. Perhaps you should put a tiny icon at the corner to re-window. First few times, I close the app and restart to regain window-ed mode. After a few tries, I want to see if there is a way and I tried all kinds of keys - eventually got to trying the other mouse button.
A small icon in the corner would be a nice touch.
That's not too hard, and I was thinking maybe binding the escape key to return to windowed mode also.
RichardK,
Thanks, I must have missed that. At the moment if I run Calibration on the Hantek software it executes with no further feedback at all. If I run it on Open 6022be it executes and then gives Cannot calibrate: Calibration failed.
I may have missed something. Is there any specific steps to follow, except having it on for a while and having the probes connected to ground?
Thanks
Matchless ,
I cannot reproduce your issue -- I think you might have forgot to ground the probes first.
Rick
Rick,
They were grounded as the Calibration software calls for on the screen. I also removed them completely as the Help calls for. Neither method works.
This is quite peculiar I must say!
Geeze - RichardK, you are right. I totally missed that on Matchless' post. Sorry, Matchless.
Time to consider an upgrade to my reading glasses. (Gotta blame it on something else.)
Hello Rick,
However, if at that time-per-division is fast enough but you capture more than you need, you can trim the data with a quick and dirty program. If you need more capture data than the scope is capable of (at your needed minimum capture rate), than it would be time for another scope.
Hope this helps.
Rick
I don't know of a spreadsheet program that won't simply choke on 130K to 500K (or more) data points. As for a "quick and dirty program", I'm not much of a code guru, and attempts at using a formula to lookup and extract a smaller data set simply sent Open Office into la-la land.
perhaps, as folks reading this forum are working on the Open HANTEK code, they will think about and implement ways to export manageable data sets?
Hello Rick,
However, if at that time-per-division is fast enough but you capture more than you need, you can trim the data with a quick and dirty program. If you need more capture data than the scope is capable of (at your needed minimum capture rate), than it would be time for another scope.
Hope this helps.
Rick
Thanks again for taking the time to respond. Since I'm looking at some pretty low frequency stuff (alternating current of a wind turbine), my time scales will be in the milliseconds range. I don't know of a spreadsheet program that won't simply choke on 130K to 500K (or more) data points. As for a "quick and dirty program", I'm not much of a code guru, and attempts at using a formula to lookup and extract a smaller data set simply sent Open Office into la-la land. What about the screen memory/display manipulations in the HANTEK and/or OpenHANTEK software? Is every data point being shown in the display, or is there some extrapolation from the sampled data set? I'm sure hoping there is some way to get a more manageable data chunk out of this thing..., or perhaps, as folks reading this forum are working on the Open HANTEK code, they will think about and implement ways to export manageable data sets?
Hello Rick,
However, if at that time-per-division is fast enough but you capture more than you need, you can trim the data with a quick and dirty program. If you need more capture data than the scope is capable of (at your needed minimum capture rate), than it would be time for another scope.
Hope this helps.
Rick
Thanks again for taking the time to respond. Since I'm looking at some pretty low frequency stuff (alternating current of a wind turbine), my time scales will be in the milliseconds range. I don't know of a spreadsheet program that won't simply choke on 130K to 500K (or more) data points. As for a "quick and dirty program", I'm not much of a code guru, and attempts at using a formula to lookup and extract a smaller data set simply sent Open Office into la-la land. What about the screen memory/display manipulations in the HANTEK and/or OpenHANTEK software? Is every data point being shown in the display, or is there some extrapolation from the sampled data set? I'm sure hoping there is some way to get a more manageable data chunk out of this thing..., or perhaps, as folks reading this forum are working on the Open HANTEK code, they will think about and implement ways to export manageable data sets?
Plummerman,
They (scope manufacturers) are more likely to work on exporting larger and larger sets instead of smaller data sets. Deep-memory is a selling point.
130,000 points is not that many. You could use Microsoft Word to slides the file into 2 or three, and go from there. Microsoft Word has the capability to go to specific line of text if I remember right, so you can get to 100,000th line or whatever point you want to slice the file.
If you can get a buddie to write you a script or a macro for the word processor you use, you could speed that up. A macro (recordable bunch of keystroke) can "delete a line, move forward N lines, repeat". With such a macro, you can just let it run for a while and it will trim down to 1/N of the original size.
Good Luck!
Rick
Excel and OpenOffice Calc choke on just two data channels of 130K data points- and that doesn't even include generating the x-axis data (time of each sample). Handling a file of 20 or 30, or more such traces would be, well, unthinkable. I know what a macro is - at one time I wrote quite a few of them in Excel VBA, but that required a "functioning" application... The Excel VBA macro recorder helped a lot with my weaknesses at scripting. As yet, I'm unfamiliar with the Open Office VBA equivalent.
Hello Rick,
I can see a desire for "deep data" in order to catch high speed transients, glitches, and the like; ... My desire is to do repetitive data captures of side by side data in a single file in performing a series of tests for later analysis ... Excel and OpenOffice Calc choke on just two data channels of 130K data points- and that doesn't even include generating the x-axis data (time of each sample) ...
Thanks again,
Plummerman
7. Function declaration:
HTMARCH_API unsigned short dsoSetCalLevel(unsigned short DeviceIndex,short* level,short
nLen);
Return value: return zero (0) for success and non-zero for failure.
//Calibration error state
bool CalibrateError=false;
//Attempt to calibrate device
if(!Scope->Calibrate())
{
//Attempt to Store Calibration Data to device
if(Scope->SetCalLevel())
{
//Set Error Flag
CalibrateError = true;
}
}
//Otherwise there was an error
else
{
//Reset Calibration Data
Scope->GetCalLevel();
//Set Error Flag
CalibrateError = true;
}
__int16 __usercall sub_41AE50<ax>(int a1<esi>)
{
__int16 v1; // bx@1
__int16 result; // ax@2
__int16 *v3; // [sp-1Ch] [bp-24h]@1
//Calibrate, set v1 to success/fail
v1 = dsoCalibrate(
*(_WORD *)(a1 + 48), // DeviceIndex
*(_WORD *)(a1 + 56), // nTimeDIV
*(_WORD *)(a1 + 8), // CH1VoltDIV
*(_WORD *)(a1 + 32), // CH2VoltDIV
(__int16 *)(a1 + 110)); // pCalLevel
v3 = (__int16 *)(a1 + 110);
//Failure
if ( v1 )
{
dsoGetCalLevel(*(_WORD *)(a1 + 48), v3, 32);
result = v1;
}
//Success
else
{
dsoSetCalLevel(*(_WORD *)(a1 + 48), v3, 32);
result = 0;
}
//Return status
return result;
}
Hello everyone, I think I figured out the Calibration problem...
The calibration utility is running correctly now, but if one runs it while erroneously connected to the internal reference output, the amplitude of the waveform doubles and then it fails and gives an error. I would expect it to fail, but not affect any settings?
If one loads a reference waveform from the R menu, there is no way to disable it again, except closing and restarting the program. Maybe a Close option would be helpful.
The full screen option with the Esc button works well, but the small icon on the left, using restore, removes the full screen, but then its without the menus.
Are you planning to include the "AUTOSET" feature that is used when probe compensation is done?
Probe Compensation
Perform this function to match the characteristics of the probe and the channel input. This should be performed whenever attaching a probe to any input channel at the first time.
? From the “Probe” menu, select attenuation to 1:10. Set the switch to “X10” on the probe and connect it to CH1 of the oscilloscope. When using the probe hook-tip, insert the tip onto the probe firmly to ensure a proper connection.
? Attach the probe tip to the Probe Compensator and the reference lead to the ground connector, select CH1, and then press the “AUTOSET“ button into the menu or the toolbar.
? Check the shape of the displayed waveform.
The Esc key and the Right click menu takes me back to the window mode correctly, but the small icon definitely takes me back to a window mode, but with the difference that only the graticule with grid and wave form shows, no upper toolbar or right hand knobs etc. are displayed then.
Autoset feature: The Hantek software has an Auto setup blue button in the toolbar, 4th from the right.
Latest Binary: http://jmp.sh/v/QN9DEKEgv4YQEW056ASq (http://jmp.sh/v/QN9DEKEgv4YQEW056ASq)
....
Issue 1:
I have problem getting either Math or Reference to scale. Can you share with us how it is suppose to be scaling? I am seeing very inconsistent scaling and even with many experiments, I can't even determine what might be the scaling logic with math. (Follow Ch1? Follow Ch2? Average Ch1+CH2? Follow Ch1 by a multiplier factor? etc...)
Suggestion 1 - why not make it manually scalable? A lot more flexible if user can select scaling base on what is being investigated. At the wave-position pointer, the right-mouse click drop down to hide the Ref/Math trace could have another entry to open a pop-up to get scaling info.
Issue 2:
Detaching toolbar causes display to be erratic. It is certainly not a big issue unless it points to a larger problem (since trace-drawing seem to slow down after a few times of doing that). It was hard to reproduce, but I mapped out a sure way to see it:
1. Reboot (if not rebooted, it may not show after a while but seem to slow down trace drawing)
2. Hook up to scope's reference wave
3. Start Open6022BE
4. Set trigger to get stable trace (I set it to ~500mv)
5. Resize window to a bit longer than the tool bar and a bit wider (It may not happen unless both width and height are changed)
6. Drag toolbar outside the window you will see the traces for both channel blinking.
7. Resizing the window again, the traces now draws normal - you can move toolbar anywhere without blink except the default position (below main window's drop down menus). If you move it back to the default position it will blink again.
8. It will repeat: Resize window again and blink stop, move toolbar out and it starts... It seems to plot slower after a while, but it may just seem to do that instead of for real. Mind may play trick after looking at the same thing for a long time.
Issue 3:
Interestingly, when I Remote Desk Top into the machine running the scope with both Ch1 and Ch2, only Ch2 is showing. The grid and Ch1 do not show at all. When I have both Math and Reference wave on, grid,Ch1,Ch2,Math are absent but Reference wave is visible.
Suggestion 2:
Would it be feasible to implement scroll bar in the control area? I use a small machine with 1024x768 resolution to fit my work area. When measurement windows are open, Ch2 controls are no longer visible.
Suggestion 3:
For measurement window, would it be feasible to split the screen horizontal instead of vertical? Displaying Ch2 data below Ch1 takes too much screen real-estate and the measurement data display is not wide. If Ch1 and Ch2 are split horizontally, it will not take up so much screen.
One additional bug:
The V/Div setting for both channels have a glitch (regardless of other settings as far as i have tested it):
V/Div (set) V/Div (active)
10/V 10V
5V 5V
2V 2V
1V 1V
500mV 1V
200mV 1V
100mV 1V
50mV 500mV
20mv 200mV
Issue 3:
Interestingly, when I Remote Desk Top into the machine running the scope with both Ch1 and Ch2, only Ch2 is showing. The grid and Ch1 do not show at all. When I have both Math and Reference wave on, grid,Ch1,Ch2,Math are absent but Reference wave is visible.
I have no idea what would be causing that... I have tested with VNC Viewer and it appears fine, so it's probably an issue with the software you are using... Perhaps some kind of setting for reducing unnecessary traffic? :-//
Suggestion 2:
Would it be feasible to implement scroll bar in the control area? I use a small machine with 1024x768 resolution to fit my work area. When measurement windows are open, Ch2 controls are no longer visible.
I'll see what I can do, but at the moment it looks like it might be a more complicated feat than one would imagine...
Suggestion 3:
For measurement window, would it be feasible to split the screen horizontal instead of vertical? Displaying Ch2 data below Ch1 takes too much screen real-estate and the measurement data display is not wide. If Ch1 and Ch2 are split horizontally, it will not take up so much screen.
I was thinking the same thing and I have already implemented for the next release a segmented view (see attachment) using four TreeView controls (one for each measure source) side by side. The way the stock software does it is a massive waste of space, and it just looks wrong.
Btw, if anyone was wondering, if you double click the measurement list it will invert the current selections, so if nothing is selected, it will select all items.
Arrgh, not critical, but would be nice.
Latest Binary: http://jmp.sh/v/pgnwMU9slvz6OIK8YhKr (http://jmp.sh/v/pgnwMU9slvz6OIK8YhKr)
....
Wow, that's a fast response :-+
It solves the problem to some extend:
Down to 500mV/DIV things are working properly ... with 200mV/DIV and 100mv/DIV actual resolution is 400mv/DIV (that's strange!), 50mV/DIV gives you 200mV/DIV and 20mV/DIV appears to be working correctly again ...
The peak-peak readout is somewhat erratic too:
...
Robert
With slower settings (i.e. 500ms/DIV) I get an updated screen every 5 seconds. Is that the standard output?
If yes: I'd love to have a "continuous drawing mode" - either real-time samples on the right edge of the scope and the plot moving to the left of, if more feasible, continuous drawing of samples from left to right with "overwriting" on the next pass.
Wow, that's a fast response :-+
It solves the problem to some extend:
Down to 500mV/DIV things are working properly ... with 200mV/DIV and 100mv/DIV actual resolution is 400mv/DIV (that's strange!), 50mV/DIV gives you 200mV/DIV and 20mV/DIV appears to be working correctly again ...
The peak-peak readout is somewhat erratic too:
...
Robert
Robert, I will give it a try to reproduce your issue, see if I can somehow get it to replicate on my system the next couple of days. I will keep you posted.
Rick
Wow, that's a fast response :-+
It solves the problem to some extend:
Down to 500mV/DIV things are working properly ... with 200mV/DIV and 100mv/DIV actual resolution is 400mv/DIV (that's strange!), 50mV/DIV gives you 200mV/DIV and 20mV/DIV appears to be working correctly again ...
The peak-peak readout is somewhat erratic too:
...
Robert
Robert, I will give it a try to reproduce your issue, see if I can somehow get it to replicate on my system the next couple of days. I will keep you posted.
Rick
Rick,
don't waste the time - that was clipping that hit me |O
Robert
What an improvement!!!
RichardK, just one small thing I picked up when running the Autoset for scope compensation adjustment, the V/Div goes to 100mV on the OEM Hantek and Open6022be goes to 1.00V.
Saying you are doing excellent work is an understatement!!!
+1. Added the ability to Import & Export Calibration data to file (Utility->Zero Offset Calibration)
>> I assume the export/input is to allow zero-reset without having to wait for the system warm up and recall it to what the normal zero-offset would be. Do you plan to re-import settings at start up?
New Issues 1:
1. Math is changing where it should not be (setting dependent, described below).
When both Ch1 and Ch2 are measuring the same thing, the two waves match as expected. Math trace (A+B) should look exactly like Ch1 and Ch2 with exact same frequency, different ampltitue, and same 0 crossing. By window resize and mouse movement describe below, it could get into a mode where it shifts left/right a little (that is what caught my attention). The math trace begin rolling left and right and keep rolling. Once that starts, it can get to a point the rolling worsens to like an untriggered wave form.
New Issues 2: probably related to Issue 1
(Once you hit issue 1) Trigger is default setting. Top right display of trigger voltage update delayed (by > 5 sec) Moving the update trigger above wave, the trigger voltage should update. The new display of trigger voltage you added on lower left updates immediately. The trigger voltage on top right (stock software trigger voltage display) does not update immediately. The more you go "resize-small (Vert&Horiz), release button, size big (V&H)," the slower the the update gets. I have waited for >10 seconds for it to update. (The trigger voltage change can be within or beyond wave-voltage. I used the trigger pointer tab to change trigger voltage in case there is another way I don't know)
I was going to skip the 13th build, but it's the 13th of February and I fixed a few issues, so I might as well get it out of the way... Lucky Build #13: http://jmp.sh/JEjvatW (http://jmp.sh/JEjvatW)
I was going to skip the 13th build, but it's the 13th of February and I fixed a few issues, so I might as well get it out of the way... Lucky Build #13: http://jmp.sh/JEjvatW (http://jmp.sh/JEjvatW)
Hmm. "File Not Found." That string looks suspiciously short? Maybe it's just me.
I think perhaps it is a site problem. I saw this PR13 post from RichardK a few hours ago on my laptop. Approx 1 hr ago, I got on my PC to download - and I did not find this PR13 post from RichardK. I was beginning to wonder if I was imagining it or perhaps he changed his mind and removed it somehow. I came back to my laptop after having some snack, this post from RichardK reappeared.
I was really wondering what was in my dinner that caused such imagination. I am glad I see your post. That tells me there must be something wrong on the site or Google Chrome cache is not working right showing me an old page.
I was going to skip the 13th build, but it's the 13th of February and I fixed a few issues, so I might as well get it out of the way... Lucky Build #13: http://jmp.sh/r4BjH8a (http://jmp.sh/r4BjH8a)
What's New:
-----------------------------------------------------------
1. Various Performance enhancements.
2. Reduced tendency for Math channel to roll.
3. Implemented FFT Fundamental frequency rendering.
4. Fixed a glitch in FFT Rendering.
Not a whole lot changed, but this should clear up the latest issues and get #13 out of the way *knock on wood*.
New Issues 1:
1. Math is changing where it should not be (setting dependent, described below).
When both Ch1 and Ch2 are measuring the same thing, the two waves match as expected. Math trace (A+B) should look exactly like Ch1 and Ch2 with exact same frequency, different ampltitue, and same 0 crossing. By window resize and mouse movement describe below, it could get into a mode where it shifts left/right a little (that is what caught my attention). The math trace begin rolling left and right and keep rolling. Once that starts, it can get to a point the rolling worsens to like an untriggered wave form.
Settings:
Both Ch1 and Ch2 hooked to the same spot, 100KHz, Square, +-3.5V peak to peak, math=A+B
Set to default 2V/div, 5uS. Leave trigger at program start up default.
Note:Square, Sine, doesn't matter, v/div doesn't matter, just frequency and time/div matters. I know I don't get it at the low 1KHz reference wave. I am not sure at what frequency it starts. At 100KHz (or 90KHz), I know the bug will hit.
Steps to trigger the uncontrolled scrolling of math waveform: (Next issue related to this, don't change a thing yet after you reproduce this bug)
1. I started with fresh reboot, signal all set up (100KHz, Square, +-3.5v)
2. Start the program, change time/div to 5uS, math A+B
3. Size the window smallest (both verticle and horizontal) and move it to top left for sreen-space. LET GO of the button before next step.
4. Enlarge the window both verticle and horizontal about 1.5x size
5. Start the mouse in the trace-drawing area and move the mouse left and right very very rapidly about 10 times.(mouse movement within trace area, moved perhaps 1/2 trace area width)
6. It may start after a few (<5) such rapid mouse movement left and right, if not go back to step 3. I can usually get the trace scrolling going back to step 3 less than 5 times.
7. Once you get it to roll, move moment appears irrelevant. Sizing window smaller stops the roll, sizing it big starts it again. It became uncontrollable after a few small-large cycle..
8. Do not change a thing yet. Look at the next issue.
New Issues 2: probably related to Issue 1
(Once you hit issue 1) Trigger is default setting. Top right display of trigger voltage update delayed (by > 5 sec) Moving the update trigger above wave, the trigger voltage should update.
2. Reduced tendency for Math channel to roll.
Not fully fixed. Issue#1 (recap below) still triggers a roll. When I posted originally, I said 100KHz down to 90 KHz I can get it to roll. I experimented more and I get it to roll at 10KHz at 5uS/division. (A,B at the same spot on signal gen, Square wave, +- 2 to 2.5V). The rolling stop at slower time/division. At 50uS, I did not get it to roll.
Even as slow as 5KHz, I can also see rolling. But 5KHz at 5uS/div, so little of the wave is visible determining rolling (or not) becomes difficult.
Unrelated Suggestion
Doing tests makes me switch time/div a lot and I notice the drop down shows just a few choices (7+current selection), so I ended up scrolling around a lot. This may be an inconvenience during normal use as well. Since that drop down is so high up on the screen, offering more choices will not impact screen real-estate. Can you make the drop down a little longer so it show more time/div choices? Only if it is easy - this one is polishing. Offer more choices for this drop down menu may make it more user-friendly. It would also look more polished to get rid of some of the digits after the decimal since they are always zero anyway.
2. Reduced tendency for Math channel to roll.
Not fully fixed. Issue#1 (recap below) still triggers a roll. When I posted originally, I said 100KHz down to 90 KHz I can get it to roll. I experimented more and I get it to roll at 10KHz at 5uS/division. (A,B at the same spot on signal gen, Square wave, +- 2 to 2.5V). The rolling stop at slower time/division. At 50uS, I did not get it to roll.
Even as slow as 5KHz, I can also see rolling. But 5KHz at 5uS/div, so little of the wave is visible determining rolling (or not) becomes difficult.
I think the rolling is caused by the fact that the Math function takes some time to execute and by the time it's rendered the source waveforms are at a slightly different time, and with the noise the trigger could be in another location, thus causing the offset.
I optimized it as much as I can, so I think in order to squash this issue I'll have to find another approach, possibly compute the math as soon as possible after the raw data is acquired, although I am already doing it pretty much right after CH1 & CH2 are acquired.
2. Reduced tendency for Math channel to roll.
Not fully fixed. Issue#1 (recap below) still triggers a roll. When I posted originally, I said 100KHz down to 90 KHz I can get it to roll. I experimented more and I get it to roll at 10KHz at 5uS/division. (A,B at the same spot on signal gen, Square wave, +- 2 to 2.5V). The rolling stop at slower time/division. At 50uS, I did not get it to roll.
Even as slow as 5KHz, I can also see rolling. But 5KHz at 5uS/div, so little of the wave is visible determining rolling (or not) becomes difficult.
I think the rolling is caused by the fact that the Math function takes some time to execute and by the time it's rendered the source waveforms are at a slightly different time, and with the noise the trigger could be in another location, thus causing the offset.
I optimized it as much as I can, so I think in order to squash this issue I'll have to find another approach, possibly compute the math as soon as possible after the raw data is acquired, although I am already doing it pretty much right after CH1 & CH2 are acquired.
I think this is a minor issue - not one that should hold up release since your release represents so many important improvements. It could be documented in the release write-up that a fast CPU is needed for proper rendering of math function @ faster than 5uS/division. But of course, it is your call.
To compensate probes
Perform this adjustment to match the characteristics of the probe and the channel input. This should be performed whenever attaching a probe to any input channel the first time.
1. From CH1 menu, set the probe attenuation to 10X (press CH1?Probe?10X).
Set the switch to X10 on the probe and connect it to CH1 of the oscilloscope.
When using the probe hook-tip, insert the tip onto the probe firmly to ensure proper connection.
Attach the probe tip to the probe compensator connector and the reference lead to the ground pin, Select CH1, and then press AUTO.
2. Check the shape of the displayed waveform
3. If necessary, use a non-metallic tool to adjust the trimmer capacitor of the probe for the flattest square wave being displayed on the oscilloscope.
4. Repeat if necessary.
WARNNING: To avoid electric shock while using the probe, be sure the perfection of the insulated cable, and do not touch the metallic portions of the probe head while it is connected with a voltage source
To display a signal automatically
The oscilloscope has an Auto feature that automatically sets up the Oscilloscope to best display the input signal. Using Auto requires signals with a frequency greater than or equal to 50 Hz and a duty cycle greater than 1%. Press the AUTO button, the oscilloscope turns on and scales all channels that have signals applied, and it selects a time base range based on the trigger source.
The trigger source selected is the lowest numbered input that has a signal applied. The oscilloscope has two-channels input. Connect a signal to the CH1 input.
1.Connect a signal to the oscilloscope.
2.Press AUTO. The oscilloscope may change the current setting to display the signal. It will automatically adjust the vertical and horizontal scaling, the trigger coupling, type, position, slope, level, and mode settings.
Warning ![/size
That download site just tried to infect my PC with a Trojan. I have rebuilt my PC today and teh first download was this one. Be careful. I will attach a screen shot from MS Secuirty Essentials.
Warning ![/size
That download site just tried to infect my PC with a Trojan. I have rebuilt my PC today and teh first download was this one. Be careful. I will attach a screen shot from MS Secuirty Essentials.
My desktop also gone to hell (hung during Windows start up) this morning and I had a hard time getting on. I plan to restore my machine after lunch too.
I am very sorry, I have taken it down immediately. :palm: Can anyone suggest a safe way of doing this please?
I am very sorry, I have taken it down immediately. :palm: Can anyone suggest a safe way of doing this please?
2) When I first ran the program on my laptop, I had the scope disconnected, so got the Device Not Found warning. I clicked Yes to attempt Demo mode, and got a warning about No Default Printer being present. The program then exited. Ideally, it would be better for that to be a warning than a fatal error. When I set a default printer to some dummy device, the program came up in Demo. Seemed to work fine. Glad that you have the Random waveform. The others are so regular, it's hard to know where I'm scrolling.
Latest Binary: http://jmp.sh/aqaEw5c (http://jmp.sh/aqaEw5c)
What's New:
-----------------------------------------------------------
1. Fixed a random crash/hang bug when using FFT.
2. FFT's now update properly on stopped waveforms.
3. Fixed an FFT Fundamental Negative Frequency bug.
4. Fixed a bug where zooming stopped waveforms would cause
interactive cursors to go off trace.
5. Increased Time and Voltage division drop-down lengths.
6. Fixed a bug where Math Interactive Cursors would go off trace.
7. Fixed the Math Channel roll issue.
8. Disable AC Couple & Invert options when Acquire Stopped.
9. Fixed a crash on start up if no Printer is installed.
10. Fixed a bug where Measurements would not update on stopped waveforms.
New Issue - System hung (with Math):
1. Set Signal to 2.11MHz, 0 to 3V Square wave.
2. Have both Ch1 and Ch2 connected to the same signal source
3. Start PR14
4. Adjust trigger level to about mid-way of the square wave, I did that on both Ch1 and Ch2 planning to shortly switch triggering channel. But the bug hit before I change anything with trigger.
5. Start MATH and just use the default "ADD"
6. At this point V/div, time/div, and trigger settings are still startup default
7. Change time/div to 2uS
8. Switch time/div to 5uS - now PR14 application is hung
This bug only hit when Math is on. Once you hit the bug, X'out of the app doesn't totally return to normal. I have a hard time restarting the system with Control-Alt-Delete.
New Issue - System hung (with Math):
1. Set Signal to 2.11MHz, 0 to 3V Square wave.
2. Have both Ch1 and Ch2 connected to the same signal source
3. Start PR14
4. Adjust trigger level to about mid-way of the square wave, I did that on both Ch1 and Ch2 planning to shortly switch triggering channel. But the bug hit before I change anything with trigger.
5. Start MATH and just use the default "ADD"
6. At this point V/div, time/div, and trigger settings are still startup default
7. Change time/div to 2uS
8. Switch time/div to 5uS - now PR14 application is hung
This bug only hit when Math is on. Once you hit the bug, X'out of the app doesn't totally return to normal. I have a hard time restarting the system with Control-Alt-Delete.
Not able to replicate it yet, but I'll keep investigating.
Interesting! Prior to reporting it, I was able to hit that even right after reboot. I tried at least 5 times to make sure and get the "reproduce" steps log properly.
I will do another verification tomorrow, and this time, make sure I didn't do anything in between that I deem inconsequential and didn't log that. If nothing new come up, I will try it with a different machine. Stay tune, I will report back.
Rick
I recently saw a clone of the 6022BE for sale on e*ay and took a look at the 'manufacturers' web site. Instrustar is the name on the units. Take a look here:
http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://www.instrustar.com/product_detail.asp%3Fnid%3D1595&prev=/search%3Fq%3Disds205a%2Bsoftware%26biw%3D1024%26bih%3D506 (http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://www.instrustar.com/product_detail.asp%3Fnid%3D1595&prev=/search%3Fq%3Disds205a%2Bsoftware%26biw%3D1024%26bih%3D506)
There is also software available to download.
http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://www.instrustar.com/product_detail.asp%3Fnid%3D1595&prev=/search%3Fq%3Disds205a%2Bsoftware%26biw%3D1024%26bih%3D506 (http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://www.instrustar.com/product_detail.asp%3Fnid%3D1595&prev=/search%3Fq%3Disds205a%2Bsoftware%26biw%3D1024%26bih%3D506)
http://www.instrustar.com/download_detail.asp?nid=1536 (http://www.instrustar.com/download_detail.asp?nid=1536)
Manual is here:
http://20121015114.web47.ckuai.com/upload/user%20guide/ISDS205A%20User%20Guide.pdf (http://20121015114.web47.ckuai.com/upload/user%20guide/ISDS205A%20User%20Guide.pdf)
I have not tried the software on a 6022BE but thought this information may be of some interest ?
Interesting! Prior to reporting it, I was able to hit that even right after reboot. I tried at least 5 times to make sure and get the "reproduce" steps log properly.
I will do another verification tomorrow, and this time, make sure I didn't do anything in between that I deem inconsequential and didn't log that. If nothing new come up, I will try it with a different machine. Stay tune, I will report back.
Rick
No worries, I think I fixed it :)
RichardK, do you have a 'tip jar' PayPal set up or anything? I'd love to support your development! Or if there's any other way I can help (software/hardware) let me know! My C is alright, but I don't know what language you're using to develop this.... any way I can help just ask!
//Draw Wave in XY (C++)
DLL_API int WINAPI HTDrawWaveInXY(
HDC hdc,
int Left,
int Top,
int Right,
int Bottom,
short* ptrCH1RawData,
short* ptrCH2RawData,
short CH1Lever,
short CH2Lever,
unsigned long DataSize,
COLORREF color);
//Draw Wave in XY (New)
DLL_API int WINAPI HTDrawWaveInXYNew(
HDC hdc,
int Left,
int Top,
int Right,
int Bottom,
short* ptrCH1RawData,
short* ptrCH2RawData,
short CH1Lever,
short CH2Lever,
unsigned long DataSize,
COLORREF color);
@RichardK:
Now that most of the stuff is working great could you please add one small improvement? ;)
It would be great if you could add onClick event on rotary buttons so that when you click on the button the dropdown next to it is selected.
This way it will be really easy to quickly change Volt/DIV and Time/DIV values up and down with mouse wheel.
Tnx for all the effort.
When running the latest OPEN6022BE I find that when both probes are connected to the internal reference output I get two nice square waves, but they shudder and move around regardless of whether on trigger CH1 or CH2.
When I add a reference waveform from the menu button function generator, it displays nicely and the reference waveform sits there solid as a rock.
Now I select AC coupling on CH1 (trigger is also CH1) and the reference wave starts running and CH1 and 2 becomes stable
then after a short while the red led comes on and the software freezes and only a end task in task manager can release it. The same happens when trigger is CH2 and AC Coupling is selected on CH2.
I did not see the "Autoset" function on your todo list. Are you planning to have it replicate what the OEM software is doing now (i.e. scans for any input signal and then by pushing the Auto button the best display is automatically selected)?
Latest Binary: http://jmp.sh/2QnHfye (http://jmp.sh/2QnHfye)
What's New:
-----------------------------------------------------------
1. Various Rendering performance improvements.
2. Added a right click menu to output window to copy measure output to clipboard.
3. Fixed a bug where changing Time Division with Math Channel enabled could cause
the application to hang.
4. Fixed a bug where changing Time Division would sometimes not update Sample Rate
display.
5. Fixed a bug where Math & Reference Trigger Leavers would not rescale on form resize.
6. Implemented XY mode.
EDIT: 7. Added a color option for XY mode to the Waveform Color dialog.
...
Pre/Post trigger 0-100%
HTMARCH_API short WINAPI dsoReadHardData(WORD DeviceIndex, short* pCH1Data,
short* pCH2Data, ULONG nReadLen, short* pCalLevel, int nCH1VoltDIV, int nCH2VoltDIV,
short nTrigSweep, short nTrigSrc, short nTrigLevel, short nSlope, int nTimeDIV,
short nHTrigPos, ULONG nDisLen, ULONG* nTrigPoint, short nInsertMode);
0, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x6c0
1, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x56b
2, wow64.dll!Wow64SystemServiceEx+0x1ce
3, wow64.dll!Wow64LdrpInitialize+0x42b
4, ntdll.dll!RtlUniform+0x6e6
5, ntdll.dll!RtlCreateTagHeap+0xa7
6, ntdll.dll!LdrInitializeThunk+0xe
7, ntdll.dll!NtDelayExecution+0x15
8, KernelBase.dll!Sleep+0xf
9, Open6022BE.exe!PrintdialogFinalize+0x3cc64
10, Open6022BE.exe!ConstantsFinalize+0x3352d
11, Open6022BE.exe!ConstantsFinalize+0x32400
12, Open6022BE.exe!MeasureFinalize+0x6dd27
13, Open6022BE.exe!MeasureFinalize+0x12e1e
14, user32.dll!gapfnScSendMessage+0x332
15, user32.dll!GetThreadDesktop+0xd7
16, user32.dll!CharPrevW+0x138
17, user32.dll!DispatchMessageW+0xf
18, Open6022BE.exe!MeasureFinalize+0x6e4cc
19, Open6022BE.exe!MeasureFinalize+0x6e50f
20, Open6022BE.exe!MeasureFinalize+0x6e83a
21, Open6022BE.exe!WaveformcolordialogFinalize+0x166
22, Open6022BE.exe!Tb2versioninitialization$qqrv+0x15197
23, kernel32.dll!BaseThreadInitThunk+0x12
24, ntdll.dll!RtlInitializeExceptionChain+0x63
25, ntdll.dll!RtlInitializeExceptionChain+0x36
0, KernelBase.dll!IsNLSDefinedString+0x476
1, 0x76548a4876523b6f
2, 0x7652449800000038
3, KernelBase.dll!IsNLSDefinedString+0x476
4, Open6022BE.exe!PrintdialogFinalize+0x3cc64
5, Open6022BE.exe!ConstantsFinalize+0x3352d
6, Open6022BE.exe!ConstantsFinalize+0x32400
7, Open6022BE.exe!MeasureFinalize+0x6dd27
8, Open6022BE.exe!MeasureFinalize+0x12e1e
9, user32.dll!gapfnScSendMessage+0x332
10, user32.dll!GetThreadDesktop+0xd7
11, user32.dll!CharPrevW+0x138
12, user32.dll!DispatchMessageW+0xf
13, Open6022BE.exe!MeasureFinalize+0x6e4cc
14, Open6022BE.exe!MeasureFinalize+0x6e50f
15, Open6022BE.exe!MeasureFinalize+0x6e83a
16, Open6022BE.exe!WaveformcolordialogFinalize+0x166
17, Open6022BE.exe!Tb2versioninitialization$qqrv+0x15197
18, kernel32.dll!BaseThreadInitThunk+0x12
19, ntdll.dll!RtlInitializeExceptionChain+0x63
20, ntdll.dll!RtlInitializeExceptionChain+0x36
0, ntdll.dll!NtDelayExecution+0x15
1, 0x76523bc877e3fd91
2, 0x18fb8800000000
3, 0xb6183fc9
4, 0x24f2c2000000003
5, 0x100000024
6, ntdll.dll!NtDelayExecution+0x15
7, KernelBase.dll!Sleep+0xf
8, Open6022BE.exe!PrintdialogFinalize+0x3cc64
9, Open6022BE.exe!ConstantsFinalize+0x3352d
10, Open6022BE.exe!ConstantsFinalize+0x32400
11, Open6022BE.exe!MeasureFinalize+0x6dd27
12, Open6022BE.exe!MeasureFinalize+0x12e1e
13, user32.dll!gapfnScSendMessage+0x332
14, user32.dll!GetThreadDesktop+0xd7
15, user32.dll!CharPrevW+0x138
16, user32.dll!DispatchMessageW+0xf
17, Open6022BE.exe!MeasureFinalize+0x6e4cc
18, Open6022BE.exe!MeasureFinalize+0x6e50f
19, Open6022BE.exe!MeasureFinalize+0x6e83a
20, Open6022BE.exe!WaveformcolordialogFinalize+0x166
21, Open6022BE.exe!Tb2versioninitialization$qqrv+0x15197
22, kernel32.dll!BaseThreadInitThunk+0x12
23, ntdll.dll!RtlInitializeExceptionChain+0x63
24, ntdll.dll!RtlInitializeExceptionChain+0x36
0, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x6c0
1, wow64cpu.dll!TurboDispatchJumpAddressEnd+0x56b
2, wow64.dll!Wow64SystemServiceEx+0x1ce
3, wow64.dll!Wow64LdrpInitialize+0x42b
4, ntdll.dll!RtlIsDosDeviceName_U+0x23a27
5, ntdll.dll!LdrInitializeThunk+0xe
6, ntdll.dll!NtDelayExecution+0x15
7, KernelBase.dll!Sleep+0xf
8, Open6022BE.exe!PrintdialogFinalize+0x3cc64
9, Open6022BE.exe!ScopeFinalize+0x31689
10, Open6022BE.exe!PrintdialogFinalize+0x3db30
11, Open6022BE.exe!DrawFinalize+0x310ae
12, Open6022BE.exe!MeasureFinalize+0x2dd06
13, kernel32.dll!BaseThreadInitThunk+0x12
14, ntdll.dll!RtlInitializeExceptionChain+0x63
15, ntdll.dll!RtlInitializeExceptionChain+0x36
0, wow64cpu.dll!CpuSimulate+0x16e
1, 0x42bff7400000000
2, 0x24f2c20007ffd8a
3, 0x7ffdf102541770
4, 0x80009802541770
5, 0x2541770007ffd60
6, 0x81263102583550
7, 0x81263b042bff58
8, 0x42bff7c042bff74
9, 0x42bff7400812691
10, ntdll.dll!NtDelayExecution+0x15
11, KernelBase.dll!Sleep+0xf
12, Open6022BE.exe!PrintdialogFinalize+0x3cc64
13, Open6022BE.exe!ScopeFinalize+0x31689
14, Open6022BE.exe!PrintdialogFinalize+0x3db30
15, Open6022BE.exe!DrawFinalize+0x310ae
16, Open6022BE.exe!MeasureFinalize+0x2dd06
17, kernel32.dll!BaseThreadInitThunk+0x12
18, ntdll.dll!RtlInitializeExceptionChain+0x63
19, ntdll.dll!RtlInitializeExceptionChain+0x36
0, KernelBase.dll!IsNLSDefinedString+0xca7
1, 0x76523bab042bfecc
2, 0x42bfea8
3, 0x6b22b3aa9
4, 0x24f2c2000000005
5, 0x100000024
6, KernelBase.dll!IsNLSDefinedString+0xca7
7, KernelBase.dll!SleepEx+0x48
8, KernelBase.dll!Sleep+0xf
9, Open6022BE.exe!PrintdialogFinalize+0x3cc64
10, Open6022BE.exe!ScopeFinalize+0x31689
11, Open6022BE.exe!PrintdialogFinalize+0x3db30
12, Open6022BE.exe!DrawFinalize+0x310ae
13, Open6022BE.exe!MeasureFinalize+0x2dd06
14, kernel32.dll!BaseThreadInitThunk+0x12
15, ntdll.dll!RtlInitializeExceptionChain+0x63
16, ntdll.dll!RtlInitializeExceptionChain+0x36
Im lucky you made this software, since I was unable to read the included CD (I only have an old IDE cd-drive, and no IDE ports... no CDs in any laptop either) and their site is so incredibly bad/slow I was unable to download the software zip!
Just wanted to note that sadly its very unstable. It crashed several times during only 15 minutes of experimenting. How do I get a log or any info on why it crashed?
Something I noticed, lots of places selling the 6022BE advertise that it has pre-trigger acquisition, and even the Hantek product details states (for the entire 6000 series).QuotePre/Post trigger 0-100%
Well, after some reverse engineering I discovered that in dsoReadHardData() the parameter for horizontal trigger is, wait for it... NEVER USED.
They don't even use the value passed into it, which tells me they planned on having Pre-Trigger support but never implemented it.
I have added a Horizontal Trigger lever in the next release, but I have left it invisible (disabled) in hopes that Hantek updates their HTMarch.dll someday to include Pre-Trigger like they falsely advertise.
I have added a Horizontal Trigger lever in the next release, but I have left it invisible (disabled) in hopes that Hantek updates their HTMarch.dll someday to include Pre-Trigger like they falsely advertise.
[Another approach would be to make that control visible, and when an operator tries to use it, pop up a dialog box with contact information for Hantek, and direct them to inquire why a sales feature Hantek advertises is not implemented. That may accelerate the enhancement process. Or simply get them to stop advertising capabilities their offering does not provide. Either would be an improvement.]
RichardK have you considered collaborating with sigrok.org people?
double HorzRatio;
if(MemSize >= 1)
HorzRatio = (double)(rc->right - rc->left + 1) / (double)(MemSize - 1);
else
HorzRatio = 0;
Are you using Visual Basic for the GUI? Or how are you implementing it?
Is the demo mode your creation or related to Hantek? I ask because I was wondering it could be used in a classroom situation. Not relating to myself it just seems that if you could load waveforms with it then it could be used for that purpose.
RichardK have you considered collaborating with sigrok.org people?
Never heard of them before, and their site is down... What are they, like the DD-WRT of the Oscilloscope world?
Here my observations from the pure user perspective: This software is very workable and friendly. A few things get in the way:
2. Save and restore the settings (v/div, trigger, color, etc.) upon restart
1. Lacking ability to adjust V/div for math (and reference)
2. Save and restore the settings (v/div, trigger, color, etc.) upon restart
Do you know if anyone has figured out why two drivers are installed (one is hidden)?
1. Lacking ability to adjust V/div for math (and reference)
Not sure what you mean, changing the Voltage Division for Math and Reference works fine here.
...
Rick,
Just wondering, have you tried with any other remote desktop program? Maybe the free Teamviewer?
...
Do you know if anyone has figured out why two drivers are installed (one is hidden)?
One quietly loads the firmware into the device (it has no internal storage for the firmware, so it's stored in one of the device drivers).
The second driver is for communicating with the active device (now loaded with firmware) and it acts as a communication proxy between the device and HTMarch.dll.
RichardK,
Running Windows 8 (32bit) and the latest version crashes after about 6 seconds....
Hope this is just a small glitch and itching to see it in action with all those improvements you listed!
For some reason, this version is virtually unusuable for me, it hangs almost at once. Well, it doesnt hang as much as it just stops drawing anything. Btw what does "Debug Information" do, anyway?
RichardK, I am happy to report that I do not experience this on either win7 or Win8 any more! :clap:
On the original software one could click the mouse cursor at the position you wanted the button to turn. This obviously does not work on OPEN6022BE, but for some reason it sometimes attempts to work when you click the button. The black dot may or may not move fully or partially to the cursor position. Its hard to reproduce.
While I was googling around I found what appears to be the official Hantek help forum. It looks fairly active.
http://www.hantek.org/asken/ (http://www.hantek.org/asken/)
Had to register just to Chip in...
Received my 6022BE today! Having installed the stock software, I quickly decided it wasn't very good, and a potentially crippling limitation to these natty bits of kit. I was looking for a Linux solution (which there doesn't seem to be one, FWIW) when I stumbled upon this thread and was happy to see that it was active.
RichardK, your Open6022BE is a fantastic piece of software, many times better than the one Hantek supply. I just wanted to echo the others in saying good work, and thanks for your hard work. Bravo.
I shall be putting it through it's paces in the coming days, so if I can chip in bug finding / feature ideas etc. I will!
Thanks again,
JamesR
1) Horizontal noise doesn't work with the square wave
2) Vertical noise seems to be dependent on the value of the points. For example, a square wave from 0-2V will have loads of noise at the top but zero noise in the valley.
The others deal with DPO mode, it would be nice to have a clear screen button. Otherwise its very easy to get displays that look like this:
(http://i.imgur.com/mjAmg2j.png) (http://imgur.com/mjAmg2j)
;D
Also, turning off a channel and/or clearing it should remove the wave. it looks like it turns off the channel but doesn't remove the DPO left-overs.
I did add a loaded question though about the pre-trigger acquisition >:D
As a direct consequence of your Open6022BE software I bought the hardware :)
It's there
http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937 (http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937)
Also, surely this should behave a lot more like the logic analyzers based on ez-usb, ie. once below the USB speed threshold you have an "infinite" buffer on the PC end, and that should mean 24Mhz.
There is one thing which is worse compared to the stock software: triggers go crazy at 48Mhz, and this I know, but with stock it always start working again at 16Mhz. In your software I have to slow down a lot for triggering to be reliable again.
Also, surely this should behave a lot more like the logic analyzers based on ez-usb, ie. once below the USB speed threshold you have an "infinite" buffer on the PC end, and that should mean 24Mhz.
The units you're referring to are single-channel. (Two channel units do NOT run at 24MHz.) Remember, the 6022BE is running two channels, so 16MSa/sec sampling is at 32 MB/sec. (Also, there is no 24 MHz option in the Hantek DLL. It goes directly from 48MHz to 16.)
The units you're referring to are single-channel. (Two channel units do NOT run at 24MHz.) Remember, the 6022BE is running two channels, so 16MSa/sec sampling is at 32 MB/sec. (Also, there is no 24 MHz option in the Hantek DLL. It goes directly from 48MHz to 16.)
I am aware, but does disabling a channel on the 6022 not mean its single-channel, or is the USB part unaffected maybe?
The units you're referring to are single-channel. (Two channel units do NOT run at 24MHz.) Remember, the 6022BE is running two channels, so 16MSa/sec sampling is at 32 MB/sec. (Also, there is no 24 MHz option in the Hantek DLL. It goes directly from 48MHz to 16.)
I am aware, but does disabling a channel on the 6022 not mean its single-channel, or is the USB part unaffected maybe?
No, disabling a channel on the 6022 UI doesn't make it single-channel (unfortunately). AFAICT (from my reading some time back), the Hantek DLL has no option to disable either channel, so, as you say, the USB part is unaffected. It would be nice if you could double the speed by turning off one channel. But the driver that gets loaded into the 6022BE would also have to support that transfer mode.
Perhaps I missed something, and Richard will tell me I'm FOS. :D
HANDLE GetDeviceHandle(WORD DeviceIndex)
{
char Src[63];
char FileName[63];
memset(&Src, 0, 63u);
memset(&FileName, 0, 63u);
//Create Device Identifier
sprintf(Src, "d6022-%d", DeviceIndex);
strcat(FileName, "\\\\.\\");
strcat(FileName, Src);
HANDLE Hnd = CreateFileA(FileName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL);
if(Hnd != (HANDLE)-1 && Hnd)
{
CloseHandle(Hnd);
return NULL;
}
//Return Handle
return Hnd;
}
1) If full screen is selected the GUI does not display the menu, tool bar and button bar.
Pressing the Esc button returns correctly to smaller display with toolbars and controls panel.
Clicking the small top left hand icon and selecting Restore the display is smaller, but no toolbars or controls are shown,
you have to right click on the display and select Windows Mode to get your toolbar and controls back.
2) Noise issue on base noise with probes grounded still exist:
Settings: Both probes grounded to front ground lug, set to X1, 500uS, both channels 20mV set Zoom to level 19
Ch1 Ch2
20mV Noise No Noise
50mV Noise No Noise
100mV Noise No Noise
200mV Noise spikes Noise spikes
500mV Noise Noise
1V Noise Noise
5V No Noise No Noise
10V No Noise No Noise
3) Autoset is not taking one to best settings option, always to 2.000uS only (I think you are aware of this)
4) Trigger Mode Dropdown box has only one selection. Why have a dropdown then?
5) Corporation is mistyped in About
6) Trigger Sweep One shot freezes waveform display, shows "Stop" and red led flashes on device. Unable to resume if setting is changed back
to Normal or Automatic, but resumes if Factory default is pressed after changing back to Normal or automatic. Pressing Autoset also restarts
the program after freezing.
8) When placing a cross, vertical or horizontal cursor line without Enabled, the cursors are placed, but needs two clicks on None to remove.
The automatic placing of cursors seem a bit funny with "Enabled".
9) Auto Setup (Toolbar menu) and Auto Settings (Icon) are the two different names for the same thing.
10) Waveform type is called Vector in the toolbar menu and Line in the icon button menu for the same thing.
11) Print preview screen underlines the words when typing in Notes, can the underline be removed?
12) Can colors be changed in Print Preview just for the printout?
13) When loading Factory settings the window asks to confirm and "wan't" is mistyped in this window.(already reported by OP)
RichardK,
I had a look at the cursors again and hopefully I have described the issue a bit better.
When placing a cross, vertical or horizontal cursor line without clicking "Enabled", the cursors are placed, but needs two clicks on None to remove.
Cross does not place a cursor without clicking “Enabled” the first time, but if you try a second time it places a cursor
Both horizontal and vertical place a cursor first try without clicking “Enabled” These cursors do not go away when you click “None”, but if you try clicking “None” a second time the cursors are removed.
The automatic placing of cursors seem a bit funny with "Enabled".
If you only click "Enabled" you get a Cross cursor without selecting Cross, Horizontal or Vertical?
Hope this helps you to reproduce this.
Thanks!
I have tried to do some further work on the user manual for RichardK's OPEN6022BE. This is only the part that describes the use of the menu items. There are some items I am not clear on, due to my limited and very rusty experience with oscilloscopes. Those are in red and I will appreciate any feedback, especially some help with describing those functions still pending.
The Document is in .docx format.
Thanks in advance.
Download: http://jmp.sh/q0RHv19 (http://jmp.sh/q0RHv19)
Latest Binary: http://jmp.sh/h2xSceX (http://jmp.sh/h2xSceX)
What's New:
14. Trigger Single Shot mode now shows last captured waveforms while waiting for trigger, instead of
not showing any waveforms at all.
Wow! That's a pretty massive update. Excellent!
While in general I think that this 'preserve until replaced' strategy is superior, I can think of some cases where this may not be the preferred choice. Just a thought.
@RichardK
When clicking on the measurement checkboxes it would be nice if the pane that shows the actual measurement opened up far enough to see the first measurement and perhaps half of the second. That would give the user a visual indication that he may have to adjust the pane to see all the measurements selected selected.
Latest Binary: http://jmp.sh/h2xSceX (http://jmp.sh/h2xSceX)
What's New:
-----------------------------------------------------------
1. Fixed a race condition which might cause random hangs.
2.
...
Matchless,
Thanks for doing the documentation! Sooner or later, every one of us looks up things in the documentation, so it's important. I'm not finished reading through the whole thing, but here are a few observations.
1) I'm guessing that your English is British English, so a word like "colour" would be correct. Possibly "curser" is correct, also, but to me (I live in the USA) that's a person who uses crass language. "cursor" would be my spelling.
2) There is a section 6.c.c describing the behavior of the cross cursor. That sounds great. But just after that, 6.c.d says that the vertical line cursor displays "time, frequency, and voltage," when in fact, it only displays time and frequency. Similarly in 6.c.e, the horizontal line cursor only displays voltage, not all three.
3) In 7.a.i.1, I would suggest using the term "Phosphor Persistence" to be consistent with the naming in 7.a.i.2 immediately following.
Best Regards,
Roderick.
One thing I noticed in release beta17 was that if I change from a 1x to 10x probe in the GUI on the right, then look at the dropdown menu, the 1x is still checked in the dropdown. In fact, if I change from 1x to 10x in the dropdown, the check remains on the 1x entry when I return to that menu, and there is no effect on the GUI value. Ideally, the GUI and dropdown would be linked so that a change in one affects the other.
Problem, part of waveform remaining after change in sig gen (demo mode). It's repeatable on my pc.
Here is what I did.
Demo mode sig gen
Sine on ch1 Square on Ch 2
Exported ch1 txt (no prob)
Exported ch2 txt (no prob)
Exported ch1 and ch2 (I assume this is incomplete/ in progress because there isn't any info in the txt file identifying ch2)
I changed ch2 on the sig gen to a flat line.
--- This is the issue ---
Exported ch2 and found the remainder of the previous square wave at the end (see screenshot) was in the exported txt as well.
@RichardK
Import / Export, having the ability to change the txt exported/imported data acquisition rate would make the waveforms much more compatible with other gear.
I have tried to display the Lissajous pattern in demo mode and setting the phase offset to O degrees on one channel in XY mode shows correctly as well as the 45 degrees offset, but the 90 degrees offset does not seem to be correct, looks more like 135 degrees to me?
Waveform 1 marker also stays horizontal, but in the OEM software it jumps to the top of the graticule to show vertical when XY mode is selected.
Am I doing something wrong here?
QuoteWhile in general I think that this 'preserve until replaced' strategy is superior, I can think of some cases where this may not be the preferred choice. Just a thought.
I'm mirroring the stock software for now, later on I'll look at some alternative ideas.
If anyone has any inputs, corrections etc please pass on to me and I can update it.
There are also misspellings of application, specification, calibration, functions, etc. so I'm wondering if some characters just aren't rendering properly for me?
MS Word 2010 does not show the detailed spelling errors, so it looks like your software is messing with the document.
Just an FYI, the spellings seem to be okay on my screen.
Would anyone prefer that I rather post a pdf or keep to the docx?
...
Input protection 35Vpk (DC + peak AC < 10kHz)
Max. Input +/- 5V(Without external attenuation)
Max. sample rate burst mode, size of burst & how long until you can get an additional burst of samples
Max. sample rate continuous
then for the vertical section use the actual hardware limits. From a quick read it looks like you might have 8 gain settings. At those gain settings what are the actual limits. This separates the software function from the data collection hardware
....
Latest Binary: http://jmp.sh/h2xSceX (http://jmp.sh/h2xSceX)
What's New:
-----------------------------------------------------------
1. Fixed a race condition which might cause random hangs.
2. Fixed a bug in the grid brightness dialog which caused part of the slider range to have no
effect on brightness.
3. Made Horizontal and Vertical Knobs "position-clickable" (click to set position).
4. Implemented loop timeouts to prevent infinite loops in Multithread Lock code (Hang prevention).
5. Fixed a bug where disabling the Math Channel could cause a hang.
6. Added detailed Calibration Failure error messages.
7. Made waves continuously draw in Phosphor mode when Acquire stopped (To prevent smearing).
8. Added a Clear option to the Display menu which will clear the screen (good for Phosphor mode).
9. Added a Reset Interactive option to the Cursors Menu which reset the Interactive Cursor positions
to their default locations.
10. Overhauled Rendering code, much easier to read and performance increased.
11. Fixed a few Dialog typos.
12. Fixed some Menu/Toolbar label inconsistencies.
13. Fixed some Trigger issues.
14. Trigger Single Shot mode now shows last captured waveforms while waiting for trigger, instead of
not showing any waveforms at all.
15. Changed rendering so only Waveform's and FFT are effected by Digital Phosphor mode (Not cursors,
text, etc...).
16. Fixed some Menu/Toolbar checkbox issues.
17. Made selecting either of the three different Line Cursor Modes enable Line Cursors if Line Cursors
are not already enabled.
18. Added Pure Square waves (Generated from Sine Waves) to Demo Mode & Function Generator.
19. Disabled Horizontal noise for Artificial Square Waves (it's not supported).
20. Improved FFT performance when using a Window Function (precalculated window functions).
21. Added Sweep Controls to Demo Mode (sweep any demo mode property).
Issue not related to bug- when I download this, Chrome blocked it as malicious. See attached screen print. I am on Chrome version 33.0.1750.154 m, and it up-to-date according to Chrome's update screen.
Question- I must be missing something obvious. You said the math and reference wave form has v/div adjustment. I can't find it...
Just stumbled on a site detasiling overheating in the 6022 DC-DC converter:
http://pididu.com/wordpress/blog/i-dropped-an-oscilloscope-on-my-foot-hantek-6022be/ (http://pididu.com/wordpress/blog/i-dropped-an-oscilloscope-on-my-foot-hantek-6022be/)
Issue not related to bug- when I download this, Chrome blocked it as malicious. See attached screen print. I am on Chrome version 33.0.1750.154 m, and it up-to-date according to Chrome's update screen.
No idea why chrome is deeming this malicious... I don't use Chrome, I use Firefox and Avast AV, so far no heuristic false positives.QuoteQuestion- I must be missing something obvious. You said the math and reference wave form has v/div adjustment. I can't find it...
Definitely chrome issue.
Not a single virus vendor flags this file:
https://www.virustotal.com/en/file/b5d906fa4d2c2b555831f98fa2ce3d28458696d051c12e9492da4f6bc8da1bf2/analysis/1395157292/ (https://www.virustotal.com/en/file/b5d906fa4d2c2b555831f98fa2ce3d28458696d051c12e9492da4f6bc8da1bf2/analysis/1395157292/)
0/50 ;D
The voltage divisions for Math and Reference channels can be changed from the Main Menu -> Channel as well as setting Channel Control A or B to Math or Reference and setting the Voltage Division from the respective Drop Down menu for that Channel Control.
@RichardK,
Yes, I realised too late and after posting :-[ I was speed reading and missed the context of the tests he was doing. Oooooops ! I edited my previous Post.
I don't know if anyone else has noticed this... quite often when I click and drag on the vertical channel markers to move the waveform up and down, the pointer changes to the double arrow as if the marker will be moved, but the marker and waveform don't actually move even though the mouse pointer does. If I release the click and try it again, it works as expected. The same also happens with the trigger markers.
Does anyone else see this behaviour?
Issue not related to bug- when I download this, Chrome blocked it as malicious. See attached screen print. I am on Chrome version 33.0.1750.154 m, and it up-to-date according to Chrome's update screen.
I'm using the program with default settings too.
I can't find any pattern to when it happens for me - it just happens, maybe, 1 out of every 7 or 8 repeated attempts, although it quite often seems to happen on the first attempt during typical usage (i.e. not just trying to reproduce the issue).
Maybe it's only me that's affected (although I can't imagine what it is about my environment/usage that causes it) but I'd be very interested to know if anyone else has ever experienced this.
RichardK,
I am not seeing the most important reason to get a Hantek 6022BE fixed with this software.
Look at all the reviews that dave has done on stand alone DSO's. When you connect one of them to a PC. Only two modes are really possible, Video mode or Data Collection mode.
Video Mode:
For this mode the stand alone DSO acts like a video camera source. A cheap DSO would just send the picture frame data over the USB buss. To get higher resolution &/or a higher frame rate the DSO would have to do video compression. The Hantek 6022BE can not do this.
Data Collection mode:
For this mode the stand alone DSO acts like a analog data capture source. Here the stand alone DSO would capture a block of samples. In addition to the actual ADC data samples the DSO would need to inform the PC of what format the data samples are being sent over the USB. Some of the extra information would be how many channels, Sample rate for a channel, The real time that this block of data samples started and how many samples the data block contains, The analog settings used to collect the samples. In this mode there would be blocks of data with time gaps between the blocks. The time gaps would only become 0 when the sample rate became slow enough that the PC side could keep up with the incoming data. Because the rate could change it would be important to know when a time gap did happen. The Hantek 6022BE while poor is a analog data capture device. As some of the above is set by the firmware loaded into the Hantek 6022BE I see the PC data collection software needing to add the additional information to the information that travels over the USB buss so that the viewer will then have the needed information to properly display the data.
The software first needs to turn the Hantek 6022BE into the best analog data capture device it can be. This is where the Hantek 6022BE could be better than the stand alone DSO. Unlike the DSO the PC could use a lot of buffers, You could buffer samples to ram &/or buffer samples to disk. And while the data collection is happening you could then look at the captured data. Where a DSO would have to use a One shot mode to acquire data the Hantek 6022BE could switch from continuous to disk sample speed with no time gaps to one of many burst speeds where the samples would have time gaps.
The analog data capture software could do some auto ranging by looking at the sample data. To make this really nice and usable there would need to be a lot of easy to use settings.
With the low cost of the Hantek 6022BE, the software should allow for adding an additional USB interface card to the computer so that many Hantek 6022BE's could be used at high speeds.
Even as poor as the Hantek 6022BE is it could be very nice to have the ability to look back at what happened.
The existing software is a start of a data viewer and has parts of the data capture side needed.
If the data capture side was done well it should be possible to run many viewers. Someone that has many displays connected to there PC could have one viewer showing the real time data collection while using an additional display to look back through the collected data on a second display.
So RichardK,
How far do you want to go with this software? With a good software foundation it could become more than just a little better than what Hantek supplied. As a separate data collection program that talks to a data viewer program it could become the thing to use with any DSO on a PC.
C
The scope is limited but useful, and it seems like you are making the assumption that I am trying to turn a $75 20Mhz USB scope into a thousand dollar 200+ Mhz scope and I am not... I am only correcting the flaws in the stock software and providing features that should have been in the stock software.
I am only correcting the flaws in the stock software and providing features that should have been in the stock software.I guess that you and I just looking at things differently. I am looking at a great stand alone DSO and asking the question what has to change due to the $75 hardware used & what improvements can be made to that great stand alone DSO because a PC is being used.
The scope is limited but useful, and it seems like you are making the assumption that I am trying to turn a $75 20Mhz USB scope into a thousand dollar 200+ Mhz scope and I am not... I am only correcting the flaws in the stock software and providing features that should have been in the stock software.
Is it really a $75 scope? When your software is running would it not be fair to include part of the PC's cost in the result?
For all the limits imposed by the $75 hardware this could be very powerful due to the attached PC
For some uses a 20Mhz scope is a lot more than what is needed.QuoteI am only correcting the flaws in the stock software and providing features that should have been in the stock software.I guess that you and I just looking at things differently. I am looking at a great stand alone DSO and asking the question what has to change due to the $75 hardware used & what improvements can be made to that great stand alone DSO because a PC is being used.
C
The scope is limited but useful, and it seems like you are making the assumption that I am trying to turn a $75 20Mhz USB scope into a thousand dollar 200+ Mhz scope and I am not... I am only correcting the flaws in the stock software and providing features that should have been in the stock software.
Is it really a $75 scope? When your software is running would it not be fair to include part of the PC's cost in the result?
For all the limits imposed by the $75 hardware this could be very powerful due to the attached PC
For some uses a 20Mhz scope is a lot more than what is needed.QuoteI am only correcting the flaws in the stock software and providing features that should have been in the stock software.I guess that you and I just looking at things differently. I am looking at a great stand alone DSO and asking the question what has to change due to the $75 hardware used & what improvements can be made to that great stand alone DSO because a PC is being used.
C
The possibilities of the scope are not limited by me, but by the community using it. Like I said before, if people want to improve it more than I have, they can put as much work into my code as they want, that was my second goal of this project, giving others a good launching pad to start from.
I have updated some more sections in the Open6022be user manual. I have also included some of the findings by members in this forum thread. I hope it is in order with you that I did that.Section 14 on "Limitations and Things to be Aware of" is wonderful! It distills the essential information that the public has learned that would be of useful to an engineer. Only in an open-source manual can we find this sort of information. Great job!
...
Hopefully I get more feedback from the forum crowd!
...
I see now that the "Hantek strategy" has paid off handsomely. Aka, "reverse outsourcing". We started it by outsourcing our electronics knowledge and manufacturing expertise, years ago, to get cheap hardware. Hantek has provided that. And by not investing any time or money in decent software or documentation, Hantek has now outsourced them back to the US, and obtained both, free of charge. :-DD
I haven't had time to read the entire manual in detail yet, but I'm very impressed with what I have seen. You've done a very good job, especially tying explanations to screen captures of displays and menus. This isn't only better than Hantek's docs, or any Chinglish docs, it's also superior to many US manufs. professionally produced documents. Very well presented, informational, and educational. Excellent for a product of this type.
I did note a couple questions in red, on Page 39. Here's the info you requested:
- the max sample rate in Burst Mode is 48 MSa/s
- the max sample rate in continuous mode is 16 MSa/s
I tried to use Open6022BE on my laptop and everything works except the waveform doesn't render. If I have the scope connected to a signal I see triggering indicated. If I do a print preview I see a waveform. If I put the software in XY mode I can see a trace. Just no trace in YT. Grid, cursors, zero and trigger level gadgets all show fine. I have Hantek's 1.04 version installed and it runs normally, and I've tried Open6022BE on a netbook and it works great there. This laptop is running Windows 7 Pro 32 bit and it has both nVidia 310M and Intel onboard video, which it defaults to. I tried running it off the nVidia side and no difference(the laptop is able to switch video chipsets on the fly). That was the only thing I could think of that's out of the ordinary. I am using the PR17 version and have not tried anything earlier. I also tried moving the copy of msvcr100.dll that came with it so it would use the one already in the computer. If you have any insights please let me know. Thanks!
I tried to use Open6022BE on my laptop and everything works except the waveform doesn't render. If I have the scope connected to a signal I see triggering indicated. If I do a print preview I see a waveform. If I put the software in XY mode I can see a trace. Just no trace in YT. Grid, cursors, zero and trigger level gadgets all show fine. I have Hantek's 1.04 version installed and it runs normally, and I've tried Open6022BE on a netbook and it works great there. This laptop is running Windows 7 Pro 32 bit and it has both nVidia 310M and Intel onboard video, which it defaults to. I tried running it off the nVidia side and no difference(the laptop is able to switch video chipsets on the fly). That was the only thing I could think of that's out of the ordinary. I am using the PR17 version and have not tried anything earlier. I also tried moving the copy of msvcr100.dll that came with it so it would use the one already in the computer. If you have any insights please let me know. Thanks!
I don't know if I've just discovered another small bug...
I just tried exporting waveforms for both Channel 1 and Channel 2 but I don't see any evidence of Channel 2 in the exported file. I first tried this using the .bewf format but when I only saw one channel appear on import I tried the .txt format export so I could view the contents... and there is no reference to CH2 in the file.
I've not tried including any of the other elements in the export file (Math, Reference, FFT) so don't know if they are missing too.
Is this a known problem?
Exporting more than one channel (or source) is only supported for Image exports currently, I'll have to modify the data formats for exporting more than one source (I will eventually). Right now you have to export them separately.
Exporting more than one channel (or source) is only supported for Image exports currently, I'll have to modify the data formats for exporting more than one source (I will eventually). Right now you have to export them separately.
Noted - thanks for the quick reply Richard.
One other thing I forgot to mention before, totally unrelated to exporting!... I've noticed problems at times with the "waveform context area" above the waveform view. I can't say what conditions this occurs under but at times the T appears way over to the right of the context area and clicking and dragging only brings it back so far. The waveform view scrolls as you drag but it's not clear where exactly in the timeline you are. Again, is this a known problem?
Rick and Richard, thanks for the replies. I tried math right after powerup and got no trace there either, but thinking about the remote desktop prompted me to think about my monitor configuration. I have an external monitor plugged in(HDMI) using dual view mode. Switching out of dual view to either single monitor or laptop display, or to cloned display on both screens made the traces appear instantly! So at least I know how to make it work and perhaps it will be repeatable on another computer. I'll try it on another computer if I can. I can't try it on my netbook because it runs Windows 7 Starter edition which only allows cloned display externally, not dual view.
Thanks again for your help.
I just purchased this 6022BE, have not touched a storage scope in 20 years, Tektronix last used. I immediately threw it on the output of my bench supply to view the ripple. The scope would not respond to any increase above 5VDC. I thought I was missing something in the setup. I cannot find any means to increase that 5vdc limit.
I thought that I would try a blog before returning it.
I appreciate any and all advice. I need 0 - 35vdc minimum and 115vac would be nice.
I appreciate any and all advice. I need 0 - 35vdc minimum and 115vac would be nice.
I appreciate any and all advice. I need 0 - 35vdc minimum and 115vac would be nice.
Like any scope, the 6022BE is not isolated. If you need to look at an AC wall socket you will need a differential probe. Floating your computer by running it on battery, although it separates your computer and the 6022BE from ground, it's still dangerous to then connect your probe to a wall socket.
I just purchased this 6022BE, have not touched a storage scope in 20 years, Tektronix last used. I immediately threw it on the output of my bench supply to view the ripple. The scope would not respond to any increase above 5VDC. I thought I was missing something in the setup. I cannot find any means to increase that 5vdc limit.
I thought that I would try a blog before returning it.
I appreciate any and all advice. I need 0 - 35vdc minimum and 115vac would be nice.
The driver or firmware clip everything at 5V, if you want to measure higher than that you need to set the probe & the software to 10x or higher.
can some one help me with a minor problem I am having. Does the original hantek software do RMS in watts? It not necessary but it would be great to see what the amps are putting out and can adjust each channel accordingly with out calculating it and for other channels that may require lower power.
Also what is this I was reading about a new software? What makes it better? Where can I actually find it?
Thanks
Matchless
Here are three versions of the schematic
pdf : http://jmp.sh/KDVL21k (http://jmp.sh/KDVL21k)
bmp zipped : http://jmp.sh/gQ9MADv (http://jmp.sh/gQ9MADv)
source : http://jmp.sh/DYYGEhr (http://jmp.sh/DYYGEhr)
can some one help me with a minor problem I am having. Does the original hantek software do RMS in watts? It not necessary but it would be great to see what the amps are putting out and can adjust each channel accordingly with out calculating it and for other channels that may require lower power.
Also what is this I was reading about a new software? What makes it better? Where can I actually find it?
Thanks
To do that you need a current probe or a shunt resistor. Without having one of these, it's impossible to measure wattage alone. You need two of the three ( volts, current, resistance) to get watts. If you know the resistance of your load you can calculate watts. That being said if your load is dynamic (like a speaker) then the above methods are the only way to do it properly and get a real result. In summary, no it doesn't do watts because it's a voltage only device.
RichardK is writing the new software this thread deals with. Go back a few pages to find the latest post where he posts a build.
I have them just most of the scopes I have seen have a RMS wattage display...
I would need to calculate or have a scope that shows watt RMS witch most scopes used do show...
Every scope I seen allows you to add loads and what not and give you watt RMS.
Well they read Vrms but they are displaying watts.
Well mostly all of them say Vrms and then what ever the number is. However, amps are rated in watt RMS and the number next to Vrms is showing the number corresponding to the rating in watts so it seams.Based on what I see, the issue is that guy doesn't know how to use an oscilloscope. If you read the display it's clearly reading AC Vrms. So unless he a secondary test rig feeding that oscilloscope his number is wrong. First off it looks like he's directly wired from the amp into the oscilloscope. Then he set the probe divider to 1:10. With no divider, he's getting voltage readings 10x too high. Unless there's something else going on that's NOT watts. In fact if you divide his voltage by 10 to get 30V. Then apply ohms law, assuming a constant 2 ohm load (not a good assumption with a speaker) you get 450W. Not 300W like he says.
or am I missing something.
If you watch the video here you will see what I mean.
https://www.youtube.com/watch?v=D1AYZL72PTY (https://www.youtube.com/watch?v=D1AYZL72PTY)
If some one can shine light on the subject that would be great.
Well mostly all of them say Vrms and then what ever the number is. However, amps are rated in watt RMS and the number next to Vrms is showing the number corresponding to the rating in watts so it seams.
or am I missing something.
If you watch the video here you will see what I mean.
https://www.youtube.com/watch?v=D1AYZL72PTY (https://www.youtube.com/watch?v=D1AYZL72PTY)
If some one can shine light on the subject that would be great.
Well mostly all of them say Vrms and then what ever the number is. However, amps are rated in watt RMS and the number next to Vrms is showing the number corresponding to the rating in watts so it seams.
or am I missing something.
If you watch the video here you will see what I mean.
https://www.youtube.com/watch?v=D1AYZL72PTY (https://www.youtube.com/watch?v=D1AYZL72PTY)
If some one can shine light on the subject that would be great.
Well I can honestly say I have never seen this before (in a scope), check out 9:32 into the video. Any opinions?
https://www.youtube.com/watch?v=QSzt9ZrQqJ0 (https://www.youtube.com/watch?v=QSzt9ZrQqJ0)
I just more or less wanted a watt reading with out calculating it.
I don't know about the humming but in the other vids they say the subs are disconnected, maybe he had something else hooked up and that could explain that . I can call them and ask they seem friendly and knowledgeable last I order from them.
I figure I ask here first since people here know about this scope.
Anyways I have 2 Kicker 12" CVX's 2 Ohm to pair with my old zx 1000.1. All I need to worry there is to prevent clipping.
This is what I was saying earlier. Speakers are inherently non-linear devices. A speaker rated at 2ohms can go as high as 20 ohms depending on the frequency. Plus stability at one frequency does not inherently guarantee stability at all. To ensure that you need to do a sweep and look for clipping at all relevant frequencies.
Here are three versions of the schematicOnce nice thing about a schematic like this is it makes plain the fact that the 6022BE, unlike most scopes that have 3 or 4 decades of Sensitivity settings, has only one decade. I.e., 100mV/div to 1V/div. That's one area they saved money by compromising on (along with the limited sample rates, and no real triggering). [Normally, you see anywhere from 10 mV-5V/div, to 1 mV-10V/div.]
pdf : http://jmp.sh/KDVL21k (http://jmp.sh/KDVL21k)
bmp zipped : http://jmp.sh/gQ9MADv (http://jmp.sh/gQ9MADv)
No problem for me if you use and modify this files. This is an Hantek's design.
Mark_O,
I hope you don't mind if I add your last observations to the User Manual.
Thanks!
No need for "Sorry".
Personally I am grateful for updates as and when you find any spare time to release such. We all have lives outside this forum and I understand that this is JUST a hobby project.
You have already put Hantek's original coders and ongoing software support team to shame !
No need for "Sorry".
Personally I am grateful for updates as and when you find any spare time to release such. We all have lives outside this forum and I understand that this is JUST a hobby project.
You have already put Hantek's original coders and ongoing software support team to shame !
No kidding! I'd be surprised if, over the years this product has been available, there has been more than 1 or 2 updates a year. And those coming with little or no clue as to what had changed.
This is a really nice set of improvements. Thanks.
Off the subject a bit: One thing I'm not clear on, since I've never had to deal with it as a programmer, is how the screen draws vary between OS's, and 32/64-bit systems. You've commented several times about AlphaBlend variations, and I don't really have a good picture of what's going on there? I wouldn't expect you to write a book on it (that's probably already been done!), but a few line summary/overview might be helpful.
Hey Richard, remember this?
http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937 (http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937)
AlphaBlend() is a windows GDI function that uses graphics hardware to do alpha channel blending (Transparencies and such), and a while back when XP first came out (And GDI AlphaBlend also came out) it wasn't too uncommon to come across hardware that didn't support Hardware Alpha Blending, but pretty much every graphics processing unit made today supports it, so you might think it would be odd for modern day systems to have issues with it, but alas they do.
It's not the hardware, it's Microsoft's AlphaBlend GDI function and it has all sorts of issues with 64 bit versions of Windows and other systems (32 or 64bit) that have non standard display configurations (Like dual displays)... Apparently Microsoft has been aware of these issues since Windows 7, and has officially stated that there is a bug, but have not fixed the issue or even addressed when a possible fix may be issued. |O
I wasn't aware of all the fiasco's involved when I started using it for brightness effects (and eventually Phosphor mode)... You learn something new everyday I guess...
Hey Richard, remember this?
http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937 (http://www.hantek.org/asken/iaskdetail.aspx?id=2014022803412937)
Yeah... what about it? ... I see no replies *shocker*
8. Added an alternative rendering option in case AlphaBlend() fails, some 32 bit
systems don't work well with AlphaBlend() apparently, especially in systems
with multiple display configurations.
1. Autoset is not taking one to best settings option, on every run it changes the Volt/Div to a different value. On the OEM program the Trigger marker is also set to the middle of the Waveform amplitude. Richard was working on this.
2. Print preview screen underlines the words when typing in Notes. Can the underline be removed? Richard was adding this function.
3. OEM software has an Autohide feature for the control panel. Not provided in OPEN6022be yet. Not sure if this is needed or useful to anyone.
4. The OEM software had the date and time displayed at right hand bottom corner, as well as the ”Running” in the left bottom corner. Not displayed in OPEN6022BE.
5. On OEM software only the active trigger marker shows, the non-active trigger does not show, but OPEN6022BE shows all the triggers whether active or not. Not sure if this is intentional or not.
6. Does not keep GUI settings yet, if you close and reopen later. Not sure if it should, but also does not stay in Demo mode if you shut down and restart, but the settings part seem to work now! When closing down while rendering Phosphor persistence, it restarts in Phosphor mode correctly, but then incorrectly indicates that it is in Normal mode.
7. The zoom function cuts off after 19 steps, but the counter can be clicked up into the hundreds.
8. In XY mode the second source pointer which stays horizontal (incorrectly) still needs to be moved to vertical top when in XY mode. (In hand with Richard)
9. Display Ch1 Ch2 and Reference wave as square wave. Select Trigger sweep Normal. Move reference wave trigger position marker to the lower part of the reference waveform. Ch1 and Ch2 suddenly goes off the screen to the top.
10. Reference wave was out of phase with internal 1k waveform, now nearly in phase, but square wave shows it is still out by a small margin.
11. Can select Reference as trigger even if Reference waveform is off. Reference shows 500mV while Math selected as trigger when off shows 0V.
12. Right click on waveform marker and a pop up Hide box comes up and if cursor is over marker it switches the channel off. But Hide can be right clicked anywhere in this left margin still displays popup, which does nothing obviously.
13. Left clicking mouse cursor anywhere on screen gives Ch1 and Ch2 voltage readings in a small box which corresponds to whatever position the mouse cursor is. Not sure if this is intentional or what it is supposed to be doing?
13. Left clicking mouse cursor anywhere on screen gives Ch1 and Ch2 voltage readings in a small box which corresponds to whatever position the mouse cursor is. Not sure if this is intentional or what it is supposed to be doing?
It's not actually on left click, it's a popup hint that usually triggers on left clicks, but it's just a quick and dirty measurement (similar to Cross cursors).
if saleae can stream 24MHz from the cy (that's half of what this scope can sample) maybe adding a functionality to stream 24MHz from the adc and then do everything else in the software? triggering, fft, logging ? was anyone thinking about something like that?
Well I understand hantek's original firmware is doing that but "we" (actually RichardK) are fetching data trough SDK functions.
I don't see a way to get a 32 MHz stream from hantek with USB buffer size I select, or I'm missing some pages of the SDK?
I'm actually more interested in 32 MHz from a single channel then 2x16 MHz but I guess it's not a big difference in sw.
I see that front end before ADC is being reverse engineered, any chance someone did the same for the MCU connections? I'm personally not too interested in 6022BE as oscilloscope but more as a nice ADC platform with CY on board :D and for that I need to work on CY firmware and not on hantek SDK
(taking into account that I have two CY boards now and still haven't written a blink led for CY due to serious lack of time this is just a theoretical talk until I get some free time on my hand, and even then I have few things that are more important)
Ah! You'd like someone else to do the work for you. A common enough dilemma. ::) ;D
Click to enable Full Screen display without any toolbars, controls, measure display or measure output. There are 3 ways to go back to the normal display:
1. Push the ESC key on your keyboard or
2. right click on the display and select Window Mode or
3. left click on the small icon in the left top corner and select Restore.
Note: Step 3 will return display to normal size, but without any toolbars or controls. Right click on the display and select Window Mode to get the toolbars and controls back. Mine does this, but RichardK says his comes back in this way with toolbars and controls showing.
If anyone else cares to test this please come back to me so that I can lay this one to rest!
If anyone else cares to test this please come back to me so that I can lay this one to rest!I use VISTA Pro Pack2, and it works exactly as you describe.
Hello,
Congratulations for this great software I used for one week to measure control signals on an Arduino board and I am very happy.
@Matchless
Your documentation is very well top.QuoteIf anyone else cares to test this please come back to me so that I can lay this one to rest!I use VISTA Pro Pack2, and it works exactly as you describe.
I looked at the .pdf manual over - I understand that in the open SW, the two channels must be exported separately to different files? But the original SW stores both channels parallel in one file?
Thanks.
(I run old XP, but the box hasn't left China yet (ordered it today)).
After a search I also found some other links to 'open' stuff and the SDK.
... But the original SW stores both channels parallel in one file?...Yes, if you export to Excel in the bundled software, what you really get is a text file, with first the channel 1 data, then all the channel 2 data. I wish it would have exported the data side-by-side, because then I could use Excel's (or OpenOffice Calc's) built-in Chart to display the data. A warning too - with the original software, I noticed that what was in the export file did not match the screen. I measured a power supply that properly showed 5.2 volts on the screen, but the export file said 6.3 volts for some reason.
I assumed the problem to originate from USB 3.0 or my hub ... as I have these hangs with Hantek's software too, but on switching back to R17 - these problems were gone. So I can confirm it ... or - if you're working with 3.0 too - that might be a source of this behaviour.
Best regards
Robert
Here is the latest version of the user manual for the Open6022be. Just some cosmetic changes done.
...
Hello,Look at Matchless latest Open6022BE manual, it explains the LEDs on page 8.
can someone explain what the led indications mean?
I have red blinking while not running either Hantek's nor Richard's software. I get green blinking which often turns temporarily red blinking while running any of the software, but I never get constant green. The weirdest is that while having the software in running mode (not paused) I often get red blinks. I use Hantek v1.0.4 and Richard's PR18.
Any ideas?
( I also have many issues with PR18 which I will post later in detail)
Congratulations and many thanks to everyone contributing on this useful project of 6022's software development.
On the front panel you will see a red/green bi-color led, two BNC connectors and two hook lugs:
1. The bi-color led always flashes, either red or green.
No Indication:
If no drivers are installed on PC, the led stays unlit when connected to USB port.
Red flashing: (DSO and PC not communicating)
a. If drivers are already installed on the PC and DSO is connected to USB port, but program is not running or
b. when the program fails, due to timebase settings out of limit or
c. when program shows Red STOP in left top corner.
Green flashing: (DSO & PC is communicating)
a. When the DSO is connected and program is running or
b. when program shows Green WAIT in top left corner or
c. when program shows Green AUTO in top left corner.
2. The two BNC connectors are for the Channel 1 & 2 probes.
3. The hook lug marked 1 KHz 2VP-P provides a fixed reference square wave for adjusting probe compensation.
4. The hook lug marked with the ground symbol is the common ground of the DSO, used to connect the ground clips to when adjusting probe compensation.
Hi,
please can someone upload PR18 binary to some another file-server? The link provided does not work for me.
Thanks
I don't remember if this was mentioned before but it looks like the OpenHantek can't take measurements properly.
I'm using the scope for audio amplifiers mainly so I need to observe the onset of clipping and the corresponding signal amlpitude.
As seen from the pics below The Hantek software produces 19.9V RMS/59VPtP. The OpenHantek PtP reading is close but the RMS is something strange. In the same time my DMM reads 18.9V ??? It's an 80Hz sine wave.
You can see my settings from the pics. The probe is set to x10. There's no clipping. Obviously it's not a triangle wave either.
@ Merlyn, Rick
With a P-P voltage of some 58 volt (or somewhere there) and a 'triangular tendency sine-like' shape, it is OK to use a crest-factor 1.5 (appr. SQRT(2)). This gives an RMS voltage around 58/(2x1.5)= 19.3 volt.
Acordingly - the DMM and the Hantek SW shows sound results. The quoted OpenHantek value of some 6 volt is a SW bug (maybe division by some 3-like number 2 times ::) :-// :scared: (6.5x3x3=58.5)).
Hello TomCThanks a lot for your response,
The input level is too low.
2 LSB max ! The scope will only display 5 values : 0, 4mV, 8mV, -4mV -8mV.
If you reduce the input to 1LSB ( roughly 4mV), you will get pure square wave...
See the diagram on page 16 of the OpenHantek UM.
You could get an optimum display using a 500mV input (1V pp).
To TOMC #606Hi lapeyroua,
Could you use the RichardK's OpenHantek software ? I'm really more confident in his version than the Hantek's one.
Looking at picture #7a, I would say : not too bad for this low price hardware. (taking into account the noise and distorsion) :
As each dot is visualised as a line, the picture is confusing. But if you consider the start of each small horizontal line as the real dot, the curve is better and you will no more see additional data points.
A good way to determine weither distorsion comes from harware or software would be to visualize the signal close to the AD9288, with the Owon...
Is Richardk still around? Hope he is just busy!Not at all! :)
Anyone have the Hantek 6022BL software yet?
TomC, do you mind if I use one of your pictures in the user manual to show the clipping at > 10V p-p?
I will post the next version of the user manual this within the next few days.
Not at all! :)
Use whatever you need, and let me know if there is something else I can do to help!
Thanks TomC. Have used a photo of the voltage clipping. If you have the time, any help with the manual will be appreciated.Hi Matchless,
Here is the latest version of the user manual.
Pdf: http://jmp.sh/Zd3ymXt (http://jmp.sh/Zd3ymXt)
Docx: http://jmp.sh/Ywoj7r4 (http://jmp.sh/Ywoj7r4)
Again any corrections, additions, changes etc. are welcome. Some stuff in red is still pending as well.
Edit: The Jumpshare docx viewer has been fixed!
Hi Matchless,
Here are a couple of suggested corrections for the first paragraph on page 6 and some comments on the text next to the first bullet on the same page. I didn't suggest a correction for this last part, just offering my opinion on this issue, see if you can use any of it to improve the text. :)
Hi Matchless,
Have you any news from Richardk ?
I'm alive, just had zero time to do anything on the program... I'm keeping an eye in here and writing down new bugs/feature ideas etc...
When I have ample time again I'll resume work on it, sorry guys but real work takes president over hobbies :)
Btw thanks to everyone helping test and ideas and Matchless for the documentation :)
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sadly I'm an 6022BL owner and it´s not working with the current Open6022BE version. I hope there's an easy way to adapt the software. RichardK's if you can add support to the 6022BL version, I will apreciate that a lot!!! :-+ :-+ :-+ :-+
dsoChooseDevice(unsigned short DeviceIndex, short nType);
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sadly I'm an 6022BL owner and it´s not working with the current Open6022BE version. I hope there's an easy way to adapt the software. RichardK's if you can add support to the 6022BL version, I will apreciate that a lot!!! :-+ :-+ :-+ :-+
The 6022BL has the same SDK as the 6022BE, so any incompatibility might be as trivial as a file name or hardware ID... And it seems the 6022BL is the 6022BE with the Logic Analyzer components populated...
Edit:
Did some preliminary decompiling on the 6022BL's HTMarch.dll and it has a different hardware ID "d602a-%d" as opposed to the 6022BE's "d6022-%d" and the library functions appear to be the same...
It might work with Open6022BE if you use the 6022BL's HTMarch.dll instead of the 6022BE's HTMarch.dll... So simply delete the HTMarch.dll file included with Open6022BE and replace it with the HTMarch.dll that comes with the 6022BL Software.
The 6022BL's HTMarch.dll has a new function called:Code: [Select]dsoChooseDevice(unsigned short DeviceIndex, short nType);
And this is used to specify which device to use (they cannot be used at the same time I suppose)...
The parameter nType is 0 for 6022BL's Logic Analyzer and 1 for 6022BE Scope... If this is required to get the 6022BE functioning I might have to make a call to this function to get the 6022BL to work with Open6022BE.
Sorry for chiming in but would RichardK's software also work with the Hantek 6022BL?
Thank you.
Sadly I'm an 6022BL owner and it´s not working with the current Open6022BE version. I hope there's an easy way to adapt the software. RichardK's if you can add support to the 6022BL version, I will apreciate that a lot!!! :-+ :-+ :-+ :-+
The 6022BL has the same SDK as the 6022BE, so any incompatibility might be as trivial as a file name or hardware ID... And it seems the 6022BL is the 6022BE with the Logic Analyzer components populated...
Edit:
Did some preliminary decompiling on the 6022BL's HTMarch.dll and it has a different hardware ID "d602a-%d" as opposed to the 6022BE's "d6022-%d" and the library functions appear to be the same...
It might work with Open6022BE if you use the 6022BL's HTMarch.dll instead of the 6022BE's HTMarch.dll... So simply delete the HTMarch.dll file included with Open6022BE and replace it with the HTMarch.dll that comes with the 6022BL Software.
The 6022BL's HTMarch.dll has a new function called:Code: [Select]dsoChooseDevice(unsigned short DeviceIndex, short nType);
And this is used to specify which device to use (they cannot be used at the same time I suppose)...
The parameter nType is 0 for 6022BL's Logic Analyzer and 1 for 6022BE Scope... If this is required to get the 6022BE functioning I might have to make a call to this function to get the 6022BL to work with Open6022BE.
Yeah!! It works!!!! I only change the HTMArch.dll It's looks like everything is working fine. If i found a new bug, I will let you know. Thank You for the quick reply!!
Mine just got here from fleebay. I tried the included software and it locked 5 times in 10 min :rant:
Another big thanks for open6022be.
Would it be possible to add a THD measurement(for amplifiers/etc)?
I 2nd the Watt/RMS reading. It's easy enough to calculate, but having it done automatically would be awesome
The file Open6022BE_1_0_BetaPR18_Binary.zip keeps saying its a malicious file in Google Chrome and blocks it. The file Open6022BE_1_0_BetaPR17_Binary.zip downloads just fine however. Is there something wrong with the PR18 file that I should be concerned about?ftp://pididu.com/OpenHantek/ (http://ftp://pididu.com/OpenHantek/) then scanned it with Comodo and it's clean.
PR18 downloaded, unzipped, installed and runs fine in demo mode on my Windows 7, 32 bit machine. I'm using Firefox V27 and Comodo ISP V7.03xxxx. Probably Chrome or your virus protection is set a little too sensitive. Try scanning the zip file with another program for viruses.
I just test downloaded PR18 from
Hi AznGothic,
A few things that I don't know if you have tried:
- A different USB port
- Connecting both ends of the USB cable for extra power.
- Disconnecting all other USB devices from your computer and leaving only the 6022
- Exiting/stopping all other programs while using the 6022
Good luck! :)
Has anyone had an issue installing on 8.1? I'm able to find the computer, but errors out because it's not finding the driver signature. I've downloaded the latest from the Hantek website as well.
Has anyone had an issue installing on 8.1? I'm able to find the computer, but errors out because it's not finding the driver signature. I've downloaded the latest from the Hantek website as well.
The driver isn't a signed driver. You have to disable the driver signature requirement in windows 8 to install it.
Has anyone had an issue installing on 8.1? I'm able to find the computer, but errors out because it's not finding the driver signature. I've downloaded the latest from the Hantek website as well.
The driver isn't a signed driver. You have to disable the driver signature requirement in windows 8 to install it.
Thought about that after I posted.
Thanks
Have you selected "show hidden" devices? Under device manager "view, show hidden devices".
When you initially plug in the 6022be it states that it installed DRIVER 1 and DRIVER 2. But when you look in the device manager you only see DRIVER 2. I'm wondering if perhaps the issue is DRIVER 1? Does anyone know how I would be able to uninstall it when it doesn't even show up?
When you initially plug in the 6022be it states that it installed DRIVER 1 and DRIVER 2. But when you look in the device manager you only see DRIVER 2. I'm wondering if perhaps the issue is DRIVER 1? Does anyone know how I would be able to uninstall it when it doesn't even show up?
Sorry that you are still having problems!
When I installed my 6022 I also noticed that DRIVER 1 doesn't show up in device manager, but I was able to see it if I ran System Information. See an image of this in the following post:
https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg441478/#msg441478 (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg441478/#msg441478)
I have the drivers installed on a desktop and on a laptop. On the desktop I installed the application software first and then just connected the 6022 to an USB port. In this case, Windows automatically found the driver, I presume off the internet, and installed it. This worked fine. On the laptop I connected the 6022 to a USB port before installing the application software, in this case Windows wasn't able to successfully install the drivers automatically, so I installed it manually. I can't remember if I used the CD or a downloaded file. In any case, there were no issues with this installation either.
If you uninstall DRIVER 2 again, you could try to use System Information to see if DRIVER 1 is also uninstalled. If it isn't, then it may be worthwhile to try and figure out a way to uninstall it.
Hello everybody, I stumbled over this discussion, also because I was looking for the difference between BE and BL. I just ordered the BE, since I got the impression that a BL is actually 2 devices in one, a BE Scope and a Saleae clone Logic16. The bad part: they are not usable together at the same time! You have to decide, analog XOR digital, no mixed mode. :--Faced with the choice of
Regards.
Here is the latest beta 17 copy of the user manual for Open6022BE:
>http://jmp.sh/bvK6pDM (http://jmp.sh/bvK6pDM)
Any additions, changes or corrections to the content will be appreciated.
Excellent looking manual. Only problem is the link doesn't allow you to download or save it. I guess you have to login but I have enough logins already.
Excellent looking manual. Only problem is the link doesn't allow you to download or save it. I guess you have to login but I have enough logins already.
Here is the latest beta 17 copy of the user manual for Open6022BE:Hi Machtless,
http://jmp.sh/bvK6pDM (http://jmp.sh/bvK6pDM)
Any additions, changes or corrections to the content will be appreciated.
oh.. I always used this for rotation signal (engine speed , wheel speed sensor.....) and these signal are often below 5v... I didn't know it was limited to 5v.Yeah, the software in X10 will just multiply the value of the input voltage by 10, but the input voltage value is clipped at + or -5V, so you'll still get the wrong voltage. You need to have a X10 probe to see signals >+-5V, so probably modifying the original probes is your best bet.
by the way i'm not using the original probe (since these are not appropriate for automotive testing) I'm simple probe without the x10 switch attached to it. So if I put the software in x10 mode , i'm not getting the right voltage either.....
any solution ?
I could always mod the original probes that come with the scope.. is this the best I can do ?
QuoteExcellent looking manual. Only problem is the link doesn't allow you to download or save it. I guess you have to login but I have enough logins already.
Try the blue download button in the top right hand corner ;)
>
oh.. I always used this for rotation signal (engine speed , wheel speed sensor.....) and these signal are often below 5v... I didn't know it was limited to 5v.Yeah, the software in X10 will just multiply the value of the input voltage by 10, but the input voltage value is clipped at + or -5V, so you'll still get the wrong voltage. You need to have a X10 probe to see signals >+-5V, so probably modifying the original probes is your best bet.
by the way i'm not using the original probe (since these are not appropriate for automotive testing) I'm simple probe without the x10 switch attached to it. So if I put the software in x10 mode , i'm not getting the right voltage either.....
any solution ?
I could always mod the original probes that come with the scope.. is this the best I can do ?
Hi Matchless,
I'm wondering if you uploaded the wrong version by mistake. This seems to be the same beta 16 manual you previously published!
oh.. I always used this for rotation signal (engine speed , wheel speed sensor.....) and these signal are often below 5v... I didn't know it was limited to 5v.
by the way i'm not using the original probe (since these are not appropriate for automotive testing) I'm simple probe without the x10 switch attached to it. So if I put the software in x10 mode , i'm not getting the right voltage either.....
any solution ?
I could always mod the original probes that come with the scope.. is this the best I can do ?
Is there a way to set the FFT range?
I want 0hz to ~30khz range. As of right now its all in the 1st division, anything less than 5k is impossible to read.
oh.. I always used this for rotation signal (engine speed , wheel speed sensor.....) and these signal are often below 5v... I didn't know it was limited to 5v.Yeah, the software in X10 will just multiply the value of the input voltage by 10, but the input voltage value is clipped at + or -5V, so you'll still get the wrong voltage. You need to have a X10 probe to see signals >+-5V, so probably modifying the original probes is your best bet.
by the way i'm not using the original probe (since these are not appropriate for automotive testing) I'm simple probe without the x10 switch attached to it. So if I put the software in x10 mode , i'm not getting the right voltage either.....
any solution ?
I could always mod the original probes that come with the scope.. is this the best I can do ?
Might be a stupid question, but what makes the probes unsuitable for automotive work?
is it just that alligator clips are better?
how is the scope for automotive work?
are there enough channels for everything that you'd want to measure?
Hantek appear to do another scope (1008C) that has a bit better resolution (12bit) and more channels (8 instead of 2), but a much lower sampling rate - 2.4MS/s rather than 48Ms/s, which (I think) gives it about a 1MHz bandwidth...
I've been considering getting that (1008C) scope with more channels to go alongside this one (6022BE), mainly for doing audio stuff, but would use if for automotive work in the future...
mrphil,
I would love to add a chapter to the use manual on using the 6022BE for doing the tests you can/have used it for! I know it asking g a lot, but if you ever have the time to spare it would be much appreciated. I know too little about that field to even attempt writing a guide!!!
Automotive tests
categorie INITION,
sub categorie : primary circuit (for a simple 2 wire coil)
testing procedure for firing voltage
+ test lead on control wire, (neg (-) of coil)
- test lead on body ground
using 100:1 reducer
setting x100 in software
voltage scale 50V / div
time scale 500 us / div
all this with a picture explaining what means what on the result of that scopeWhat would you need ?
for eample if I write something like:
Code: [Select]
Automotive tests
categorie INITION,
sub categorie : primary circuit (for a simple 2 wire coil)
testing procedure for firing voltage
+ test lead on control wire, (neg (-) of coil)
- test lead on body ground
using 100:1 reducer
setting x100 in software
voltage scale 50V / div
time scale 500 us / div
all this with a picture explaining what means what on the result of that scope
is this the kind of info you would need ?
Last I checked, there were no adjustments possible in the FFT function. It seems to still be under development, with the axes not even labeled. I hold out hope that one day, RichardK will have the time to get the code in a state where he feels comfortable releasing it to sourceforge. Then there can be many more people working on details like this.Is there a way to set the FFT range?
I want 0hz to ~30khz range. As of right now its all in the 1st division, anything less than 5k is impossible to read.
Anyone?
I did some interesting testing with another Library:
I was able to read 50MSamples (could be even more) from both channels at the full sample rate of 24MHz.
Actually this gave me 2 Seconds of raw samples @ 24MHz (50MB/sec).
I used this driver for testing on a Linux machine running Ubuntu 12.4: https://github.com/rpm2003rpm
I extended the driver to read up to 48MB of raw data from each channel @24MHz and modified the main program acordingly.
The USB bus was totally reserved for this task. No other device was attached.
I used the inBuilt 1kHz square wave of the BE6022 as testsignal.
To verify the transfer I checked the received data at different positions. The result was always correct: about 12000 Samples for a half cycle of the squarewave.
(24M / 1kHz / 2 = 12.000) It took - as expected - 2 Sec. to get the whole Bulk data.
I also tested the same scenario at other sample rates (down to 100kHz). The results were always as expected. And of course it took the necessary time.
I did some interesting testing with another Library:
Which library was that?QuoteI was able to read 50MSamples (could be even more) from both channels at the full sample rate of 24MHz.
Actually this gave me 2 Seconds of raw samples @ 24MHz (50MB/sec).
Are you sure about that? I ask because while 24 MB/sec is quite reasonable for a USB2 channel, twice that would be very difficult to achieve. I'm not saying you're wrong, just that it seems unlikely, when the max theoretical USB2 capacity is <60 MB/sec, even if both sides of the exchange were running at 100% (which almost never happens).
That would be a pretty slick trick to achieve.
HT6022_1MB = 0x00100000 /*!< 1048576 Bytes */
}HT6022_DataSizeTypeDef;
[Colors]
CH1=65535
CH2=16776960
Math=8388736
Reference=15780518
XY=15780518
This thread shows why we need open source software!
This thread shows why we need open source software!
This thread shows why we need open source software!
Hi, new here and found this great forum, blog and youtube channel after searching for info on the 6022BE, I have one on order. Kudos to Richard K for his hard work & generosity in creating Open6022BE, I have been playing with 1.0 Pre Beta 18 in demo mode. I find that the V RMS measure for a square wave (Artificial) is incorrect even with a duty cycle of 100 % (a straight DC signal): for 0 - 5 V I get RMS calculated as 5.69543 V (p-p & mean both 5.01961 V). Is this a fault just with demo mode? With the scope attached would this value come from the scope or be calculated by the software?
Great job by RichardK, just a small thing: I would love to see the measured output taking up less vertical space (esp when has several values) and would humbly suggest putting it below the "Measure" list panel.
Hi, Bob. Welcome to the group.Thanks for the welcome and the quick answer, after I posted I did download the API and have a look for a RMS function when I get a chance.Hi, new here and found this great forum, blog and youtube channel after searching for info on the 6022BE, I have one on order. Kudos to Richard K for his hard work & generosity in creating Open6022BE, I have been playing with 1.0 Pre Beta 18 in demo mode. I find that the V RMS measure for a square wave (Artificial) is incorrect even with a duty cycle of 100 % (a straight DC signal): for 0 - 5 V I get RMS calculated as 5.69543 V (p-p & mean both 5.01961 V). Is this a fault just with demo mode? With the scope attached would this value come from the scope or be calculated by the software?
I doubt it's restricted to Demo mode. It's probably the same when Live. The value certainly doesn't come from the scope module. However, I'm not sure to what extent Richard is relying on DLL functions for this. There is an error in the software, but it could be Richard's code or Hantek's.
In full screen (maximised not fs mods) there is plenty of room under the measure list (YMMV I have a largish screen) on the lhs and having 3 active measurements at the bottom vertically compresses the scope screen distorting the xy ratio. Just an optimisation tweak for larger screens, a floating measurement window would be another way to achieve the same thing or stacking the measurement results horizontally then vertically. Not a big issue at all.QuoteGreat job by RichardK, just a small thing: I would love to see the measured output taking up less vertical space (esp when has several values) and would humbly suggest putting it below the "Measure" list panel.
I can see why you'd suggest that. And looking only at that screen, it seems quite reasonable. However, as new Outputs are added, I'm pretty sure they populate horizontally, in that (now) mostly empty space. There's very little room left under the Measure panel, and what do you do when there's more than just the 1? Better just to have a collapsable Outputs panel.
In full screen (maximised not fs mods) there is plenty of room under the measure list (YMMV I have a largish screen) on the lhs and having 3 active measurements at the bottom vertically compresses the scope screen distorting the xy ratio. Just an optimisation tweak for larger screens, a floating measurement window would be another way to achieve the same thing or stacking the measurement results horizontally then vertically. Not a big issue at all.
Hi all. I have been looking for a low-cost option for getting a basic oscilloscope. Mainly for learning more about some electrical issues in a hobby of mine, not for use as an EE or anything :) I wanted something that could capture data, for review later.You are right that the resolution for 8 bits is about 0.4% of total range, that equals about 0.4V steps for a 100V total range as you said. However, the way I see it, you wouldn't have to use 100V total range with the probe set to x10. For a +6V signal with a 1Vpp ripple the range must cover about 14V total (+7/-7). So it seems to me that you could use 2V/Div with a total range of 20V (+10/-10). Beware that even with the probe set to x10, if you use 1V/Div, it will clip anything above +5V.
I just ordered a 6022BE. Out of the different USB options, this seemed the most viable for me, while still being under $100.
Ironically, a thread that describes the drawbacks of the product (especially the software) actually inspired me to buy it, as a result of the amazing work that Richard K has done. Thank you Richard!! I hope that Hantek is paying attention.
I do have a question. I want to look at voltage dips/spikes in a 6V source. That's too high for the probes in x1. If I go to x10, will I lose a lot of voltage resolution? 8 bits of resolution, across a 100V total range (+/- 50V), implies ~0.4V steps? That would make the steps quite coarse, for looking at just a 6V signal. My apologies if this isn't actually how it works.
Ahh, I see. Thank you, TomC. The screenshots from actual use, at 8V, using x10, are very helpful, BTW.Yes, that's right, on the setup of the screenshots (2V/Div), the range is 20V (-10V/+10V). So the resolution is 0.4% of 20V which comes to 80mV steps. However, these scopes don't use a true attenuator for all the range settings. For example, on x10, only the 1, 2, 5, & 10V/Div range settings are obtained via the attenuator circuit which consists of an operational amplifier with 4 switchable gain resistors. The range settings below 1V/Div and above 10V/Div are obtained by zooming the image in or out. For example, the 100V/Div range setting is obtained by setting the gain to 10V/Div and zooming out by x10. So as far as what the ADC is seeing, the resolution, and the maximum swing that you can see before clipping, the 100V/Div range setting is the same as the 10V/Div range setting. The only difference is that the signal takes less room on the display.
I had assumed that the 8-bit resolution was always applied across the whole +/-5V actual input range to the scope (whether using x1 or x10 probes). This was apparently a bad assumption. I'm guessing the 8-bit resolution is actually applied maybe to just the available range, based on the volts/div setting you're using. Which is great news.
Hi TomC,Hi Matchless,
This info will be very helpful to some people! I would gladly include it in the user manual if you agree. :-+
I will also put your name to this if you can let me have the pdf in maybe a docx format. If you do not want your name to it, can I use your forum handle?
Thanks.
Hi TomC,
This info will be very helpful to some people! I would gladly include it in the user manual if you agree. :-+
snobs? dude, you just agreed this toy is ok for audio frequencies only
snobs? dude, you just agreed this toy is ok for audio frequencies only
Just my 2 cents as a novice with a little over a year into my E.E. degree and now putting in a year of some hands on while I get my business up and running before pursuing more school. I've only had the unit for 2 days but most people researching the unit just want to know, should I buy one for basic analysis?
I was told whatever I do, absolutely do not, under any circumstances, do not buy a Hantek or Sainsmart USB oscilloscope.
I'm glad I found this forum.
For general audio circuits, fancy light circuits and general low speed analog devices that aren't on the cutting edge of technology, this unit is perfectly acceptable. I'm just designing musical instrument preamps, oscillators, delays, synthesizers, microphone preamps, simple light effects and maybe the occasional hobby ESC or sensor on the car.
I will be the guy who suggests the same 10 dictators appearing on every forum someone asks about buying a cheap scope have something to gain by blacklisting these and pushing Rigol unrelentingly.
If you're not trying to repair satellites, work for the cable company, repair ultrasonic visualizers and other pieces of equipment costing tens of thousands of dollars or at least very high speed devices, what's the harm in starting off with a $60 USB scope?
Nothing unless you're the guys selling $350 bench scopes that are only a few steps up in performance and quality but the way you pay for your winter vacation.
Of course it may very well just be gear snobbery which is a despicable trend in consumerism culture.
My point is I'm happy with the purchase and in another year, yes I'll probably buy a 100mhz bench scope but for most of us dealing with common analog circuits well below the bar of cutting edge technology, this is a reliable tool.
If you're not an engineer or equivalent through hands on industry employment, odds are you're just a hobbyist building RC gadgets or a guy running a car stereo installation business. A $65 scope is more tool than you will ever actually need for such work.
I won't call it a "hack" but if you set the software to 50Mhz, screen capture with a decent program and then playback in slow motion...guess what??
It's not fancy. It's not direct perfect. It is however a useful tool as opposed to the "toy" most gear snobs have labeled it.
So, what I would like to know is if the project is still alive or if there are chances that the code is made open.
I do not think Hantek will ever provide a fix for all those bugs and low usability in the original SW.
I would really like to improve the interface for more usability more than the "background" data management.
What compiler is used and which language? Visual C++ with GDI for the graphics drawings?
I also do software dev, and you should consider github maybe? Even just the ticket system is helpful?
Richard seems to have stopped developing this soft (probably real life took over). This is pretty standard for small hobby projects like this - authors dont want to share code because they feel its not good enough yet (they mean to share when it is polished), or they count hours spend and start thinking about financial gratification, or they are afraid someone will sell it once its open source(afraid = jealous about theoretical future potential profits that never materialize). It all ends the same way - sooner or later something else takes their attention, project dies, and since there is no source there is nothing to continue.
Has anyone tried to extract the firmware and take a look?
http://sigrok.org/wiki/Hantek_DSO-2xxx/52xx (http://sigrok.org/wiki/Hantek_DSO-2xxx/52xx)
QuoteI was told whatever I do, absolutely do not, under any circumstances, do not buy a Hantek or Sainsmart USB oscilloscope.
I'm glad I found this forum.
It's true that those two USB scopes (amongst others) are often disparaged, though sometimes it's simply for their lack of knobs and screens. But on a performance scale, one can not simply lump them all into one basket. Hantek, for example, has a whole range of USB DSO's. Some quite expensive and powerful. The 6022BE is simply at the bottom of their price & performance chain, which is achieved by stripping out everything they possibly could, to minimize costs. Leaving only core functionality intact. Devices like the Sainsmart simply went a bit farther than they should have.
To anyone looking to poke around in the code, good luck, and sorry again if the code is messy :)
Hantek, for example, has a whole range of USB DSO's. Some quite expensive and powerful. The 6022BE is simply at the bottom of their price & performance chain, which is achieved by stripping out everything they possibly could, to minimize costs. Leaving only core functionality intact. /quote]
Is it possible you could show the 'family tree' of the 6022BE - that is, it's parents that share the same boards or architecture but have more functionality?
...I am releasing the source into the public domain...Best Christmas present EVER!!! Thank you.
Here is the link to the latest source, hope it helps anyone interested in hacking this scope... --> http://jmp.sh/sJKpC23 (http://jmp.sh/sJKpC23)
...I am releasing the source into the public domain...Best Christmas present EVER!!! Thank you.
Here is the link to the latest source, hope it helps anyone interested in hacking this scope... --> http://jmp.sh/sJKpC23 (http://jmp.sh/sJKpC23)
I see you compiled it under Codegear Rad Studio, but I think I'll try to see if I can recompile under a free environment like gnu c.
I am releasing the source into the public domain, and I had originally intended to clean it up
Also it should easily port over to the slightly older Borland C++ Builder Personal Edition which is free, and is what Codegear Radstudio is descendent from (it has VCL and similar IDE).
Also it should easily port over to the slightly older Borland C++ Builder Personal Edition which is free, and is what Codegear Radstudio is descendent from (it has VCL and similar IDE).
I just took a quick look with Google, and didn't find any free BCB PE versions. Lots of Trial-ware, and talk about free versions, but no free editions.
Any possibility you may have an active link?
Key is public
http://support.embarcadero.com/article/39702 (http://support.embarcadero.com/article/39702)
https://www.google.ca/search?q=Borland+C%2B+Builder+6.0+Personal+.iso&ie=utf-8&oe=utf-8&gws_rd=cr&ei=-seLVPuzLpK5ogSPnYGIBg (https://www.google.ca/search?q=Borland+C%2B+Builder+6.0+Personal+.iso&ie=utf-8&oe=utf-8&gws_rd=cr&ei=-seLVPuzLpK5ogSPnYGIBg)
Hantek, for example, has a whole range of USB DSO's. Some quite expensive and powerful. The 6022BE is simply at the bottom of their price & performance chain, which is achieved by stripping out everything they possibly could, to minimize costs. Leaving only core functionality intact. /quote]
Is it possible you could show the 'family tree' of the 6022BE - that is, it's parents that share the same boards or architecture but have more functionality?
Hi, Jack. Yes, that would be easy... since there are none. I.e., there are no 6022BE parents with the same boards or expanded functionality. (The 6022BL adds a few LA parts to make a dual-function device, so it's a sibling.)
You may have been confused by my comment about stripping out functionality. But I was referring to a process that occurred at design time. I.e., take a fully functional architecture, and remove everything you possibly can. What's left is the 6022BE.
Hi Mark_O!Yes, you are correct. I had forgotten about those. Thanks for reminding me. Also their 6102BE and 6212BE, at least on their One-Drive SDK web page (I've never seen them elsewhere, probably because they're priced over $1,000!). They are in the same "family", as in 6000BE-series, and share the same case, connectors. etc. Though I'm not sure they share the same boards, since I haven't seen inside one. But I would be extremely surprised if they did.
Thanks for your analysis.
However, I saw there're other members in Hantek 6000BE series, like 6052BE, 6082BE.
Aren't they the same family?
Many thanks to all for the amount of hardwork that's been put into this!
I have a working system on both Xp and win-7 using the supplied Hantek code/drivers.
I have the 6022BL version which supports the logic analyser as well.
If I run the Richards s/w the code doesn't see the device. Demo version is great for exploring the new functionality.
Now there is a button on the BL version that the documentation is not clear about it:
Button: press the button down to run hantek6022BE software.
and in the BL section:
Button: press the button down to run hantek6022BL software.
Any idea what this button is for?
Now there is a button on the BL version that the documentation is not clear about it:
Button: press the button down to run hantek6022BE software.
and in the BL section:
Button: press the button down to run hantek6022BL software.
Any idea what this button is for?
To use the BL with Open6022BE you need to use the HTMarch.dll that came with your scope, NOT the 6022BE version.Thanks Richard, How to I get it to use that driver?
I have just ordered a6022be and started reading the open manual. I noticed there is an Automotive section to be done by mrphill, yet he hasn't posted since September. Is the automotive section still an active project?
My intended use for this scope is on a SUN Distributor machine. These were made in the 40-60's and there are quite a few of them around still being used by race mechanics. These spin a distributor and a flash tube strobe illuminates the degrees at which the points fire. A google search of SUN Distributor machine will come up with rebuilt machines (several thousand $) and replacement parts.If the voltage is too high try using a resistor divider to ground to get the voltage a little below the 5 volt range. Or if the wave form is really messed up by the strobe circuitry, disconnect the strobe and try a 1K ohm resistor from a 5 volt DC supply to the distributor terminal and run the scope probe on X10.
--------------------------------------------------
I also have a SUN machine. I just love it. I haven't tried using it on a scope though.
Depending upon what the output signal of the distributor is you should be able to connect your scope probe on the X10 range to the distributor connection to the strobe light IF the voltage isn't too high at that point.
Hopefully the 6022BE will show a square wave and you'll be able to read out the dwell and other parameters with the built in functions of the software.
I wanted to make a list of all the older version of the software, but most of the links are dead now? Only pr17 and pr18 seem to work?
Hi Richard,
Thanx for doing a great job with some decent SW for this cheapie scope.
I got mine quite a while ago and just set it up with Open6022BE_1_0_BetaPR14 to test it with my devoted to the job, WinXP-Pro SP3, ShuttleX PC.
Everything was running fine including being able to turn the grid on and off.
Then the setup was put in storage waiting for me to find time to renovate my Hobby-room.
This has now happened and the scope with computer re-appeared.
Can't say the same for the grid with SW newer than PR14 which of course still runs OK.
I did see some older postings about issues with Win-7 and parts of the display missing.
Is anybody successfully running PR17 and/or PR18 on XP-machines ?
Mine refuses to show any kind of grid which sort of takes out the fun of having an oscilloscope ;)
The ShuttleX won't run any newer OS, so Win-7 is out of the question with that PC and I would really hate so sack it because of a missing 'scope-grid !
Any suggestions ?
Rgds,
/tri-comp
I have one of these in the post: "Hantek HT25 8' High Voltage 2nd Ignition Capacitive Auto Pickup Probe X10000"
The intention is to see how it performs on some motorcycle ignitions.
I have one of these in the post: "Hantek HT25 8' High Voltage 2nd Ignition Capacitive Auto Pickup Probe X10000"
The intention is to see how it performs on some motorcycle ignitions.
Hello Matchless!
Could you give a link?
Forgive the noob question but the manual for this says max input voltage = 5v but the unit says 35v.... so which is it?
I'm going to be using it mainly for testing engine management sensors so 5v and 12v, will I need an attenuator or not?
Also, is there any alternative software as the included program isn't all that good tbh
Thanks in advance
Forgive the noob question but the manual for this says max input voltage = 5v but the unit says 35v.... so which is it?5v is its measured range, and 35v is its safty range.
Hi,
I do have a spare AGP-socket in this oldie.
It now sports an ATI Radeon 9100 IGP on-board GPU.
I agree that's nothing fancy and I'll try another graphics board which I should have laying around.
Thanks for the suggestion and I'll let everyone know how it turns-out.
..and maybe it wasn't such a bad thing I had to take the ShuttleX apart.
A couple of years in storage didn't do the PSU-cap's any good judging from the temperature of the PSU-enclosure.
The MoBo doesn't seem to have any capacitor-issues yet but in any case it's time to get the ESR-meter out of hiding, too
...hmm, who said SSD ?
rgds,
/tri-comp
I just got a 365F.I have neither a 365F, not any Hantek app that runs on an iPad. However, my experience has been that any data collected by an iDevice app is accessible only to that app. Which would mean there must be a control of some kind in the app, that lets you examine the data, OR Export it.
I saved waveforms on my iPad, but I can't find out where the data go. |O
How can I see the saved file?
Hi guys!
I just got a 365F.
I saved waveforms on my iPad, but I can't find out where the data go. |O
How can I see the saved file?
I just noticed that the Hantek 6022 software version 1.0.5 can be downloaded from the Hantek website. I have installed and hoping there are some improvements.
Get it here: http://hantek.com/en/ProductDetail_2_31.html (http://hantek.com/en/ProductDetail_2_31.html)
Hi RobMcRaf,
Welcome to the EEVBlog!
I have a 6022BE and several other scopes, including some Tek analog scopes and a 100MHz Owon DSO. In my opinion, the 6022BE is pretty good to about 5MHz, beyond that what you get may not be a true representation of the input signal. But you already have the Tek scope to look at higher frequencies and the 6022BE will probably be handy when you need to capture a waveform. As far as X-Y mode, I specifically bought the 6022BE for this application in conjunction with a Curve Tracer. However, although usable, I found the X-Y mode resolution to be too low for my needs, at least compared to my other scopes in the same application. So you'll have to test it with your application and see if it's good enough for you, just don't expect it to be as clear as what you get with the Tek scope.
Good luck with your new scope! :-+
Pay attention to the performance of your pc and graphics adapter. I use a slow laptop + unichrome integrated graphics, which means only a few updates per second. Triggering a 1 mhz clock of a c64 board works just fine (uploaded a video of this on youtube), but with a slow display you might miss some glitches, or so.
I am trying to diagnose a "dead" commodore 64, and one of the first steps are to ensure a 14/17Mhz signal exists on some pins. Problem is I can not detect this signal at all with the scope :/
Did someone measure the BW up to ~20Mhz? I see mostly random 1-bit jumps in amplitude when trying. I am fine with not having a nice waveform, and I would expect a 17Mhz waveform with 48MSamples to look like a lower frequency waveform due to aliasing, and thats "good enough" for me in troubleshooting. But I can not see even that, testing on my "working" C64. Even the 1/2Mhz signals are greatly distorted, sadly.
Can anyone test a 15Mhz square wave and see if you can detect it at all?
Well I tried it on a working machine, just to check. So yes the signal should be there. I could try generating something with an arduino but 15 MHz is likely not possible there.
Well I tried it on a working machine, just to check. So yes the signal should be there. I could try generating something with an arduino but 15 MHz is likely not possible there.
Here is a test using my new AWG. I'm using a coded pulse ARB with the AWG set to 1Vpp and the frequency set to 3.75MHz, but since the ARB has 4 cycles the actual frequency is 3.75 x 4 = 15MHz. I looked at the output with a 100MHz DSO and the 6022BE simultaneously. The attachments show the results.
I have been playing with the factory software for about two weeks and am familiar enough with it now to give an evaluation of the of the open software program.
With factory software more times than not I get the windows faded save window. Often trapizoid in appearance like it is trying to get away before the actual screen save. Never got an answer.
Likely due to the slowness of laptop video. As anyone buying a $60 scope will likely also have a cheap slow laptop. Can a delay be added to software so the save screen isn't saved with the scope image?
There's a reason that Hantek has a reputation for mediocre PC software... they earned it.
There's a reason that Hantek has a reputation for mediocre PC software... they earned it.
To be fair most software out of China (for test equipment) is poor.
Walkera? Quality? I had some rc helis from them...not so good... ::)
My interest in the 6022BE is different than most others here. Not interested in a free lunch.So you're saying if you were offered one, you wouldn't accept? :D Just pulling your leg.
I am sorry if "evaluate" sounds offensive but that is clearly what I will be doing.I'm not sure why you are apologizing. Nothing you have said has been offensive in any way. And there's nothing wrong with evaluating it. If you are referring to my comments (I haven't seen others responding to you, though they may have), they weren't intended to offend you either. I was just curious to hear what your evaluation was, if you felt like sharing.
As I said before it is an annoying little scope but I really like the cosmetics of the hardware package.Yes, it does have a nice case. ;)
So, it is too tickelish to ask if there is a later version of the software?Not at all. Matchless recently posted a link (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg586217/#msg586217) to the latest version from Hantek (v1.05, from last December). I suspect you click on the OneDrive link there. And the latest build of RichardK's version was PR18, announced and described here (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg418102/#msg418102). And the source code was linked to here (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg566881/#msg566881).
I have a positive opinion of Richards software capabilities
and think he should have the opportunity to make some money on the work he has done
so far with the 6022BE.
Thanks for the sample outputs! I actually found another pin (not directly attached to the crystal) that is likely a lot better buffered and I got this:
Which is sort of what I would expect given the circumstances! Now on to measure the broken machine a bit more...
Thanks for the sample outputs! I actually found another pin (not directly attached to the crystal) that is likely a lot better buffered and I got this:
Which is sort of what I would expect given the circumstances! Now on to measure the broken machine a bit more...
Sandos, if you have problems with the original probes, make yourself an adapter from a smaller connector, as you can see here:
http://www.forum64.de/wbb3/board2-c64-alles-rund-um-den-brotkasten/board4-hardware/board183-reparaturecke/47969-messpunkte-mit-dem-oszi-beim-c64/#post611263 (http://www.forum64.de/wbb3/board2-c64-alles-rund-um-den-brotkasten/board4-hardware/board183-reparaturecke/47969-messpunkte-mit-dem-oszi-beim-c64/#post611263)
(the picture at the end of the posting).
Thanks for the sample outputs! I actually found another pin (not directly attached to the crystal) that is likely a lot better buffered and I got this:
Which is sort of what I would expect given the circumstances! Now on to measure the broken machine a bit more...
Sandos, if you have problems with the original probes, make yourself an adapter from a smaller connector, as you can see here:
http://www.forum64.de/wbb3/board2-c64-alles-rund-um-den-brotkasten/board4-hardware/board183-reparaturecke/47969-messpunkte-mit-dem-oszi-beim-c64/#post611263 (http://www.forum64.de/wbb3/board2-c64-alles-rund-um-den-brotkasten/board4-hardware/board183-reparaturecke/47969-messpunkte-mit-dem-oszi-beim-c64/#post611263)
(the picture at the end of the posting).
I used 5 or 6 layers of shrinking tube to thicken up the wire, so I can use a bigger tube finally that encloses the attached probe from the scope, so it's completely isolated and I can just put it anywhere withouth any danger of a potential shortcut.
I personally would not need it, but having "availability of intercourse" would probably increase resell value of the scope.
Sorry to bother you as a Newby: I don't find a download link to the Open6022 software or to the UserManual. Can you please guide me?
RichardK & RedOctobyr
I found both UserManual and PR18. Many thanks to both of you! My 6022BE arrives on Monday - busy preparing for a "single opportunity" test next week...
I wonder since there is newer model from Hantek DSO5200A PC USB 200MHZ 250MS/s Digital Storage Oscilloscope does the reverse engineered software work with this?
hantek just released a newer version of software v1.0.5 , download link (http://www.hantek.com/down.aspx?url=http%3a%2f%2fwww.hantek.com%2fProduct%2fHantek6000%2fHT6022_Software.zip)Was anyone able to download the software? It looks like hantek.com is now redirected to some other commercial site.
i will also download Open6022 to see which is better...
hantek just released a newer version of software v1.0.5 , download link (http://www.hantek.com/down.aspx?url=http%3a%2f%2fwww.hantek.com%2fProduct%2fHantek6000%2fHT6022_Software.zip)Was anyone able to download the software? It looks like hantek.com is now redirected to some other commercial site.
i will also download Open6022 to see which is better...
Hello,
first of all, thanks to the people involved with the Open6022BE Software. I got a question though: Since i only have Mac and Linux computers, i am forced to run the Software in a Windows XP Installation in a VirtualBox VM on my Mac.
Generally, the Software works great. Unfortunately for some reason VM seems to limit the options of the DSO significantly: in the horizontal DIV i can only select time ranges between 10us and 2ms or the program crashes immediately. This happens to both the original Hantek and the Open6022be software. Does anyone have an idea how i could resolve this problem?
Cheers,
e.
I'm trying to run your code in a virtualbox vm, but no luck to far. Kernel shows the scope as an unknown usb device with the correct id, but it seems the python code cannot find the device.
Has anyone managed to run this in a vm?
As a more general update, it turns out the firmware Hantek shipped this device with has got some bugs and is otherwise kind of :-\ so I'm in the middle of disassembling the 8051 firmware with jhoenicke, and trying to squeeze what little bit of real performance can be had out of the device. I am targetting being able to do 25ish MHz single channel and 15 MHz dual channel _with actual triggering_ by shipping all of the data immediately asynchronously back to the host and letting the host figure out the trigger in parallel with data collection.
Phew...python skills....I sorta know how it works, but I don't really like it. I'm more a java guy. Your C rewrite might be easier to read for me.
You think, you can get that many data across USB with a constant data rate? Might be some mouse movement come in between, or so...?
As a more general update, it turns out the firmware Hantek shipped this device with has got some bugs and is otherwise kind of :-\ so I'm in the middle of disassembling the 8051 firmware with jhoenicke, and trying to squeeze what little bit of real performance can be had out of the device. I am targetting being able to do 25ish MHz single channel and 15 MHz dual channel _with actual triggering_ by shipping all of the data immediately asynchronously back to the host and letting the host figure out the trigger in parallel with data collection.
An open source firmware would be very cool.
Do you have information/pointers on the firmware code and packaging?
I would love to at least follow the project even if I might not have time to actually hack on this (my 6022BE device is enroute so no real hacking besides disassembly for me for now).
I recently wrote firmware for an existing power supply (B3603) and it was kinda fun to do that.
Hello everybody!
Please!!!!!
Who can copy the firmware eeprom?
(http://s23.postimg.org/oh9kd3osn/EEPROM.jpg) (http://postimg.org/image/oh9kd3osn/)
Rpcope, your research on this scope seems -very- promising.I had started to hack together a GUI using matplotlib, but I'm fighting with the fact getting parallelism in CPython is not easy; just consistently reading and trigger is probably enough to saturate a CPython process. I am hoping to work to make the documentation better on CPython also; I'd like to get this to the point where someone with basic Python skills can still use this device in a meaningful way. Real hardware triggering might (or might not) be possible, I just need to slog through the 8051 assembly now. It's also possible that we might be able add significantly better software triggering than the stock software (see my above post).
Your python api seems to be easy to use, I thought I wouldn't have a clue what your examples are doing, but it's quite readable.
I will maybe try to tinker with it.
Creating a good GUI on top of this could be a huge step forward.
If you even manage to open the door to a real hardware triggering, I think I'll build a shrine for you...
So firmware isn't so bad on this device. If you look at my repo, it's got the hex code for the stock firmware; the device has no sizeable non-volatile storage to speak of, so the original Windows driver sends the firmware over USB every time the device is plugged in. I was able to capture the data by running Windows in a VM and running a trace on the USB port in wireshark. The MCU that controls the device in the scope is a CY7C68013A (FX2LP), which is really ubiqitous. It sports a lot of GPIO, an 8051 processor and a 4K FIFO that buffers the data. The ADC is an AD9288, which is also as common as dirt. If you're interested in the firmware, i hope you like assembly :-DD. Cypress kind of suggests you use Kiel but I am using mcu8051ide, and there are lots of open source 8051 tools including disassemblers out there; the instruction set on the device is also pretty sane. Pretty much everything use in the scope is well documented, and I can provide further details if you have questions.
So firmware isn't so bad on this device. If you look at my repo, it's got the hex code for the stock firmware; the device has no sizeable non-volatile storage to speak of, so the original Windows driver sends the firmware over USB every time the device is plugged in. I was able to capture the data by running Windows in a VM and running a trace on the USB port in wireshark. The MCU that controls the device in the scope is a CY7C68013A (FX2LP), which is really ubiqitous. It sports a lot of GPIO, an 8051 processor and a 4K FIFO that buffers the data. The ADC is an AD9288, which is also as common as dirt. If you're interested in the firmware, i hope you like assembly :-DD. Cypress kind of suggests you use Kiel but I am using mcu8051ide, and there are lots of open source 8051 tools including disassemblers out there; the instruction set on the device is also pretty sane. Pretty much everything use in the scope is well documented, and I can provide further details if you have questions.
After I posed the former message I found your repository, I still don't have the device to really play with it but started to look at the assembly. I'm adept enough at reading assembly but never really tried writing it beyond adapting sdcc peephole rules for optimization.
You are currently patching an existing firmware, I personally would have gone for understanding the pinouts and interface points and writing a new firmware and then you can do the writing in C to reduce programmer effort.
I would also avoid writing a whole new scope software, there are already several for the 6022BE, the RichardK one and others as well. I personally would prefer to just write a driver for sigrok and let another project handle the GUI.
rpcope1
I damaged EEPROM.
In the EEPROM stored vid/pid device.
8byte
Presumably: C0 B4 04 22 60 00 00 00
>python example_linux_readeeprom.py
c0b4042260000000...
I think I found something quite valuable today :
https://github.com/rpm2003rpm/HT6022_Driver (https://github.com/rpm2003rpm/HT6022_Driver)
It looks like that guy did more or less the same kind of reverse engineering as rpcope and hoenicke. Didn't mod the firmware though
(Is it even possible that they didn't notice this project ?)
It works straight out of the box on linux ($ make && ./a.out), and it's written in C. (Which is great for me because I was getting headaches learning python's dynamic typing |O)Accessing the scope is really not that difficult, once you understand libusb1. Python makes it easier to prototype something, but I see no reason why one shouldn't be able to port this to C.
It uses the stock firmware, but it should be as simple as a copy/paste to make it upload the modded one instead.
It's lacking some comments, and a few variables names are a bit mysterious, but it works, (without being root).
If we implement a rolling buffer, and have the gui in another thread, would we still need isochronious usb transfer ?
1. I'am in France, so when I click on "Save" button I have systematically an error "1.0 is not a floating point value"
This appears due to the dot separator used in "Image export setting" tab combobox (for Horizontal and Vertical zoom). I suppose the default Windows separator is used and in France it's dot and not comma. This is my hypothesis. It's a blocking point, I can't use the function "save" due to this.
Key is public
http://support.embarcadero.com/article/39702 (http://support.embarcadero.com/article/39702)
https://www.google.ca/search?q=Borland+C%2B+Builder+6.0+Personal+.iso&ie=utf-8&oe=utf-8&gws_rd=cr&ei=-seLVPuzLpK5ogSPnYGIBg (https://www.google.ca/search?q=Borland+C%2B+Builder+6.0+Personal+.iso&ie=utf-8&oe=utf-8&gws_rd=cr&ei=-seLVPuzLpK5ogSPnYGIBg)
Nice find :)
Here is a dumb situation: after using the scope for so long all of a sudden the Output window (where measurements are shown) disappeared. Can't switch it back on from the menu - it just wouldn't show (Hantek v1.05). Any ideas?
The Open Hantek software after all those improvements still can't measure properly. Why is that? I'm measuring in the audio range and it shows absolutely inadequate results.
Concerning the Linux stuff: is it possible to use a Raspberry PI to run the scope and make a standalone unit?
Did you try RichardK's software?
Syncopator,
I have a 6022BL that I got for $48 on eBay...unopened NIB. When I had issues with the driver install I first thought "you get what you pay for" but I was also stubborn and wanted to get it going.
I uninstalled the software. Then went to the device manager and uninstall the Hantek drivers. I also scanned my drive for the drivers, and made sure that everything Hantek was uninstalled.
I had started to hack together a GUI using matplotlib, but I'm fighting with the fact getting parallelism in CPython is not easy; just consistently reading and trigger is probably enough to saturate a CPython process. I am hoping to work to make the documentation better on CPython also; I'd like to get this to the point where someone with basic Python skills can still use this device in a meaningful way. Real hardware triggering might (or might not) be possible, I just need to slog through the 8051 assembly now. It's also possible that we might be able add significantly better software triggering than the stock software (see my above post).
@rpcope1:
Hi!
I managed to get your example going! Great work! I had to install a few packages, though:
That was python-matplotlib , python-scipy, python-numpy, python-pip, python-usb, libusb1 (with pip), python-dev, pypy-dev (not in that order, though...)
I had to add a path to the usb lib:
PYTHONPATH=$PYTHONPATH:PyHT6022 python examples/example_linux_scopevis.py
And got some error from time to time:
raise ValueError("x and y must have same first dimension")
File "examples/example_linux_scopevis.py", line 28, in <module>
pylab.plot(timing_data, voltage_data, color='#009900', label='Raw Trace')
But now I got a wonderful trace!
You want to translate your code to C now? Or just create a driver for sigrok?
Thanks for your great efforts!
So I googled my way through python (I don't really like python) and extended your linux vis example by a few line to animate the waveform. I did not use any python bitblit methods for now. Just clear and redraw the screen. So I got maybe 2 to 3 updates / second in my virtualbox now. I added some very simple code for triggering, but it doesn't really work yet.
Not sure, if it's actually worth to work on this python code for now, but better do some C++ coding (qt maybe).
I made this managed C# library in order to bring you a better abstraction level of the native library HTMarch.dll provided by Hantek.
Note my C# library is using unsafe code to call the low level functions of the original library.
I bring this project to the entire world because I haven't found any example in C# with this oscilloscope. I hope sincertly I will help you and save you a lot of times to understand the way this library works.
To build this project, you need Visual Studio 2012 (the express version should be sufficient) and, of course, a Hantek USB oscilloscope.
Nothing better than an example to understand how my library is working, I have included into the solution a protype which is displaying the signal from Channel 1. All you need is to connect the probe to 1Khz/2V connector located and run the application.
My material is a model Hantek6022BE but I think it is compatible with other model but I haven't tried yet.
Hello everybody,
My english is not really good so forgive me. I'm new on this forum.
First of all, I would like to congrats RichardK for his very very beautiful work.
RichardK, if you still read this forum, thanks a lot ! I hope to see you again programming this beautiful software.
It's been a few week I use this software and I have notice some bugs, maybe users can confirm them.
1. I'am in France, so when I click on "Save" button I have systematically an error "1.0 is not a floating point value"
This appears due to the dot separator used in "Image export setting" tab combobox (for Horizontal and Vertical zoom). I suppose the default Windows separator is used and in France it's dot and not comma. This is my hypothesis. It's a blocking point, I can't use the function "save" due to this.
2. When I use Vertical Cursor to measure the time durtion of a signal, the return value is not the same when I change the Time/DIV in order to Zoom In or Zoom Out. I mean, after Zoom out for example, when I readjust the cursor on my signal, the Time duration return is not the same.
3. Sometimes, when I use the scrolling waveform function at the top of the screen, the "T" goes crazy. See attached file.
4. In the case I use normal trigger for acquiring a signal then I click on "Stop" to analyze it.
When I change the time/DIV setting in order to zoom in or out, it's not working. There is no signal redraw.
With single shot trigger, it's works.
Do you have these same behaviour in your side ?
I have collected many other bugs if somebody is interrested in them... Maybe RichardK ? :-)
Sorry again for my poor english language.
Regards,
Christophe
Read page 37 of this thread. If pr18 is too slow, check pr17.
Hi
I'm also new here because of this thread and my search for a better software for the 6022BE. The software from RichardK seems to be very good! Unfortunately I cannot use it because I have the rebranded Voltcraft DSO2020 version. I'm trying to simply patch the HTMarch.dll to get it running, but unfortunately I have no luck yet.
One question to any user of the Open6022BE software: Does it also work with the 'original' version of the HTMarch.dll from the Hantek installation package (Hantek6022BE_V1.05 )? Or is the special version of the HTMarch.dll (which is included in the Open6022BE software) necessary?
I'm asking because the HTMarch.dll from the Hantek installation package and the rebranded version (DSO2020_V1.0.4_20150512 from Voltcraft) differ only in a few bytes, whereas the special version of the HTMarch.dll is much more different (even in size: special version=15.872 bytes, original version: 16.896 bytes)
turn the section of the trace RED when the A/D converter has reached its limit.Good idea!
No idea if Windows 10 may be a problem. But I'm also not sure if the Open6022BE software also works for the Hantek 6022BL (6022BL includes the Logic analyzer, the 6022BE is just the scope). You can try to replace the HTMarch.dll in the Open6022BE package with the (unchanged) version from the original Hantek 6022BL package. Maybe this helps.
sudo python setup.py install
and start using it. That worked for me on Debian 8 anyway.
firmware.ihx runs on the device itself, so the OS doesn't matter. Everythong else seems to be python, so again shouldn't be a problem,The installation was successful.
You should just be able to runCode: [Select]sudo python setup.py install
and start using it. That worked for me on Debian 8 anyway.
The installation was successful.
But how do you run?
Hi,
I need to analyze a signal of an acceleration sensor at about 70 to 200Hz. Obviously I need FFT. The data sheet of the 6022BE says it can do it, so I bought a Hantek just for this purpose. But what the heck should I do with the curve, when there's no horizontal axes label for the FFT?? What are my frequencies?
>Temporarily, how about coupling a 50 Hz signal (with harmonics) in the circuit you are testing?
How would this help? OK, if I had a let's say 50Hz and 100Hz signal I would create my own horizontal axes.
>When using the FFT mode, signals are represented by vertical blips on the display. The horizontal trace represents frequency in the FFT mode. The flat horizontal line is the base line displaying no signal input at the time the sample being displayed was taken (with zero frequency on the left).
If you input a fixed 50Hz and/or 100Hz signal to the DSO you should see those two blips rising above the base (horizontal) line representing the two frequencies.
If you use an input signal combiner you should see those two blips in addition to the FFT representation of your sensor output.
The 50 & 100Hz frequencies on a FFT scope are commonly called "markers". For a starter I would input one or both markers into the DSO and set the DSO to display them.
I don't have the DSO so I run the software in demo mode and it does display demo signals as I would expect. Except for one detail; if I set the marker to be a 1 KHz Sine wave the blip is labeled 10 KHz on the scope. Oops.
You can turn the frequency of the blips ON in the FTT Settings menu. It's called "Show Fundamentals"
Is it normal, when I put the timebase to 1s/div or slower, I would expect to see a slow line from left to right, to see the signal and it's history. For example, 0V from the source.
This is a storage scope that doesn't erase just before where the new sweep is at the time.
I put it to 1s/div, the first 10s I don't see anything, it's very laggy, then the whole line is at 0V. I turn the source up to 10V, I still can see 0V, 10s later POW 10V. Sometimes I don't even see the point when the source was turned up.
I set up the demo mode in the software to display a ramp sweep from 50 to 100 Hz and the signal blip was at the extreme left of the display. In demo mode I couldn't find a way to move the blip from the left side of the display. There doesn't seem to be a Horizontal position control.
My settings were 8v input and 1 sec/div. Higher frequencies do display the blips moved to the right of zero. I would guess this is a limitation of the software.
I would set the scope up to display a known marker at the approximate output frequency & level your sensor is going to output and then adjust the scope settings for the best display.
Hello everyone, been a while since I have poked in here... I have some free time coming up and I want to hammer away some more Bugs, GUI and Measure in particular...
If anyone would like to compile a list of known Bugs either new or previously mentioned on the last release and how to replicate them it would be helpful :P
In regards to the Measurement problems, if anyone can get some screenshot comparisons between correct stock software measurement and incorrect Open6022 measurement that would be a great help!
I had to reverse engineer the Measurement code from the original DLL and there might be some data loss in converting between data types...
Also, I was made aware of a GUI/INI bug where changed waveform colors wouldn't be restored after closing and reopening the program, I fixed that today and when I get some more bugs fixed I'll compile a new build for everyone with updated source.
Hello everyone, been a while since I have poked in here... I have some free time coming up and I want to hammer away some more Bugs, GUI and Measure in particular...What about the idea to unite all efforts on cypress based USB-Scopes in one repository?
The 50 & 100Hz frequencies on a FFT scope are commonly called "markers". For a starter I would input one or both markers into the DSO and set the DSO to display them.
I set up the demo mode in the software to display a ramp sweep from 50 to 100 Hz and the signal blip was at the extreme left of the display. In demo mode I couldn't find a way to move the blip from the left side of the display. There doesn't seem to be a Horizontal position control.
My settings were 8v input and 1 sec/div. Higher frequencies do display the blips moved to the right of zero. I would guess this is a limitation of the software.
Here's what I see (in attachment). Thanks!
Concerning the measurements issue below are screen shots of both software with zero signal, 1V x1 and 8V x10. Measurements taken with my DMM (it's an average one) match those in Hantek original software.
Let me explain my situation in brief. I'm servicing audio amplifiers and what I need is quite simple - see the wave form and measure the output and the output power in watts.
Forgive my ignorance in coding/software matters but I have the following question:
Is it possible to include an option where the software will calculate the output power in Watts?
During testing audio amps' outputs are connected to a resistive dummy load with known value. Usually an amp has outputs for 4, 8 or 16 Ohm speakers or all of them together. When testing with dummy load its value is one of those.
Given those already known common values is it possible to include and option where after choosing one of those from a menu (or have them as "fixed options") to include "Watts" calculation option in the measurement window?
Thanks.
Seems you downloaded the sources? The executables were published earlier in this thread.
For the price the 6022BE is hard to beat, as long as you do not expect it to do more that its designed to do, a simple usb scope.
Also get a Saleae Logic analyzer clone to complement it.
Hello! I'm measuring a 1.2v battery with 100mv/div and get weird results. The 6022BE displays a 490mv line instead. I set the hardware probe to 1:1 and adjusted the software accordingly. Shouldnt this oscilloscope be able to display 20mv/div upto 5V/div with a 1:1 probe? The signal only gets display correctly when I select 500mv/div and above. Please have a look at this screenshot attachment, where I have said 1.2v battery connected. I am confused and need help :)What you see is normal behavior! In general the scope can only display correctly what fits on the screen. So at 20mV/div you can only measure signals up to about 160mVpp. In your case you are trying to display 1200mVpp.
result = dsoReadHardData(
DeviceIndex,
CH1Data,
CH2Data,
130048, // unsigned long nReadLen
CalData, // short* pCalLevel,
Ch1VoltDiv, // int nCH1VoltDIV,
Ch2VoltDiv, // int nCH2VoltDIV,
1, // short nTrigSweep: SWPMODE-0: AUTO; 1: Normal; 2: Single
0, // short nTrigSrc,
150, // short nTrigLevel: Trigger level - 0 ~ 255
0, // short nSlope: Trigger Slope - 0: Rise; 1: Fall
TimeDiv, //int nTimeDIV,
50, // short nHTrigPos: Horizontal trigger position 0 ~ 100 *** IGNORED
5000, // unsigned long nDisLen, RY - maybe processed into display buffer w/ interpolation
&TrigPoint, // unsigned long * nTrigPoint, RY - loc of trigger in buffer?
0 // short nInsertMode RY - interpolation method?
);
The input is the 6022BE's own square wave to channel 1 (x1 probe).One thing you can check is the USB id of the device. When you unplug the device, the firmware is lost. So each time you plug it in, the 6022be shows up as USB device 0x04b4:0x6022 IIRC. Then the firmware is loaded, and the USB id is changed to 0x04b5:0x6022 . So the USB id is an indicator, if the firmware was uploaded to the scope.
So it's really dangerous out of the box.
Hi
I'm new on this forum and I discovered this discussion.
I'm planning to buy this scope, I know its pro and cons, but I don't understand something.
I know it is connected to usb ground, so to my pc ground, but what does it mean?
What can I actually do without break anything, and what have I to do to blown something?
I have only a desktop and I should use the scope for some basic low frequency circuits at low voltage, so where is the danger ?
Are you also a Linux user? I wonder if it makes sense to port the Win SDK somehow to Linux. I managed to receive some data in a C++ app with libusb. But I guess even if the sdk part would work, porting the Win UI is not feasable?A native Linux app for the 6022BE would be the holy grail, and would win its creator huge accolades.
Goog morningYes! Very interested in yours. Just downloaded your installer.
I bought an Hantek 6022BE and I've played with its SDK.
I developed a little oscilloscope using VB.NET. If anyone is interested this is the dropbox link: https://www.dropbox.com/sh/qieod71ucovd6we/AADJvoBmMZNcR0kFB8ysS7vSa?dl=0 (https://www.dropbox.com/sh/qieod71ucovd6we/AADJvoBmMZNcR0kFB8ysS7vSa?dl=0)
Any suggestion is welcome
Fabio
...I like your program. As soon as it opened up, it looked like a professional job. BasicScope has a toy-like appearance.
Any suggestion is welcome
Fabio
A screenshot would be cool. So us poor linux users also get an impression. :-)I've added a screenshot of PCSCOPE to my previous post. That's not as good as actually being able to run the software, but gives an idea of its capabilities.
Hello Fabio1963,RichardK's Open6022 does indeed work with the 6022BL. Here is a snippet from his code that replaces what was previously a successful dsoOpenDevice() call. It should be simple to add to PC Scope.
Thanks a lot for this software.
Do you think it will be possible to manage also the Hantek 6022BL device?
...
bool TScope::OpenDevice()
{
//Attempt to open device
if(dsoOpenDevice(DeviceIndex))
{
//Get Device Type
short DeviceType = GetDeviceType(DeviceIndex);
//If this is a 6022BL device
if(DeviceType == 0)
{
//Set Device to Oscilloscope (instead of logic analyzer)
dsoChooseDevice_(DeviceIndex, 1);
}
//Set flag
DeviceOpen = true;
return true;
}
Hello Fabio1963,Good morning Chriss,
Thanks a lot for this software.
Do you think it will be possible to manage also the Hantek 6022BL device?
Good morningJust a note, I think it should be dsoChooseDevice(m_nDevIndex, 1) to choose the oscilloscope...
I looked at SDK of 6022BL SDK. As indicated by Roderick the first step is to call dsoChooseDevice after dsoOpenDevice:
Result = dsoOpenDevice(m_nDevIndex)
If Result = 1 Then
Result = dsoChooseDevice(m_nDevIndex, 0)
Result = dsoSetTimeDIV(m_nDevIndex, m_nTimeDIV)
End If
However, it seems that this is not the only modification. As I said don't have a 6022BL so I'm not sure, but using the HTMarch.dll from BL SDK also the call to the other functions seems different.I don't have a 6022BL either, unfortunately. But after expanding the BL SDK package, in this file
I don't found (in BL SDK) the dsoReadHardData that I use in BE.
Also the dsoSetTimeDIV seems differentYes, the manual does have different values. It would seem very foolish for Hantek to completely change the values in their DLL (they would have to work to do that). So I have several theories, none of which can be proven without actual 6022BL hardware.
In any case if you said that the only modification will be to add the call to dsoChooseDevice, I can try a simple test and send to you the new files. Let me know.This is a good question for Chriss0422, who tested a version of BasicScope by simply replacing the HTMarch.dll file with the one included with the 6022BL. I don't know how extensive his testing was, other than to see if the program starts up, but I would also be interested in whether the Time scale settings still work.
Fabio
There seems to be no real difference between the BE and BL version if only the scope is concerned. The Open6022BE software from RichardK works with the Hantek 6022BL if just the HTMarch.dll in the Open6022BE package is replaced with the (unchanged) version from the original Hantek 6022BL package. It even works for branded versions of the Hantek 6022 (my scope is such a 'clone': http://www.conrad.com/ce/en/product/122465 (http://www.conrad.com/ce/en/product/122465) )Yes, RichardK took the bold step of writing his own replacement functions for some of the Hantek calls. This was not a trivial step at all - he basically duplicated portions of the driver, and is issuing IOCTL's in a worker thread.
...
Hello.
I would like to ask you for help. I'm kinda in hurry with a project and my Hantek 6022BE just died. It's not reading signal and it first blinks 5 times red, and then 1 time green. I don't really have time to read all responses here so I was hoping someone could help me. I couldn't find anything about this on the internet. What should I do? How can I fix it and what's the error?
Thank you all very much! :)
roderick & Fabio1963, good show!And a nod to Chriss0422 for his help in testing.
...
I added some functions for 6022BE to the following repository, which is based on openhantek master branch. You can adjust samplerate and use software triggering on Linux.
https://github.com/swkim01/openhantek (https://github.com/swkim01/openhantek)
- 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 I dropped first 1000 samples due to unstable/unusual reading.
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at openhantek/CMakeLists.txt:3 (find_package):
By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.
Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:
Qt5WidgetsConfig.cmake
qt5widgets-config.cmake
Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
"Qt5Widgets_DIR" to a directory containing one of the above files. If
"Qt5Widgets" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!
See also "/home/michael/Downloads/openhantek-master/build/CMakeFiles/CMakeOutput.log".
Edit : Finally, I forgot to be stupid 5 minutes, and managed to compile and install your OpenHantek fork, and the udev rule correctly.This software triggering is simple(line 104-143 at https://github.com/swkim01/openhantek/blob/master/openhantek/src/glgenerator.cpp (https://github.com/swkim01/openhantek/blob/master/openhantek/src/glgenerator.cpp)), so you can change it more reliably. If it still jerky, try to adjust slope direction and trigger level within signal range.
Triggering kind of works, but it's still very jerky...
Did you install qt5 sdk or qtbase5-dev package? Try to install it by following command:Code: [Select]...
CMake Error at openhantek/CMakeLists.txt:3 (find_package):
By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.
Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:
Qt5WidgetsConfig.cmake
qt5widgets-config.cmake
Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
"Qt5Widgets_DIR" to a directory containing one of the above files. If
"Qt5Widgets" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring incomplete, errors occurred!
See also "/home/michael/Downloads/openhantek-master/build/CMakeFiles/CMakeOutput.log".
$ sudo apt-get install qtbase5-dev
michael@Studiom:~/Downloads/openhantek-master/build$ cmake ../
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /usr/lib/i386-linux-gnu/libGL.so
-- Found libusb: /usr/lib/i386-linux-gnu/libusb-1.0.so
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found FFTW: /usr/lib/i386-linux-gnu/libfftw3.so
CMake Error at cmake/CPackInfos.cmake:28 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)
CMake Error at cmake/CPackInfos.cmake:29 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)
CMake Error at cmake/CPackInfos.cmake:30 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)
CMake Error at cmake/CPackInfos.cmake:31 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
CMakeLists.txt:30 (include)
CMake Error at cmake/CPackInfos.cmake:32 (list):
list GET given empty list
Call Stack (most recent call first):
CMakeLists.txt:30 (include)
-- Configuring incomplete, errors occurred!
Hello everyone, been a while since I have poked in here... I have some free time coming up and I want to hammer away some more Bugs, GUI and Measure in particular...
If anyone would like to compile a list of known Bugs either new or previously mentioned on the last release and how to replicate them it would be helpful :P
In regards to the Measurement problems, if anyone can get some screenshot comparisons between correct stock software measurement and incorrect Open6022 measurement that would be a great help!
I had to reverse engineer the Measurement code from the original DLL and there might be some data loss in converting between data types...
Also, I was made aware of a GUI/INI bug where changed waveform colors wouldn't be restored after closing and reopening the program, I fixed that today and when I get some more bugs fixed I'll compile a new build for everyone with updated source.
Hi,I would rather use a very design (USB) soundcard for that.
I'm using my 6022BE exclusively for checking audio amplifiers' output wave form. I'm mostly an analog guy so forgive me these 2 stupid questions:
1/ Is it possible to include in the software a power output measuring function. It's going to be very convenient if one could choose the load at which the amp is tested (maybe from a menu?) like 2, 4, 8 or 16 Ohms and then the software could calculate the power?
2/ Is it possible to include measuring the total THD of the amp in percent (sine wave). Not spectrum analyzer just total THD?
Isquicha, some places say they are similar only by outside.
Will be impossible to make it to work.
And pulseview (sigrok) doesn't want to detect my 6022BE... :(
I have so many drivers lying around... :-0
Hi RacSantos,
Welcome to this Hantek 6022BE Users group.
My apologies, there is a typographical error in the link shown in my Reply #937 on this topic.
The correct link for the Open6022BE C/C++ Source Code for CodeGear Rad Studio is:
http://jmp.sh/sJKpC23 (http://jmp.sh/sJKpC23)
These links were first posted by the original contributors on this topic, as described below:
Open6022BE Pre Release version PR18 binary executable for Windows:
http://jmp.sh/k0tTgXg (http://jmp.sh/k0tTgXg)
Posted by RichardK on 2 April 2014 in Reply #540 at:
https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg418102/#msg418102 (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg418102/#msg418102)
Open6022BE Pre Release version PR19 C/C++ Source Code & executable binary for CodeGear C++Builder (Rad Studio):
http://jmp.sh/sJKpC23 (http://jmp.sh/sJKpC23)
Posted by RichardK on 12 December 2014 in Reply #733 at:
https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg566881/#msg566881 (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg566881/#msg566881)
Unofficial User Manual for Hantek 6022BE using Open6022BE software:
http://jmp.sh/3RFfHFz (http://jmp.sh/3RFfHFz)
Posted by Matchless on 22 December 2014 in Reply #747 at:
https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg572503/#msg572503 (https://www.eevblog.com/forum/testgear/hantek-6022be-20mhz-usb-dso/msg572503/#msg572503)
I can confirm that Open6022BE version PR19, with minor changes, successfully compiles under Idera / Embarcadero (formerly CodeGear) RAD Studio XE5.
Some minor changes changes were made to eliminate compiler warnings and errors.
It was first necessary to install ToolBar 2000 by Jordan Russell (manually patched for use with later versions of RAD Studio).
I have also been able to extend the code to allow generation of a CSV file for all selected channels, to allow convenient import of captured data into other software, e.g. MS Excel.
I regret that I have no knowledge of using this software on the MAC OS X, but suggest that you read carefully through all the messages on this topic to gather the information, as contributors have been accessing the Hantek 6022BE SDK from various other platforms.
Good luck :-+
Hi
I've added the Lissajous figure to PCSCOPE (version 1.7)
See attached figure
Fabio
stop CPU
... WROTE: 792 bytes, 10 segments, avg 79
reset CPU
2nd stage: write external memory
stop CPU
2nd stage: write on-chip memory
... WROTE: 5092 bytes, 68 segments, avg 74
reset CPU
libpng warning: iCCP: known incorrect sRGB profile
Since I use 99% linux, I'm no win expert by any means, but did you start the app from the commandline, so you can see any error messages?
PS - don't tell me H6022BE is a toy - I know this very well, but I paid 41 eur inc shipment, brand new :) Less than lunch for family in fair restaurant:):)If there is a decent use for something, it's not a toy.
For some reason, this worked just right from the first time and although not an "oscilloscope" it measures much better than stock software and others i tried with my brand new hantekGoog morningYes! Very interested in yours. Just downloaded your installer.
I bought an Hantek 6022BE and I've played with its SDK.
I developed a little oscilloscope using VB.NET. If anyone is interested this is the dropbox link: https://www.dropbox.com/sh/qieod71ucovd6we/AADJvoBmMZNcR0kFB8ysS7vSa?dl=0 (https://www.dropbox.com/sh/qieod71ucovd6we/AADJvoBmMZNcR0kFB8ysS7vSa?dl=0)
Any suggestion is welcome
Fabio
Hi freebil,
Yes, the standard installed OEM software Hantek6022BE provides FFT as an option under the Math feature.
The FFT choices are as follows:
Source: CH1, CH2
Window: Rectangle, Hanning, Hamming, Blackman
VERT Scale: 1.00mV, 2.00mV, 5.00mV, 10.0mV, 20.0mV, 50.0mV, 100mV, 200mV, 500mV, 1V, 2V, 5V
HORI Scale: x1, x2, x5, x10
Some excellent work has been done by contributors earlier in this thread, culminating in the development of Pre-Release "Open6022BE" improved versions of the software, by Richard Krupski (RichardK), and its User Manual by Andre le Roux (Matchless ?) (both Regular Cotributors) and others.
Many thanks to that team for their contributions.
This alternative software supports an enhanced FFT function, accessed from its own button on the Toolbar, instead of the Math button.
The FFT Settings include:
Source: Channel One, Channel Two, Math, Reference
Volt/DIV: 1.00mV, 2.00mV, 5.00mV, 10.0mV, 20.0mV, 50.0mV, 100mV, 200mV, 500mV, 1.00V, 2.00V, 5.00V
Render: Native, Lines, Polyline, Polygon
Window: Rectangular, Hamming, Hann, Cosine, Lanczos, Bartlett, Triangular, Gauss, Bartlettt Hann, Blackman, Nuttall, Blackman Harris, Blackman Nuttall, Flattop
Freq Bins: Auto, 256, 512, 1024, 2048, 4096, 8192, 16384
Postion: (Slider control for vertical position of trace)
Color: (Controls trace color from Color Picker Dialogue)
Scale in dB: (Check Box)
The Fundamental Frequency Detection controls are shown in their own Group Box, which includes:
Show Fundamentals: (Check Box)
Begin Peak Threshold: (Adjustable in stpes of 0.01)
End Peak Threshold: (Adjustable in steps of 0.01)
The Pre Release version 18 software can be downloaded from:
http://jmp.sh/k0tTgXg (http://jmp.sh/k0tTgXg)
The executable file Open6022BE_PR18.exe and associataed files should be saved in their own folder.
The latest User Manual for "Open6022BE", v1.0b19 2014/12/21, can be downloaded as a PDF file (57 pages), from:
http://jmp.sh/3RFfHFz (http://jmp.sh/3RFfHFz)
The Source Code (C/C++) for "Open6022BE", v1.0 beta PR19, has been released and can be downloaded from:
http://jmp/sh/sJKpC23 (http://jmp/sh/sJKpC23)
This includes executable file Open6022BE_PR19.exe
The Source Files can be built/compiled using Embarcadero/CodeGear C++Builder (part of RAD Studio, which also includes Delphi).
It will be necessary to install ToolBar2000 version 2.2.2, by Jordan Russell, available at:
http://www.jrsoftware.org/tb2k.php (http://www.jrsoftware.org/tb2k.php)
This should be manually patched for use with later versions of RAD Studio.
See "15. How to install TB2K on Delphi 2009 and up" at:
http://www.silverpointdevelopment.com/sptbxlib/support.htm (http://www.silverpointdevelopment.com/sptbxlib/support.htm)
Minor changes to the Open 6022BE Source Files may be required, e.g. to accommodate changes in location of units within later versions of RAD studio, etc.
I hope this helps :)
Hello everyone, been a while since I have poked in here... I have some free time coming up and I want to hammer away some more Bugs, GUI and Measure in particular...
[...]
I fixed that today and when I get some more bugs fixed I'll compile a new build for everyone with updated source.
my current limitation is the 5V limit which translates to 50V with a 1:10 probe. Anything above that is reported as 5V/50V . The way I got it, is that's a firmware/software limit not a hardware one.
my current limitation is the 5V limit which translates to 50V with a 1:10 probe. Anything above that is reported as 5V/50V . The way I got it, is that's a firmware/software limit not a hardware one.
No, that (or at least something) would be a hardware limit.
This box is not really a traditional scope - it's a data streaming device with a very limited front end and no real hardware trigger.
Ok so I got something wrong after all these pages I read. Anyhow the limit is still there :horse: :horse:
So the only solution would be a 20:1 attenuator they sell for 5 euros . This way you could theoretically measure upto 100volts, which isn't so bad after all.
Ok so I got something wrong after all these pages I read. Anyhow the limit is still there :horse: :horse:
So the only solution would be a 20:1 attenuator they sell for 5 euros . This way you could theoretically measure upto 100volts, which isn't so bad after all.
The maximum voltage input of this scope is 5V, it is a hardware limit, not software so it can't be changed. It has input protection (diodes) that will clamp any signal greater than 35Vpk.
So yes, if you need to probe signals with bigger amplitudes you can either use an attenuator or a probe like the P4100 with x100 attenuation https://www.aliexpress.com/item/INSTRUSTAR-20MHz-ISDS205B-PC-Based-USB-Digital-Oscilloscope-match-p4100-Oscilloscope-Probe-100-1-Withstand-2KV/32704502182.html (https://www.aliexpress.com/item/INSTRUSTAR-20MHz-ISDS205B-PC-Based-USB-Digital-Oscilloscope-match-p4100-Oscilloscope-Probe-100-1-Withstand-2KV/32704502182.html)
QuoteI would be very interested in what you've done with the front end
I also stacked (in a very bodgy fashion) SMD capacitors on top of ALL the bypassing capacitors for the USB Micro and ADC.
Then I stacked SMD Capacitors on the larger of the three SMDs before the DC-DC (C103 & C105) and I stacked the SMD Capacitors on the other side, specifically the large ones going between +5 and -5 and the ones going from +5 to GND and -5 to GND, both before and after the Inductors.
Hi
I've added the Lissajous figure to PCSCOPE (version 1.7)
See attached figure
Fabio
Hantek's USB drivers are a mess. Try to do this: Open the Windows Device Manager and mark the option "Show hidden devices" in "View" menu. Remove all Hantek drivers. Unplug an plug the device again to confirm that there is no driver left in the system. When you see only the yellow exclamation mark, download the latest drivers from Hantek and manually install the Win 10 driver (even if you are using Windows 7), apparently this is the newest driver and what worked better for me. I am using Win 10 but I tested it in a Win7 VM.
I would like to try Hscope (http://hscope.martinloren.com/ (http://hscope.martinloren.com/)) on an Android tablet but I wonder if a tablet could provide the needed power for the 6022be.It works with my setup: Use the Y-cable delivered with the scope - black to the phone (via USB OTG adapter), red to a USB charger or a powerbank. With a powerbank you have a perfect mobile setup.
I am very happy to have some to troubleshoot an old radio TSF.
Hi Cliff,Thanks! A little nervous, but I'll start by reading the info at https://zadig.akeo.ie/ and see how far I get :)
I don't use windows so I have only rudimentary experience but as I learned from win users it would be the best to remove all previous drivers, SW, what else.. and then use zadig to install LibusbK (two times, 1st zadig for device without firmware, VID/PID 0x04B4/0x602A, upload the firmware and then 2nd zadig for device with firmware, VID/PID 0x04B5/0x062A).
Maybe raxis13 can give you some hints how to handle the win installation.
HTH, Martin
Hello Martin
I've been using the older OpenHantek for about a year and just discovered your work. Impressive work you've done!This is not so easy to accomplish with the used QT widgets, as stated by Qt:
But (there is always a but) I can't operate it with my Windows 10 tablet because all the GUI controls now are so small/tiny.
I have to use a mouse - pointer which isn't possible. Is there any chance, to enlarge the controls more touching convenient?
Qt Widgets are traditional user interface elements that are typically found in desktop environments. The widgets integrate well to the underlying platform providing native look'n'feel on Windows, Linux and macOS. The widgets are mature and feature rich user interface elements suitable for mostly static user interfaces. In contrast to Qt Quick, the widgets do not scale that well for touch screens and fluid, highly animated modern user interfaces. The widgets are a good choice for applications with traditional desktop centric user interfaces, such as office type applications.
My tablet has only one USB port. So I bought a chinese-cheap (MW7211a-controlled) active powered USB-Hub.That behaviour is caused by the hi speed USB communication that nearly saturates the bus. The Hantek6022 hardware must transfer large chunks of data in real time as the scope has no internal buffer. If the transfer is interrupted (e.g. by other devices on the same bus due to the hub) the communication stops and all kind of nasty things happen. (Think of formula one racing with zebra crossings for pedestrians.)
But no luck. The older OpenHantek led W10 to a crash and your OH (WinUSB-driver from Zadig) led to a disconnect, every time I switch to the USB-Hub. My guess: It's driver related, because other connected devices worked.
BTW: I anymore do not want to use the 6022 with a PSU somewhere attached. This is extremely dangerous.Run your tablet on battery and use the strange Y-cable supplied with the scope - black plug into tablet and red plug into a USB power bank - this is how I use my scope together with my Android phone and the HScope (http://hscope.martinloren.com/) app.
I fried this unit and my netbook too due to USB earth/ground hell.
I want to measure carefree, battery driven.
... I opened the source zip and copied it from docs. Hopefully you do not object to me posting them here for the benefit of others?No problem, Cliff - but if you want to follow the development more closely, you will find much more information on github.
3.0.1
2019-12-13
More robust USB handling for all OSs
Improve manipulation and export of frozen or single traces
Export XY display
Automatic icon selection for light/dark themes
Eye candy
Automatic start after FW upload
sudo apt-get install cpulimit2. start the program:
OpenHantek3. In a new terminal window run top to view OpenHantek cpu usage:
top -c -p $(pgrep -d',' -f OpenHantek)4. In another window run cpulimit:
cpulimit -e OpenHantek -l 70With -l being the % limit required. You might need to run this one with sudo depending on your permissions.
When we short cap with ssr, signal goes through that 1K resistor, connected in series with ssr. Will it affect measurement?
I would suggest putting the command line switches in the manual along with the keyboard shortcuts (I found cursor up/down by accident (it alters the vertical scale)).
I dont know if this is the place for suggestions ...
Hi Martin,
Thank you for your software. You will find here included The Hantek6022 Digital Back End drawing, from page 16 of your Manual. Tell me if you find some mistakes.
Regards.
Salut raxis13,
I didn't look at EEVBLOG for a longer time, so I only discovered your picture today - merci !
I see three small necessary changes:
- The upper text in the upper square box of the AD9288 should read ENCA instead of
EAYCA(my bad writing), it is ENCode channel A- The lower text in the lower AD9288 square must read DB instead of
DA, because it's Data channel B.
see also the ADC datasheet (https://www.analog.com/media/en/technical-documentation/data-sheets/AD9288.pdf)- The text for the quartz below the CY7C68013 is 24MHz instead of
24MH7, also probably due to my quick writing.
Regard, Martin
The max input voltage on this acope is 35v not 5v.
All this because I didn't have any 900K resitors to make just a resistor front end. Now that this works that will be my next step.
I was expecting the menu item "times" to be 1X, 10X, and 100X but it progresses by single digits?There was a long time discussion on github, where users proposed important probe attenuation values that should also go into the drop-down list:
.. my collection ..Welcome to the forum. Are those PCB photos your mods? (very extensive shielding! :-+)
.. my collection ..Welcome to the forum. Are those PCB photos your mods? (very extensive shielding! :-+)
But I can not figure out where do I need to add text as stated in last line of pdf: go to the directory build and typeThis describes the needed actions if you build OH6022 from source (as described on the github page (https://github.com/OpenHantek/OpenHantek6022#building-openhantek-from-source)). But if you read the latest AC-mod documentation (https://github.com/OpenHantek/OpenHantek6022/blob/master/docs/HANTEK6022_AC_Modification.pdf) (that is also linked by OH6022 in the help menu), this is no longer necessary (since June 2020):
cmake -D HANTEK_AC=1 ../
make -j2
Later OpenHantek6022 versions beginning with 3.1.1 offer an Oscilloscope/Settings option that
allows you to use the modification without the need to compile your own version.
...
I added 100uF 16V electrolytics in parallel with the large SMD capacitors after the +5V USB branch and after the +3.3V Regulator.
I also stacked (in a very bodgy fashion) SMD capacitors on top of ALL the bypassing capacitors for the USB Micro and ADC.
Then I stacked SMD Capacitors on the larger of the three SMDs before the DC-DC (C103 & C105) and I stacked the SMD capacitors on the other side, specifically the large ones going between +5 and -5 and the ones going from +5 to GND and -5 to GND, both before and after the Inductors.
...
I used copper foil tape around the DC-DC and grounded it with a braided copper strap (Solder wick). Also, my unit did not come with a heatsink on the ADC (though my board revision is 1.00.2, not 1.00.1) so I added a flat TO220 heatsink mounted with Arctic Silver thermal adhesive and ground strapped with copper braid again.
Figures though, stupid me forgot to acquire some waveforms pre-modification to compare, but from memory I was getting 10-15mv noise and post modification it's down to 3-5mv.
I'll take pictures of the interior later and post them here, as well as some screenshots of the noise floor.
...
The DC-DC datasheet specifies a maximum capacitive load of 100uF so be careful what you add there, and I also plan on populating the Buck & Charge Pump section to see what happens.
DSO6022 PCB version: 1.00.2 Purpose Quantity Mouser No: 769-AQY210EH 2 Mfr. No: AQY210EH Solid state relay Desc.: Solid State Relays - PCB Mount Solid State Relays - PCB Mount 130MA 350V 4PIN SPST Mouser No: 660-SG73G2ATTD2200D 2 Mfr. No: SG73G2ATTD2200D Desc.: Thick Film Resistors - SMD Thick Film Resistors - SMD 220 ohm 0.5% 0.5W AEC-Q200 Mouser No: 660-RN73H2TD1001B10 2 Mfr. No: RN73H2BTTD1001B10 Current limit resistor Desc.: Thin Film Resistors - SMD Thin Film Resistors - SMD 1K OHM .1% 10PPM 1/4 Mouser No: 710-30410S 1 Mfr. No: 30410S EMI shielding (additional option) Desc.: EMI Gaskets, Sheets, Absorbers & Shielding EMI Gaskets, Sheets, Absorbers & Shielding WE-FAS EMI Flex Absb 330x210x1mm w/Adh Mouser No: 78-SS2FL4-M3/H 1 Mfr. No: SS2FL4-M3/H D22 discrete +5v power supply polarity protection Desc.: Schottky Diodes & Rectifiers Schottky Diodes & Rectifiers If(AV) 2A Vrrm 40V Ifsm 50A DO-219AB Mouser No: 80-C0805C104J1RECLR C8, C29, C37, C99 10 Mfr. No: C0805C104J1REC7210 C101, C103, C105, C107, C109, C110 bypass capacitor Desc.: Multilayer Ceramic Capacitors MLCC - SMD/SMT Multilayer Ceramic Capacitors MLCC - SMD/SMT 100V 0.1uF X7R 0805 5% Mouser No: 80-C0603C104J5R C28, C55 10 Mfr. No: C0603C104J5RACTU C56, C57, C58, C59, C60, C61, C63, C64 bypass capacitor Desc.: Multilayer Ceramic Capacitors MLCC - SMD/SMT Multilayer Ceramic Capacitors MLCC - SMD/SMT 50V 0.1uF X7R 0603 5% |
I made a small PCB based on "OpenHantek6022_AC_Modification-pdf" - image enclosed.
But I can not figure out where do I need to add text as stated in last line of pdf: go to the directory build and type
cmake -D HANTEK_AC=1 ../
make -j2
Mike
using open hantek for a few days.
Ups...! Just blew my new Hantek 6022be (on its first trial run). Its also my first diode (LR206) blow-up, ;-) by shorting one of the probes. Hence, no more scope. I looked inside the unit and it looks like there is hope. I found and cleaned the only area that seems to have given up. It seems to be an evaporated inductor labeled L3 near the USB cable junction on the left side of the PCB, no JP1. My problem is that I do not know what its Henry value is? Can any body hellllllPPPP me. Mile merci du Québec.
(http://)
Ups...! Just blew my new Hantek 6022be (on its first trial run). Its also my first diode (LR206) blow-up, ;-) by shorting one of the probes. Hence, no more scope. I looked inside the unit and it looks like there is hope. I found and cleaned the only area that seems to have given up. It seems to be an evaporated inductor labeled L3 near the USB cable junction on the left side of the PCB, no JP1. My problem is that I do not know what its Henry value is? Can any body hellllllPPPP me. Mile merci du Québec.
(http://)
I cobbled together a PCB for the AC/DC mod based on the schematic and layout refered to above and it works well, YMMV.
The only snag with the design that I have found is that if you run the original software it always runs in AC mode!
but as I only run the OpenHantek software I dont really care, but if you use both you may want to find another way.
I have 4 spare bare PCBs littering my desk and I'll happily post one within the UK for £2 including postage,
contact me offlist if interested. I'll make the gerbers available here if there is interest.
It is entirely your responsibility if you destroy your scope making this mod, it's not hard but care needs to be taken.
Dave
...
The only snag with the design that I have found is that if you run the original software it always runs in AC mode!
but as I only run the OpenHantek software I dont really care, but if you use both you may want to find another way.
...
There is some documentation available at sigrok:
https://sigrok.org/wiki/Instrustar_ISDS205A
as well as some hints from the device specific part of sigrok FW how the analog front end could look:
https://github.com/sigrokproject/sigrok-firmware-fx2lafw/blob/master/hw/instrustar-isds205b/fw.c
The Windows x64 binary did not work because 2 vcruntime.dll's were missing.Did you check the provided vc_redist.x64.exe from the *.zip? What was the error message?
You have to install the vc_redist.x86.exe.
Possibly also the vc_redist.x64.exe.
I could not find a hint anywhere on GitHub. So I just say it here for all newbies.
...
What the hell is going on?
...
OpenHantek6022 (20220223 - commit 958)
Usage: OpenHantek [options]
Options:
-?, -h, --help Displays help on commandline options.
--help-all Displays help including Qt specific options.
-v, --version Displays version information.
-d, --demoMode Demo mode without scope HW
-e, --useGLES Use OpenGL ES instead of OpenGL
--useGLSL120 Force OpenGL SL version 1.20
--useGLSL150 Force OpenGL SL version 1.50
-i, --international Show the international interface, do not
translate
-f, --font <Font> Define the system font
-s, --size <Size> Set the font size (default = 10, 0: automatic
from dpi)
-c, --condensed <Condensed> Set the font condensed value (default = 87)
--resetSettings Reset persistent settings, start with default
--verbose <Level> Verbose tracing of program startup, ui and
processing steps
Did you check the signed driver? 'Updated' Windows drivers for OpenHantek.
What are the criteria for choosing the right photo-MOS? Why was Panasonic AQY210EH chosen...
...
Edit: To clarify -- the reason why I want to use KAQV214S instead of AQY210EH is that my local supplier only has the latter in an SMD package, whereas the former also in a THT package.