EEVblog® Electronics Community Forum
Products => Test Equipment => Topic started by: tunk on June 23, 2023, 04:11:02 pm
-
Yet another oscilloscope+multimeter combo, Zeeweii DSO3D12:
- bandwidth 120MHz
- sample rate 250MSps
- rise time <3ns
- time base 5ns - 10s
- vertical sensitivity 10mV/div - 10V/div
- screen 3.2"
- signal generator
http://www.sigpeak.com/download/zeeweii-DSO3D12_manual_EN.pdf (http://www.sigpeak.com/download/zeeweii-DSO3D12_manual_EN.pdf)
Screen dumps from the manual:
-
How did you find this? :D
Doesn't seem official yet.
It has "voice assistants."
Not sure what to make of it.
At least they differentiate now: Sampling rate 250Msa/s and Equivalent sample 500M
-
How did you find this? :D
I was looking for info about the DSO154pro, and
looking at their support page, I found this manual.
-
It probably won't be expensive.
The DMM specs aren't that great afaics. It doesn't even have a fuse at 10A. :o
It also has less storage depth and a weaker signal generator than the DSO2512G.
-
More information, but no prices known yet.
http://www.zeeweii.com/productinfo/dso3d12.html (http://www.zeeweii.com/productinfo/dso3d12.html)
-
Now it's showing up on Aliexpress for ~$100.
https://www.aliexpress.com/item/1005005923929699.html (https://www.aliexpress.com/item/1005005923929699.html)
-
Right after the day my ZT702S arrived...
-
Zeeweii has released a short demo: https://youtu.be/4YxVkRbYkwY
-
Is it worth the money now that is available on aliexpress, but not for 100$ .
I saw 110€ instead of 90€ or less I had expected.
Not sure if it will deliver or might only claim the specs like so many others before.
thanks
-
Is it worth the money now that is available on aliexpress, but not for 100$ .
I saw 110€ instead of 90€ or less I had expected.
Yes, it costs $100.
You can't just convert the price that way.
Aliexpress has different prices for different countries which vary depending on taxes etc.
Your euro price includes VAT.
For example, the Swiss price does not include taxes (CHF 88.40).
-
Screen dumps from the manual:
The specifications have been changed.
Now the storage depth is also 128k, like on the DSO2512G.
I think the oscilloscope part is more or less taken over from the DSO2512G.
The screen is a bit bigger (3.2 inch), but I think the resolution is the same for the oscilloscope.
Apparently the signal generator is a little less powerful.
There are contradictory data here.
The ZEEWEII Official Store says "1Hz-2MHz", the manual says: "5MHz(sin) 1MHz(other)".
And "Note: When the set frequency is greater than 1MHz, the square wave signal may show small horizontal jitter".
On DSO2512G I have not seen such jitter.
-
I did buy one, just for trying out.
-
I did buy one, just for trying out.
You must have a pretty big toy budget? :-+
-
Looks good!
-
I did buy one, just for trying out.
You must have a pretty big toy budget? :-+
did get some unexpected money. :-DD
-
Zeeweii published a video on the voice assistant.
Its a missed chance that there is no reading out of the measured values in the DMM.
https://www.youtube.com/watch?v=whfKomd1k4M (https://www.youtube.com/watch?v=whfKomd1k4M)
-
Zeeweii published a video on the voice assistant.
It's certainly fun, but I'm not sure I really would want to use this feature... ::)
-
If the instrument works well, then the voice assistant is an amazing idea. While handling probes this can be very nice.
Regards, Dieter
-
Zeeweii published a video on the voice assistant.
That's actually pretty impressive performance, seems to recognize and respond better than Alexa and Siri for me!
Agreed that it's more of a novelty that probably won't get used unless my hands are busy, but then it would come in really handy (*cough*).
-
"50Ohm termination!"
Poof!
-
Damn, these look good. Exactly what I need for my carry case.
I'm saving up for my Rigol DHO800 though. Decisions, decisions.
-
It is very interesting device! I have a few questions about it that are not clear from the video and manual:
1) The DMM may be used together with the DSO and generator and the DMM is galvanically isolated? If true it makes the device much more useful compared to other 2(3) in 1 devices.
2) How exactly works the reference waveform? Only a waveform currently on display can be used as a reference or also some trace saved in the memory? Does the reference scale and move with the corresponding channel when the sensitivity or time base is changed/moved? Two reference waveforms are shown in the pictures. I expect each one corresponds to one particular channel - is there an option to show only one of them (despite using both channels)? Or even use two references for a single channel?
3) Is the FFT useful? AFAIK DSO2512G only shows some graph without any indication about the quantities. I did not discover any way to know what frequency (or magnitude) a given peak has.
-
2) How exactly works the reference waveform? Only a waveform currently on display can be used as a reference or also some trace saved in the memory? Does the reference scale and move with the corresponding channel when the sensitivity or time base is changed/moved? Two reference waveforms are shown in the pictures. I expect each one corresponds to one particular channel - is there an option to show only one of them (despite using both channels)? Or even use two references for a single channel?
3) Is the FFT useful? AFAIK DSO2512G only shows some graph without any indication about the quantities. I did not discover any way to know what frequency (or magnitude) a given peak has.
No one has this device yet, as far as I know. So one can only guess.
As I wrote above, I assume that the oscilloscope part was taken over from the DSO2512G. Everything looks pretty much the same to me.
The reference waveform is more or less a screenshot that does not react to sensitivity or time base.
FFT will also not be different from DSO2512G.
But for this price you can't expect miracles.
-
I know the device is very fresh. But sometimes the Aliexpress ships really quickly so I was hoping someone (RAPo?) already have one or may get one in coming days. The "marketing pictures" somewhat answer some of my questions (if they can be trusted):
To the DMM:
Built-in true RMS multimeter (...) osciloscope and multimeter may be used simultaneously (small window in the upper left corner)
That is promising, but
Use an isolation transformer + isolation optocoupler chip to isolate the multimeter from the oscilloscope, so you don't have to worry about common ground. (When measuring high voltage, the multimeter and oscilloscope cannot be used at the same time.)
What the phrase in the parenthesis means?
Also from the information available it seems the DMM is 3-5/6 digit (6000 counts) which is quite good but the current ranges are limited - only 600 mA and 10A range meaning only 100 uA resolution.
To the FFT:
Note: FFT can only display spectograms, frequency measurement is not supported.
The same as DSO2512G.
You say
As I wrote above, I assume that the oscilloscope part was taken over from the DSO2512G. Everything looks pretty much the same to me.
The reference waveform is more or less a screenshot that does not react to sensitivity or time base.
FFT will also not be different from DSO2512G.
AFAIK my DSO2512G cannot show reference and cannot show the split screen Zoom view - those two features I am missingand consider them a great upgrade. Your DSO2512G can show the reference somehow?
-
AFAIK my DSO2512G cannot show reference and cannot show the split screen Zoom view - those two features I am missingand consider them a great upgrade. Your DSO2512G can show the reference somehow?
Reference waveform is even documented in the manual of the DSO2512G (See attachment).
Zoom view seems to be available for DSO2512G in the latest versions, according to ptluis:
https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg4984915/#msg4984915 (https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg4984915/#msg4984915)
-
Estimated delivery date = 30th august. A little bit of patience is needed. :-DD
I know the device is very fresh. But sometimes the Aliexpress ships really quickly so I was hoping someone (RAPo?) already have one or may get one in coming days. The "marketing pictures" somewhat answer some of my questions (if they can be trusted):
-
I just found the manual for this online:
http://www.sigpeak.com/download/zeeweii-DSO3D12_manual_EN.pdf (http://www.sigpeak.com/download/zeeweii-DSO3D12_manual_EN.pdf)
-
I just found the manual for this online:
http://www.sigpeak.com/download/zeeweii-DSO3D12_manual_EN.pdf (http://www.sigpeak.com/download/zeeweii-DSO3D12_manual_EN.pdf)
That same link was in the very first post 8 weeks ago.
-
The Zeeweii DSO3D12 is in.
Did a little basic testing: all seems to be working.
First complaint: I don't like the output pins for the Gen. Will modify it to banana jacks.
Have a basic question: how do I get the saved images to the PC? Asked Zeeiweii for assistance.
Very nice feature: you can save images with a black background or inverted + you can select the color for the 2nd channel.
Especially for you guys I did open the scope. See the images below.
Hires will follow later.
Yes, you can use scope+ gen+dmm (in a little window) together.
You cannot use the DMM while USB is connected.
Indeed the FFT is the same as on the DSO2512G, only reference no measuring.
-
Got a message from Zeeweii:
DSO3D12 does not support transferring images to PC.
|O
I asked to add this in a firmware update.
-
Results from DMMCheckplus for the DMM:
-
Thanks for testing and opening.
Does it actually have a rubber-like housing like the DSO2512G or is it hard?
I find that quite practical with the DSO2512G. It does not slip and does not fall down e.g. somewhere in the engine compartment.
Got a message from Zeeweii:
DSO3D12 does not support transferring images to PC.
Yes, it also has no AV output afaics.
I still think DSO2512G + AN870 is the better equipment in this price range for my case.
-
It's a hard plastic.
Indeed no AV output, but that doesn't bother me.
If I hook it up to an USB port a USB serial CH340 com port comes in the system, no way to get to the files.
I think you are right regarding the combo.
Does it actually have a rubber-like housing like the DSO2512G or is it hard?
I find that quite practical with the DSO2512G. It does not slip and does not fall down e.g. somewhere in the engine compartment.
Yes, it also has no AV output afaics.
I still think DSO2512G + AN870 is the better equipment in this price range for my case.
-
After what I had written here (https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5009332/#msg5009332):
What is the bandwidth of the signal generator (sine/other)?
Do you see the jitter?
Zeeweii writes "When the set frequency is greater than 1MHz, the square wave signal may show small horizontal jitter".
Is the voice assistant usable in practice?
Is the screen looking good?
Thanks!
-
sine wave max 5MHz, square wave and others max 2MHz.
Horizontal jitter starts at 1.02MHz (sine), 1.01 MHz square but is not really noticeable.
For a 50% square wave:
1kHz Vpp=2.53V Duty = 50%
1MHz Vpp=2.49V Duty = 49.5%
2MHz Vpp=2.47V Duty = 48.6%-49.6%
Didn't try out the voice assistant yet.
Screen quality is the same as the DSO2512G
-
Thank you!
Screen quality is the same as the DSO2512G
But it should be bigger and better (According to the advertisement)?
(https://ae01.alicdn.com/kf/S386bf17451be41ebb35fbbf086d92fecW.jpg)
-
Got a message from Zeeweii:
DSO3D12 does not support transferring images to PC.
|O
I asked to add this in a firmware update.
I don't understand how they manage to launch a new product and remove important features. Voice activation is interesting but then they fail at unthinkable things. And to transfer images to the computer, well, we have to use a smartphone
-
Indeed quite incomprehensible.
phone + OTG would be nice, but isn't there. |O.
I don't understand how they manage to launch a new product and remove important features. Voice activation is interesting but then they fail at unthinkable things. And to transfer images to the computer, well, we have to use a smartphone
-
But it should be bigger and better (According to the advertisement)?
Yes, it is bigger, no doubt about that, but I find the quality more or less the same.
-
Indeed quite incomprehensible.
phone + OTG would be nice, but isn't there. |O.
phone camera :palm:
-
I'll know, I'll know ;D
Indeed quite incomprehensible.
phone + OTG would be nice, but isn't there. |O.
phone camera :palm:
-
I don't understand how they manage to launch a new product and remove important features.
To make them subscription based.
-
Strange triggering.
I'm applying a 1kHz square wave with a 1% duty cycle (from the Fnirsi DPOX) and zooming out to 10ms.
A block of square waves randomly flops from right to left on the screen.
-
Strange triggering.
I'm applying a 1kHz square wave with a 1% duty cycle (from the Fnirsi DPOX) and zooming out to 10ms.
A block of square waves randomly flops from right to left on the screen.
why is the scope in AC coupling?
-
Strange triggering.
I'm applying a 1kHz square wave with a 1% duty cycle (from the Fnirsi DPOX) and zooming out to 10ms.
A block of square waves randomly flops from right to left on the screen.
why is the scope in AC coupling?
Why would that have any influence on the issue that RAPo is querying?
-
Strange triggering.
I'm applying a 1kHz square wave with a 1% duty cycle (from the Fnirsi DPOX) and zooming out to 10ms.
A block of square waves randomly flops from right to left on the screen.
1% duty is very narrow. The display is probably missing the peaks if they don't line up properly with the decimation filter.
(or they're going in and out of phase with it, which is probably what you're seeing)
What happens if you zoom in? I think they should appear.
-
Strange triggering.
I'm applying a 1kHz square wave with a 1% duty cycle (from the Fnirsi DPOX) and zooming out to 10ms.
A block of square waves randomly flops from right to left on the screen.
why is the scope in AC coupling?
Why would that have any influence on the issue that RAPo is querying?
I didn't say it had influence, I asked why it was in AC coupling.
-
why is the scope in AC coupling?
no particular reason, I started with DC then retest with AC coupling and no difference then I made the photo.
-
1% duty is very narrow. The display is probably missing the peaks if they don't line up properly with the decimation filter.
(or they're going in and out of phase with it, which is probably what you're seeing)
What happens if you zoom in? I think they should appear.
If I zoom in, the signal is triggered.
Will investigate this some more.
-
I'm applying a 1kHz square wave with a 1% duty cycle (from the Fnirsi DPOX) and zooming out to 10ms.
A block of square waves randomly flops from right to left on the screen.
Maybe that's not such a bad thing.
The Zeeweii tells you this way that the resolution is not enough to display the signal reasonably.
Whatever it shows (all yellow, all transparent, what do you expect it to show?) it's wrong anyway ;-)
Just the screen alone: How many 1% peaks can you adequately display with 360 pixels?
My 2 ¢
-
I'd guess the trigger is derived from digitized input and for power saving (battery live) there is no full rate sampling with decimation. So trigger will depend on sampling rate. If you know your instrument, you can work around this.
Regards, Dieter
-
If I zoom in, the signal is triggered.
Will investigate this some more.
The signal is always triggered, you just can't see the signal.
This sort of signal is why some 'scopes have a "peak detect" mode.
-
Maybe,
I did some further research (this time with Juntek PSG9080):
DC 2.10% display is okay at 10ms.
DC 2.00% display is not stable triggered at 10ms.
DC 1.99% a slight running black peak in the screen at 10ms
DC 1.98% the flip-flopping occurs at 10ms
From 5ms and lower, no flip-flopping.
See the photo for the 1% peaks.
From 5ms and lower, you can count the peaks easily. At 10ms, it is unworkable.
Maybe that's not such a bad thing.
The Zeeweii tells you this way that the resolution is not enough to display the signal reasonably.
Whatever it shows (all yellow, all transparent, what do you expect it to show?) it's wrong anyway ;-)
Just the screen alone: How many 1% peaks can you adequately display with 360 pixels?
My 2 ¢
-
Maybe,
I did some further research (this time with Juntek PSG9080):
DC 2.10% display is okay at 10ms.
DC 2.00% display is not stable triggered at 10ms.
DC 1.99% a slight running black peak in the screen at 10ms
DC 1.98% the flip-flopping occurs at 10ms
From 5ms and lower, no flip-flopping.
See the photo for the 1% peaks.
From 5ms and lower, you can count the peaks easily. At 10ms, it is unworkable.
Sounds about right.
-
I meant stable triggered::)
It would be great if these scopes had other trigger types than edge-trigger.
The signal is always triggered, you just can't see the signal.
This sort of signal is why some 'scopes have a "peak detect" mode.
-
yes, but I would like to have some more control upfront.
I'd guess the trigger is derived from digitized input and for power saving (battery live) there is no full rate sampling with decimation. So trigger will depend on sampling rate. If you know your instrument, you can work around this.
Regards, Dieter
-
Strange triggering.
I'm applying a 1kHz square wave with a 1% duty cycle (from the Fnirsi DPOX) and zooming out to 10ms.
A block of square waves randomly flops from right to left on the screen.
You try to replicate on the dso2512g and you will see something interesting :) it flickers/disappear... I tried with a utg962 FG. could this be related to the low memory of the device ? low sample rate?
-
could this be related to the low memory of the device ? low sample rate?
Just very narrow pulses on screen and no "peak detect" mode to display them.
Zoom in a bit and you'll see them just fine.
-
could this be related to the low memory of the device ? low sample rate?
Just very narrow pulses on screen and no "peak detect" mode to display them.
Zoom in a bit and you'll see them just fine.
at 5ms and bellow work fine, 10ms and above strange things happen on display.
-
Strange triggering.
I'm applying a 1kHz square wave with a 1% duty cycle (from the Fnirsi DPOX) and zooming out to 10ms.
A block of square waves randomly flops from right to left on the screen.
Hi RAPo, did you try doing this on dpox180h? I wonder how it behaves, just curious.
-
Hi RAPo, did you try doing this on dpox180h? I wonder how it behaves, just curious.
ANY DSO will do this if it isn't set to peak detect mode (assuming it has one).
(...or some variant of this)
-
Just did.
1kHz from PSG9080 on the DPOX gives:
Duty cycle 2% no flip-flopping, freq measure alternates between 44.73Hz and 45.13Hz (no kHz!) and DC=2.66% at 10ms.
Duty cycle 1% no flip-flopping, freq measure alternates between 38.35Hz and 39.15Hz (no kHz!) and DC=1.25% at 10ms.
You can count individual pulses from 5ms onwards.
-
Got a message from Zeeweii:
Thanks for your suggestion, I have given feedback to the engineer.
Got a message from Zeeweii:
DSO3D12 does not support transferring images to PC.
|O
I asked to add this in a firmware update.
-
could this be related to the low memory of the device ? low sample rate?
Just very narrow pulses on screen and no "peak detect" mode to display them.
Zoom in a bit and you'll see them just fine.
At 5ms displays just fine. Sometimes my brain gets dump |O... How did I forgot about peak trigger :palm:... of course these cheap devices like dso2512g and dpox180h are very limited in trigger options, and that's one of my suggestions to zeeweii, to add more trigger options.
-
I asked to add this in a firmware update.
The engineer will have a lot to do in the near future, 16 suggestions including bugs in dso2512g, plus those in DSO3D12... the next firmware will be released in 2024-5 or in the form of a new device :scared:
These low-priced products are sold in parts. Each new product includes one or two new to the market features. After we buy it, we see that important features are missing, so we require to add and improve the device. Then they launch a new device with 1 or 2 new features + 1 or 2 of the requested ones and off we go to buy another one... This is how several versions of the device are launched. In the end we just have to put them together on the table to have a complete device, like a puzzle.
My friend we are in the same struggle :box:
-
The engineer will have a lot to do in the near future, 16 suggestions including bugs in dso2512g, plus those in DSO3D12... the next firmware will be released in 2024-5 or in the form of a new device :scared:
I think they should open-source these, that way they can concentrate on making hardware (which is probably what they enjoy most).
They sell the next generation by upgrading the bandwidth or the ADC or the FPGA or the memory...
I guess they're scared that other companies could clone the hardware and then they make nothing. I don't really see how they could undercut them though and plenty of people would want "originals" even if they cost 10 bucks more (I would...)
If they're releasing the next generation they'll always be a few months ahead of the cloners anyway. The important thing is to establish the Zeeweii brand. :)
-
The engineer will have a lot to do in the near future, 16 suggestions including bugs in dso2512g, plus those in DSO3D12... the next firmware will be released in 2024-5 or in the form of a new device :scared:
I think they should open-source these, that way they can concentrate on making hardware (which is probably what they enjoy most).
They sell the next generation by upgrading the bandwidth or the ADC or the FPGA or the memory...
I guess they're scared that other companies could clone the hardware and then they make nothing. I don't really see how they could undercut them though and plenty of people would want "originals" even if they cost 10 bucks more (I would...)
If they're releasing the next generation they'll always be a few months ahead of the cloners anyway. The important thing is to establish the Zeeweii brand. :)
the firmware update of the dso2512g is based on the dso1511g firmware, there's references inside the file, so they keep releasing new devices with peaces of the puzzle. maybe it could be possible to reverse engineer this firmware. the problem here could be the fact that exists at least 3 base firmware versions, each for different hardware revisions, and creating a custom firmware could not be a simple task. maybe yes maybe no, I'm no expert.
-
the firmware update of the dso2512g is based on the dso1511g firmware, there's references inside the file
Obviously there's going to be a lot of common code.
creating a custom firmware could not be a simple task. maybe yes maybe no, I'm no expert.
It's not trivial but a lot of progress has been made on other devices:
https://www.eevblog.com/forum/projects/reverse-engineering-fnirsi-5012h/ (https://www.eevblog.com/forum/projects/reverse-engineering-fnirsi-5012h/)
https://www.eevblog.com/forum/testgear/fnirsi-1013d-100mhz-tablet-oscilloscope/1400/ (https://www.eevblog.com/forum/testgear/fnirsi-1013d-100mhz-tablet-oscilloscope/1400/)
-
Some info on the DSO3D12 FFT which is not in the manual. I have derived this by experimental observation. Maybe also applicable to the DSO2512G?
1. In all three modes the frequency axis (horizontal) is linear and ranges from 0 at the left to a frequency determined by the
timebase setting. That frequency is 25 divided by the time per division and holds for all timebase settings not faster than 500ns
per division. So the extremes are 10s per division which makes the range 0 to 2.5Hz and 500ns which makes the range 0 to 50MHz.
Selecting 1ms/div gives 0 to 25kHz which may be appropriate for audio.
2. In the music mode, the amplitude response (Y axis) is linear.
3. In log(arithmic) mode the vertical axis is NOT 10db/div. Looks like each division corresponds to a factor of 8 times larger or
smaller. (Maybe some simple mapping from the binary numbers.) The absolute levels are related to the Volts/div setting in a simple
manner. The penultimate line from the top is reached when the RMS value of the input sine wave component at that frequency is equal to the Volts/div setting. For example, if the input is 200mV RMS and the sensitivity is 200mV/div the spectral line will reach the
horizontal line below the top one.
-
Just sold my Hantek 2D42 pocket/toy scope, it was handy for basic field work, screen was a little small to my liking but mainly the UI for getting around the scope adjustments was so counter intuitive it drove me nuts.
Looking at the chart here:
https://www.eevblog.com/forum/testgear/portable-oscilloscopes-list/msg5194335/ (https://www.eevblog.com/forum/testgear/portable-oscilloscopes-list/msg5194335/)
It seems the Zeeweii DSO3D12 would suit me better for screen size and UI, at least they have separate Volts & time / div. keys which make more sense to me than general purpose direction keys.
I don't think much of the AWG (although I don't care for that much) or overall build quality compared to the Hantek or Owon HDS, it clearly looks more of a toy.
Could any owners out here who would willingly admit it if they consider they've wasted money give me their overall impressions.
-
Just sold my Hantek 2D42 pocket/toy scope, it was handy for basic field work, screen was a little small to my liking but mainly the UI for getting around the scope adjustments was so counter intuitive it drove me nuts.
Looking at the chart here:
https://www.eevblog.com/forum/testgear/portable-oscilloscopes-list/msg5194335/ (https://www.eevblog.com/forum/testgear/portable-oscilloscopes-list/msg5194335/)
It seems the Zeeweii DSO3D12 would suit me better for screen size and UI, at least they have separate Volts & time / div. keys which make more sense to me than general purpose direction keys.
I don't think much of the AWG (although I don't care for that much) or overall build quality compared to the Hantek or Owon HDS, it clearly looks more of a toy.
Could any owners out here who would willingly admit it if they consider they've wasted money give me their overall impressions.
I bought one for the occasions when I don't need, and cannot be bothered to unbox and fire up, my Rigol DS1054Z. I don't regret buying it and haven't come across any serious bugs. I have no complaints about the build quality. Some slight negatives are:
1. Although dual channel, there are no math functions, not even CH1 minus CH2.
2. Like most of these small 'scopes the triggering options are very limited. Basically rising or falling edge and adjustable level.
3. Dual channel mode does not appear to compensate for the interleaved sampling. If you put the same input into both channels the traces are separated by a few nanoseconds. Not a big problem if you are aware of it.
4. I have not found the voice command feature to be particularly useful. IMHO would have been better to have spoken output of the multimeter readings.
There is quite a good review at
https://www.youtube.com/watch?v=0SWhgIQbmy4 (https://www.youtube.com/watch?v=0SWhgIQbmy4)
and a second part at
https://www.youtube.com/watch?v=9cbK5o_7D6U (https://www.youtube.com/watch?v=9cbK5o_7D6U)
Some instructions at
https://www.youtube.com/watch?v=rjRTShpgtB0 (https://www.youtube.com/watch?v=rjRTShpgtB0)
-
shakalnokturn
have you seen Zoyi ZT703s, also 3.5" screen 2ch?
-
Thanks to wasedadoc for the review links, they were useful.
Thanks to flywheelz for pointing me to the Zoyi toy, it looks quite good unfortunately AFAICT it has the typical direction keys UI that I'd like to avoid. Flipping around menus for changing the most frequently used settings just doesn't make sense to me. If I see one going really cheap I'll give it a try though...
-
I fitted a SMA connector to the side of the back cover, for the sig.gen output.
Works much better then the 2 prongs on the top. Also made sure it does not interfere with anything on the inside.
The SMA connector is designed for at least 12GHz and 50 Ω impedance, so should be OK for this application.
Yes, it should have been a female connector, but I only had a male around. :palm: ;)
-
Voice Assistant built around Unisound US665P31 processor and OPA62.
Allmost no info except a couple of words about similar system:
https://www.hackster.io/news/icstation-s-5-su-10a-packs-an-on-board-unisound-us516p6-for-offline-voice-recognition-work-680799a416e7 (https://www.hackster.io/news/icstation-s-5-su-10a-packs-an-on-board-unisound-us516p6-for-offline-voice-recognition-work-680799a416e7)
-
The SMA connector is designed for at least 12GHz and 50 Ω impedance, so should be OK for this application.
Did you verify that the generator output is 50 ohms?
-
Hi Bill,
I don’t have a DSO3D12, but the AWG output circuit is probably similar to that on the other models.
The DSO154Pro output circuit appears to be as shown below. The nominal output impedance will be closer to 150Ω, this may have been chosen to provide some level of short circuit protection for the driver.
[attach=1]
-
Interesting, there is a recent firmware upgrade for the DSO3D12 which adds a frequency meter and pulse counter.
This appears to be a similar specification to the feature found on the DSO154Pro (HW V1.4). The DSO3D12 seems to have a higher upper frequency limit.
It may be that the feature on the DSO154Pro is also HW/FW dependant, since this seems to be the case for the DSO3D12.
[attach=1]
A thread describing the DSO154Pro frequency meter and counter is shown below.
https://www.eevblog.com/forum/testgear/new-toy()-scope-dso154pro-1ch-claimed-40mss/msg5418215/#msg5418215 (https://www.eevblog.com/forum/testgear/new-toy()-scope-dso154pro-1ch-claimed-40mss/msg5418215/#msg5418215)
-
Interesting, there is a recent firmware upgrade for the DSO3D12 which adds a frequency meter and pulse counter.
This appears to be a similar specification to the feature found on the DSO154Pro (HW V1.4). The DSO3D12 seems to have a higher upper frequency limit.
It may be that the feature on the DSO154Pro is also HW/FW dependant, since this seems to be the case for the DSO3D12.
(Attachment Link)
A thread describing the DSO154Pro frequency meter and counter is shown below.
https://www.eevblog.com/forum/testgear/new-toy()-scope-dso154pro-1ch-claimed-40mss/msg5418215/#msg5418215 (https://www.eevblog.com/forum/testgear/new-toy()-scope-dso154pro-1ch-claimed-40mss/msg5418215/#msg5418215)
Do you know if this new firmware is also available for hardware version V1.1 and firmware version v1.1.2? ZEEWEII appears to say that it has recently upgraded the DSO3D12 hardware, but does not provide any further information on its website.
-
Hi,
Sorry, I don’t have any further information. The screenshot in the previous message is from one of the files in the firmware download when you click the icon on the website.
Perhaps ask the question via the “contact us” page.
-
Do you know if this new firmware is also available for hardware version V1.1 and firmware version v1.1.2? ZEEWEII appears to say that it has recently upgraded the DSO3D12 hardware, but does not provide any further information on its website.
If your current FW version is 3.0.0_III or 3.0.1_III then you have the correct HW version for the new FW.
-
I just discovered an undocumented feature on this little instrument.
If you go in into the FG via the "Gen" button, you are limited to 5MHz on sine wave, as per the specifications. However if you go into the full-screen FG via the "Home" menu (short press the power button) you can get the sine function at 10MHz!! :-+ :-+
This is with the latest firmware.
I have also verified the new frequency counter is good from 15Hz to 35MHz - well beyond specification.
-
A favourable review: https://chinese-electronics-products-tested.blogspot.com/p/dso3d12-multifunctional-measuring.html
-
I just discovered an undocumented feature on this little instrument.
If you go in into the FG via the "Gen" button, you are limited to 5MHz on sine wave, as per the specifications. However if you go into the full-screen FG via the "Home" menu (short press the power button) you can get the sine function at 10MHz!! :-+ :-+
This is with the latest firmware.
I have also verified the new frequency counter is good from 15Hz to 35MHz - well beyond specification.
That undocumented feature is not confined to the latest firmware. Also present in mine which does not have the frequency counter.
-
How to check what is my current FW version?
-
From their website which can be found with a simple google search for "Zeeweii" and two clicks of the mouse you get:
Check version: Menu->DMM,and then long press "V(ch1)" button.
|O
-
Did anybody perform successful FW upgrade
-
Successfully performed brick/unbrick sequence on v1.1.2 with the kind help from Zeeweii support. FW attached.
New Upgrade_Tools_V1.5.8
http://www.isme.fun/?log=blog&id=34
-
Successfully performed brick/unbrick sequence on v1.1.2 with the kind help from Zeeweii support. FW attached.
New Upgrade_Tools_V1.5.8
http://www.isme.fun/?log=blog&id=34
Has anything changed after the firmware? And were there any pitfalls in the firmware? Thanks!
-
Прошил dso3d12 3 версией ,получил кирпич.была версия 1.1.2 |O
-
Прошил dso3d12 3 версией ,получил кирпич.была версия 1.1.2 |O
:palm:
The Zeeweii website says:
If your version is v3.0.0_III/v3.0.1_III, you can upgrade to v3.0.2_III stable version. And for older versions, this firmware is not compatible due to hardware differences.
That's pretty clear. What were you expecting? :-//
-
That's pretty clear. What were you expecting? :-//
I have the same problem and I think his expectation was the same as mine: ordered in 2024 and not too chuffed with being sent old stock model, especially when it locks us out of improved firmware updates. Ordered mine straight from Zeewei Taobao's shop so was defo not expecting old stock.
-
I have the same problem and I think his expectation was the same as mine: ordered in 2024 and not too chuffed with being sent old stock model, especially when it locks us out of improved firmware updates. Ordered mine straight from Zeewei Taobao's shop so was defo not expecting old stock.
When in 20204? I know they were not available for a while as some vendors were out of stock. Did you complain to them? I have found them to be very responsive.
-
Does anyone know what the "CH1_20M" function is for?
It appears in the last firmware "3.0.5-III" and seems to be a 20M bandwidth limit for the selected channel (It's in the same menu than F_Meter. Menu > x1x10 >x1x10) but I don't know why you like to limit the bandwidth.
Do you win something?
Greetings
-
I don't know why you like to limit the bandwidth.
Do you win something?
No prizes. There is no real requirements for it anymore and it's really just of historical significance. A lot of products are still ( :-// ) only tested via 20MHz BW, like power supplies. Back in the day (pre 1970s) engineers demanded that noise and ripple of PS units be checked against high BW for the time (20MHz). Like a lot of engineering specs, it's hung around like an unwanted relative. These days testing PS units to only 20MHz is just sweeping dirt under the rug. IMO anyway.
Yeah, so it's there in nearly every scope for that (long past it's best before date) reason.
-
No prizes. There is no real requirements for it anymore and it's really just of historical significance. A lot of products are still ( :-// ) only tested via 20MHz BW, like power supplies. Back in the day (pre 1970s) engineers demanded that noise and ripple of PS units be checked against high BW for the time (20MHz). Like a lot of engineering specs, it's hung around like an unwanted relative. These days testing PS units to only 20MHz is just sweeping dirt under the rug. IMO anyway.
Yeah, so it's there in nearly every scope for that (long past it's best before date) reason.
It's for use when you're in 1x mode.
https://www.youtube.com/watch?v=OiAmER1OJh4 (https://www.youtube.com/watch?v=OiAmER1OJh4)
-
It's for use when you're in 1x mode.
For the life of me I cannot see how you took that leap from looking at that video. The probe itself, in 1X mode, is going to limit your BW to well under 20MHz so why on earth would you need or want to engage 20MHz BW on your scope when using a probe in 1x mode?
Dude, ur jus' makin' stuff up! :-DD
-
I was reading the manual and saw that the multimeter is easily calibratable.
Just input a known value and tweak the screen reading to match.
(https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/?action=dlattach;attach=2385233;image)
-
Wow, I didn't know that. Thanks.
Mine measures the same as my SDM3055 anyway but this is good to know.
-
I think one of these is on my "new toy" waiting list now. It seems ideal for Arduino club.
For somebody on a budget that's just starting with nothing this is amazing value for money.
If you gave a kid one of these and some Arduino stuff you probably wouldn't see them for six months.
-
For somebody on a budget that's just starting with nothing this is amazing value for money.
Yeah, I have to agree. Very nice for the money. Of course you have all the TE snobs that think anything less than a Keysight HD304MSO for their audio work is just rubbish. :-// :-DD
-
Here are a couple of shots of my "on the go" kit. I found the case on AliExpress and it fits the foam that the DSO3D12 shipped in perfectly. Great for tossing in the back of the car/truck/bike.
This little instrument is far more than a toy and performs somewhat better than the specs in the first post. However, the author is not interested in input from me. :-//
[attach=1]
[attach=2]
-
What's the battery life like?
-
Here are a couple of shots of my "on the go" kit. I found the case on AliExpress and it fits the foam that the DSO3D12 shipped in perfectly. Great for tossing in the back of the car/truck/bike.
[...]
Did you have link for the case? I need something similar.
Greetings.
-
What's the battery life like?
I really don't know. I use it frequently but have only charged it up 2 times in 5 months. Several hours for sure.
-
Did you have link for the case? I need something similar.
Greetings.
It is the medium size one Here. (https://s.click.aliexpress.com/e/_DFff7SD)
-
Did you have link for the case? I need something similar.
They sell those in every size and color imaginable on Aliexpress.
I'm sure you could get something smaller if you trim the foam as shown.
(https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/?action=dlattach;attach=2387621;image)
-
What's the battery life like?
Several hours for sure.
OK, that's good!
It looks like it would take a bigger battery inside but "several hours" is good enough.
-
I've got one in my cart on Aliexpress but I'm waiting because there's a sale that starts in 4 days and they'll be 10% cheaper then.
(about 83 Euros shipped)
-
I just purchased one from Amazon and it arrived today, and when I check the firmware, Menu, Set (DMM) and long press CH1 V, it displays "V.1.1.1" only in white text. Nothing else, it does not say "v3.0.0_III" so does that mean I'm out of luck as far as updates are concerned? I downloaded the update from the site and there is a "dso3d12_v1.1.2-old_version.fls" and the later "dso3d12_v3.0.5_III.fls" file. I'm kinda stuck as to if I can upgrade to at least 1.1.2 ? just wondering what my best options are. :)
Cheers. :)
-
I just purchased one from Amazon and it arrived today, and when I check the firmware, Menu, Set (DMM) and long press CH1 V, it displays "V.1.1.1" only in white text. Nothing else, it does not say "v3.0.0_III" so does that mean I'm out of luck as far as updates are concerned? I downloaded the update from the site and there is a "dso3d12_v1.1.2-old_version.fls" and the later "dso3d12_v3.0.5_III.fls" file. I'm kinda stuck as to if I can upgrade to at least 1.1.2 ? just wondering what my best options are. :)
Cheers. :)
You either keep it or return to Amazon and hope you gat a more recent one from Aliexpress.
-
Did you have link for the case? I need something similar.
They sell those in every size and color imaginable on Aliexpress.
I'm sure you could get something smaller if you trim the foam as shown.
(https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/?action=dlattach;attach=2387621;image)
But getting the test leads and probes in the case would be more important to me than the smaller size for the scope only.
-
I just purchased one from Amazon and it arrived today, and when I check the firmware, Menu, Set (DMM) and long press CH1 V, it displays "V.1.1.1" only in white text. Nothing else, it does not say "v3.0.0_III" so does that mean I'm out of luck as far as updates are concerned? I downloaded the update from the site and there is a "dso3d12_v1.1.2-old_version.fls" and the later "dso3d12_v3.0.5_III.fls" file. I'm kinda stuck as to if I can upgrade to at least 1.1.2 ? just wondering what my best options are. :)
Cheers. :)
I would return it to Amazon and buy it directly from the Zeeweii store on AliExpress. They have been shipping the V3 firmware since April (when I got mine).
-
I would return it to Amazon and buy it directly from the Zeeweii store on AliExpress. They have been shipping the V3 firmware since April (when I got mine).
Now you got me worried about the cheaper ones on Aliexpress...
-
Now you got me worried about the cheaper ones on Aliexpress...
I got mine HERE (https://s.click.aliexpress.com/e/_DlYENyV). But I can see they have increaed the price since I got mine. I paid $120CDN, bt now it's listed at $135CDN!
-
OK, mine's on the way.
In the end I went for the official store even though it's a bit more expensive.
"9 day delivery".
-
It arrived!
First impressions: Very good!
Firmware version is 3.0.5 III
(purchased from Zeeweii official store)
-
OK, I've been playing with it some more.
It's very easy to use and navigate compared to the little Zeeweii.
The multimeter is bang-on in all ranges. :)
Oscilloscope works fine.
Edit: Removed comment about "phase" - that was a PEBKAC - my siggen wasn't syncing the channels..
-
I found a more up to date manual with the voice commands, etc.
https://supereyes.ru/img/instructions/zeeweii_dso3d12_manual.pdf
-
OK, I've been playing with it some more.
It's very easy to use and navigate compared to the little Zeeweii.
The multimeter is bang-on in all ranges. :)
To the part you edited out, if you put in 2,777.78 Hz you can use the cursors to determine the phase shift. Each us (microsecond) will be 1 degree.
I have not noticed this, but then again I have not used in the dual trace mode since upgrading the firmware.
-
I found a more up to date manual with the voice commands, etc.
https://supereyes.ru/img/instructions/zeeweii_dso3d12_manual.pdf
I haven't found much use for the voice commands except to impress people that know nothing about electronics - "the wizard's new toy"
However, it does foreshadow a day when we buy a new scope and it will be able to connect to ChatGPT v21.5 Then we just hook up something like a capacitor and ask "is this capacitor going to be any good for {such and such}?"
-
I have not noticed this, but then again I have not used in the dual trace mode since upgrading the firmware.
That was a PEBKAC, my SIGGEN didn't have channel sync enabled. :palm:
-
That was a PEBKAC, my SIGGEN didn't have channel sync enabled. :palm:
Ahh.. :-X
-
Conclusions:
This is an awesome little gadget for the money. I'd have no problem recommending it for kids starting out at Arduino club.
The only annoying thing I've noticed is that it doesn't let you use the multimeter when USB is connected. This means you can't leave it plugged in all day as a bench DMM. >:(
I don't know if there's a hack for this. Did previous firmwares prevent it?
-
Did previous firmwares prevent it?
Well, the previous two did.
I think it needs the serial channel to communicate with the ADC. They should be able to allow the 5V through. Maybe add a small socket to it.
-
Did previous firmwares prevent it?
Well, the previous two did.
I think it needs the serial channel to communicate with the ADC. They should be able to allow the 5V through. Maybe add a small socket to it.
I'm powering it off a phone charger so there's no data right now.
-
I'm powering it off a phone charger so there's no data right now.
I tried that too. I think it just senses the power source and keys off that.
-
I just did a basic battery life test.
It arrived with 50% charge (nice) so I gave it a full charge.
When the charge light went green I powered it on and left it displaying a sine wave from its own signal generator.
The battery indicator started flashing after ~7 hours and it powered off ~30 minutes later.
Not bad!
-
Yup. You can basically get a full day's work out of it. More than you can say for a lot of people.
-
Yup. You can basically get a full day's work out of it.
The battery's easy to replace, too, if it starts to lose capacity.
You could probably get a bigger one in there, maybe a 3200mAh 506090 and go for ten hours run time...?
-
The voice control cracks me up! :-DD
-
The voice control cracks me up! :-DD
Yeah, I had it on one day when my son dropped by and it got real involved in the conversation! :scared:
-
Voice control is good. I'm looking at the waveforms on the bike. I want to see the pulse width. The pulse period is displayed instead of the pulse width. I checked with the retailer and they told me it was the pulse cycle.
:scared: :scared: :scared:
20251027. With V3.0.7, T-:xxms negative pulse width is displayed as a numerical value.
-
It looks like you have your trigger set for rising edge. You need to set it to falling edge.
Tip: When you take a picture of the screen make sure .. 1) the center of the camera lens is directly in front of the center of the screen, and .. 2) you include the ALL the information on the screen like in the 4th picture.
-
Thanks for the advice, I appreciate it
There is no photo, but the pulse period is displayed even when the trigger is set to the falling edge.
The fourth photo is the cursor measurement.
I want to measure the pulse width in automatic measurement mode.
This photo shows the waveform on a different oscilloscope, but the pulse width is displayed using automatic measurement.
I checked with the dealer and they said that DSO3D12 displays the HALS cycle.
-
I don't know who is telling you what, nor do I know what a KMOON is, but look at the picture below.
A negative going pulse, measuring T-, with trigger set to falling edge.
-
I don't know who is telling you what, nor do I know what a KMOON is, but look at the picture below.
I know what a KKMOON DS0120M (https://www.aliexpress.com/item/1005001841055359.html) is, but...
I checked with the dealer and they said that DSO3D12 displays the HALS cycle.
... what is a HALS cycle?
-
この画面はカーソル測定で表示されました。
トリガーが下降エッジに設定された、T- を測定する負方向のパルスです。
ここはパルス幅で測定されている
-
HALS サイクルはタイプミス。
ごめんなさい
正しくはパルス周期
パルス周期がDSO3D12で表示される
また、一画面に一パルスでは自動測定モード
では表示されない
-
I was told that the pulse width cannot be measured.
-
この画面はカーソル測定で表示されました。
トリガーが下降エッジに設定された、T- を測定する負方向のパルスです。
ここはパルス幅で測定されている
Translation:
This screen was displayed with cursor measurement.
It is a negative going pulse that measures T- with the trigger set on the falling edge.
This is measured by pulse width
My Japanese might be a bit rusty, but if you take a better look at the screen I presented you will see both the auto and the cursor agree. In you measurement the trigger voltage was not set low enough and was set in an area where there could be confusion caused by noise and ringing. The scope is quite capable of doing what you want.
Please post in english. If you have problems expressing yourself in English use Google translate. The Japanese to English translation is quite good.
-
I was told that the pulse width cannot be measured.
Well, it can. I showed it can. Not sure what that correspondence is about.
It can even measure duty cycle (+ or -).
-
thank you so much
"The trigger voltage is not set low enough." Thanks for this tip。
Try lowering the trigger voltage.
tnks
-
I was told that the pulse width cannot be measured.
Not true.
Here's mine showing duty cycle and high/low time on a pulse wave:
(https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/?action=dlattach;attach=2405669;image)
-
Thanks for any advice
T-352ms is understandable . It's the width of the lower recess.
In my settings, it will be the width of the red arrow.
The display shows T-80.0ms. It should be around 18 ms?
Furthermore, data is not displayed in one waveform per screen mode.
I'm a beginner, thanks for any advice
アドバイスをありがとう
T-352msは理解できます。下側凹部分の幅ですよね
私の設定では赤矢印の幅になってしまいます
T-80.0msの表示です 本来は18msぐらい?
さらに1画面1波形ではデータが表示されません
私は初心者です、アドバイスをありがとう
-
The waveform I want is something like this:
T-21.6ms display is good
The second photo is also T-22.0ms, very good
I would like to check the waveforms of motorcycle injection and ISCV.
私が希望する波形はこんな感じです
T-21.6ms表示は良いです
2枚目の写真もT-22.0ms とても良いです
バイクのインジェクションゃ゜ISCVの波形を診たいです
-
Looks like the 'scope is seeing this:
(https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/?action=dlattach;attach=2408423;image)
Which is reasonable.
So you can't measure that signal (which isn't a pulse wave) without using cursors.
-
Thanks for the advice
We have now requested ZEEWEII to ensure that the pulse width measurement and screenshot numbers do not overlap with the cursor geodetic.
アドバイスありがとう
現在ZEEWEIIにパルス幅の測定とスクリーンショットの
番号がカーソル測地に重複しないよう要請しました。
-
Thanks for any advice
T-352ms is understandable . It's the width of the lower recess.
In my settings, it will be the width of the red arrow.
The display shows T-80.0ms. It should be around 18 ms?
Furthermore, data is not displayed in one waveform per screen mode.
I'm a beginner, thanks for any advice
アドバイスをありがとう
T-352msは理解できます。下側凹部分の幅ですよね
私の設定では赤矢印の幅になってしまいます
T-80.0msの表示です 本来は18msぐらい?
さらに1画面1波形ではデータが表示されません
私は初心者です、アドバイスをありがとう
I see what you are saying. That's a 3 level signal so it may be confusing the software, but you are right. The T- should be ~18ms instead of the entire signal period.
-
Thank you for your understanding.
I have now asked Zeeweii to fix DSO3D12.
I look forward to the next firmware update.
I would be happy if it turned out like this picture
色々理解していただいてありがとう
現在Zeeweii にDSO3D12の修正?を依頼しました
次回のファームUPに期待します
この写真の様になると嬉しいです
「T-: 21.6ms」
-
Have you tried setting the horizontal time base on the DSO3D12 to 5ms/div?
Also, how is the KMOON set up?
Is the coupling AC or DC?
What about the trigger - AC or DC?
-
Any advice would be appreciated
It's from an old photo.
I measured at 500μS but the data is not displayed.
It seems that the manufacturer is aware of the problem with the pulse width measurement.
500μs.JPG is DSO3D12 AC???
T - 22.0ms.JPG is DSO120M DC?
アドバイスありがとうございます
過去の写真からです
500μSで測定しましたがデーター表示されません
パルス幅測定の不具合はメーカーも把握している感じです
-
The current version of DSO3D12 is V3.05.
I look forward to the next firmware
現在DSO3D12のバージョンはV3.05です
次回ファームウェアに期待します。
-
I think one of these is on my "new toy" waiting list now. It seems ideal for Arduino club.
For somebody on a budget that's just starting with nothing this is amazing value for money.
If you gave a kid one of these and some Arduino stuff you probably wouldn't see them for six months.
Forbeing a newbee from the not arduino but similar stuff club, that just recieved his aneng/zoyt zt703 scopemeter and has already decided to ship it back.
Is there any argument I should not buy this, when looking for a fairly function budget (2-channel) scope?
or any other suggestions?
Kind greatz
Matthieu
-
A quick question: does the (newest) firmware DSO3D12 support 100X probes? or only 1x and 10x?
Kind greats
Matthieu.
-
100x probe is supported.
-
As cte said, 100X probes are supported.
-
Ah thank you all, that is great to hear :)
-
Hi! What function does the key combination shift + V(ch2) activate? The beam becomes thinner and changes color to blue-green.
-
Hi! What function does the key combination shift + V(ch2) activate? The beam becomes thinner and changes color to blue-green.
It does nothing on mine. What firmware version are you on?
-
v3.0.5_III
-
Hmm, same here but I get nothing with the key combination.
-
Forbeing a newbee from the not arduino but similar stuff club, that just recieved his aneng/zoyt zt703 scopemeter and has already decided to ship it back.
Is there any argument I should not buy this, when looking for a fairly function budget (2-channel) scope?
I can't think of one.
The only "issue" is the aliasing when you go above the limits but that's an issue with all these 'scopes. Aliasing isn't a design flaw, it's inherent in the math.
(Desktop 'scopes also alias but you have to try harder to see it, I can get my 200MHz 'scope to alias on the 1kHz probe compensation signal if I mess with the settings badly enough)
The 'scope on this Zeeweii is a lot easier to use than others I've tried simply because it has more buttons for all the functions.
I'm really thinking of the whole package though - this is a 'scope with a decent multimeter and a signal generator.
Just don't use it on industrial power installations.
-
Got it a bit figured out. It looks like a color display of frequencies. Probably an experimental function. Too bad I don't have the ability to send a signal with amplitude modulation.
-
Got it a bit figured out. It looks like a color display of frequencies. Probably an experimental function. Too bad I don't have the ability to send a signal with amplitude modulation.
This looks like some kind of persistence mode / phosphor emulation to me. But it's not the same as the persistence mode found in the menu (in fact, enabling both just seems to blank the signal on screen).
[Update]: Quick video demonstration added
https://www.youtube.com/watch?v=mKINBEaeO1c (https://www.youtube.com/watch?v=mKINBEaeO1c)
-
Interesting. Looks like some sort of a heat map mode.
-
Okay, I was pressing shift and the V(ch2) key at the same time, not in sequence. Now that I see that video It works on mine too.
-
Hmmm so interesting all this functions that are not in the Manual, keeps us digging for more hidden gems. Well i say us, its not like I found anything functional. But i did find something that I can't seem to get rid off.
I recieved my DSO3D12 today, and ofcourse I went out to play with it as any kid would do. But now a red line appeared in the middle of my screen. I believe it appeared when I was trying out functions, but the yellow Ch1 line covers it up most of the time. So i am not sure what i exactly did for this to appear.or when. I so feel like my mum playing with her phone. Stuff happening out of nowhere and not knowing how to get rid of it. Will being 80+ like this? Having absolutely no idea how to use the home teleportation device and still trying to walk to the supermarket?
Anyway. It seems like something 'signally' as there is some 'static' appearance. Like with Ch1 and Ch2. Btw my channel two is blue so, so it's not just a new hidden colour.
Anyway doesn anyone have any idea what i did, to get that too appear? Or whas it there all the time and did i just not notice?
Anyway. I would love some help on the topic.
Kind greats
Matthieu
-
@Matthieu
There is a way to take a screenshot of the current signal and then freeze it and display it, in red, as well as what the scope is displaying in real time. I believe this is what you have done. I've not got mine yet, due in a week or so, so I can't give you the exact steps to undo what you've done. Sorry.
-
Anyway doesn anyone have any idea what i did, to get that too appear? Or whas it there all the time and did i just not notice?
I'm pretty sure you have enabled FFT in linear mode. Go to the menu and go to settings. On the 2nd last line you should see the yellow square on "Lin". Move the cursor to "OFF" on the same line and press "OK". The red line should now be gone.
Either that or you did what balck6host said.
-
Anyway doesn anyone have any idea what i did, to get that too appear?
Kind greats
Matthieu
press shift, and after press Single(Ref)
-
press shift, and after press Single(Ref)
Yup, that's it! Do the same thing again and it goes away.
-
Anyway doesn anyone have any idea what i did, to get that too appear? Or whas it there all the time and did i just not notice?
Did you try putting in a signal on channel 1?
-
@all, thanks for your replies!
oddly enough, it has disappeared when I just now turned it on to see how to turn it off. so the mistory remains for now, but all thoughts sound as valid options so.
that beside me knowing that it wasn't a lin FFT, I looked at that before and know I left it in off mode.
@Blackhost, _RUS73_ and BillyO
yeah that is it indeed :D, allthough It disappeared, this got it "back", and removed it again.
So blackhost, these are the steps ;), wishing you lot of fun with your new machine when it arrives.
@Fungus, yeah I did. only a signal from the generator for now but, yeah I did put an signal on ch1 (and 2)
Additional question:
Has anyone made a sort of reference list of the "not in manual, but still present functions for now?
seems like an interesting thing to me, so people don't figure things out by accident and then let the information evaporate into oblivion.
I am trying to make a list here for myself, but am very will to post it when done.
for now I have the following items: but please add if I missed something.
- Voice control (although this is discussable, as there is a manual with it in it)
- Shift + V/ch2 → persistend mode /phosphor emulation.
- enter FG via the "Gen" button, sine wave is limited to 5MHz, full-screen FG via the "Home" menu (short press the power button) the sine functions at 10MHz
- new frequency counter is good from 15Hz to 35MHz - well beyond specification.
I am also interested in this mod: but would I be assuming wrongly if I assume an BNC connector is also a viable option?
I fitted a SMA connector to the side of the back cover, for the sig.gen output.
Works much better then the 2 prongs on the top. Also made sure it does not interfere with anything on the inside.
The SMA connector is designed for at least 12GHz and 50 Ω impedance, so should be OK for this application.
Yes, it should have been a female connector, but I only had a male around. :palm: ;)
@Jdev99, did I see correctly that you connect an coaxial directly to the soldertabs on the inside? nothing more then that?
besides ofcourse making sure all is neatly insulated?
@Billy_O
https://nl.aliexpress.com/item/1005007075516670.html?spm=a2g0o.order_list.order_list_main.35.71fe79d24tDpkM&gatewayAdapt=glo2nld
I have ordered one of these, slightly larger so I can store my scope and the probes savely and nothing is lying around messy like it has been.
You could probably get a bigger one in there, maybe a 3200mAh 506090 and go for ten hours run time...?
Also ordered a 4000mAh 606090, should fit in there nicely, a lot more run time.
Kind greats
Matthieu
-
Whoohoo, Just made my first real measurement, kinda the reason why I wanted this.
Recording a signal from a single hit on a piezo disk :D
A shame one can't download the images really.
one last question:
after a image is saved, is it still possible to zoom in? use the cursorlines. Is the original signal maintained?
or is it nothing more then a screenshot in like a picture form? without any possible form of manipulation?
Kind greats.
PS: I know it's not possible to "download" the image.
-
It's just a screenshot.
-
Hi folks,
Thanks to the great info here and in the DSO2512G thread, I picked up a DSO3D12 from the Zeeweii official Aliexpress storefront during the 11.11 sale. It arrived with firmware 3.0.6-III:
[attachimg=1]
The support site (http://www.sigpeak.com/support.html) still shows 3.0.5-III. Any ideas on the updates in this firmware or functionalities to test? I've requested info about this firmware from Zeeweii in case there are notes available.
-Nikhil
-
Hmm, I wish I knew about it. I have requested a copy from Zeeweii.
-
Anyone here have non Zeeweii branded unit ? Im seeing "Zeeweii company store" ,"zeeweii official store" ,"kkmoon store" etc. selling the same item on Aliexpress..
Curious to know if they are all selling the same unit or changing firmware etc. There is minor chatter about that in the thread but nothing to sway me either way ..
-
Thanks for the article post.
Mine is version V3.05.
The current problem is
The bandwidth in the automatic measurement mode is the period of the band.
and
Taking a screenshot while displaying cursor measurements results in overlapping displays.
How about version V3.06?
-
@Fungus: thanks, good to know..
@taligentx: thanks for telling us, I didn't check mine and I ordered it at the same shop, same time and indeed mine is 3.0.6-III to.
I connected it to my laptop, but I did not see a drive available, would love to see if I could download the screenshot images, but if no dribe is visible...
Am very interested in the reply from Zeeweeii when you get it.
@motoge: I hope this version solves your issues too!
Kind greats
Matthieu
-
Taking a screenshot while displaying cursor measurements results in overlapping displays.
Hi @motoge - if you mean the screenshot sequence number, yes, it still displays in the upper left corner of the screenshot and obscures that part of the image:
[attachimg=1]
The bandwidth in the automatic measurement mode is the period of the band.
Do you have a test sequence for this issue that can use the built-in signal generator?
-
I measured at 500μS but the data is not displayed.
To correctly display all signal parameters, at least a couple of full signal periods must be displayed on the screen.
-
That's right. The display overlaps.
The internal transmitter is the only option I have.
-
The same waveform was displayed on other oscilloscopes.
Measurement was possible with just one waveform
In the case of DSO120M
-
Anyone here have non Zeeweii branded unit ? Im seeing "Zeeweii company store" ,"zeeweii official store"
These two are the Zeeweii stores. I've no idea why they have two, but they did confirm to me that both of these are actaully Zeeweii. They also confirmed that many other stores sell their products.
-
it's fairly easy to confirm if "2 or more" stores are actually the same on AE.
under the store name there is a "link" to store-information -> company license:
here you can find the tax-number. if they are the same they are the same store.
IMHO they make more than one store for one or more of the following reasons:
* one is a choice store, the other isn't
* posibility to make different offerings for the same item
* being "visually" more present compared to the competition, specifically interesting when searhing for one specific item.
so when searching for a zoyt 703, you get 2-3-4 or more ads, all the one stores.
The smaller stores will have just one add, mostly not a choice, maybe even lower price but with shiping costs, having no store name, but a number (guess the names are expensive),
this all ofcourse to draw us customers in.
kind greats
Matthieu
-
Some companies like Zeeweii or FNIRSI do not use choice, but their free shipping is very fast. Never had an issue with either.
-
Has anyone tested the generator with a reference meander signal?
Watching amateurs' tests on YouTube, it is clear that the generators do not produce a reference signal at all. These are screenshots of the results from several videos.
I have a smd txco generator for 26 megahertz. I assembled it with a 3.3v supply and decoupled the output with a 10pf capacitor. But its signal does not even remotely resemble a square wave.
-
I don't quite understand what you want to know.
The JDS6600 60MHz - the 60MHz is for sine wave only and the square wave is only specified to be useful to 10MHz. However, that screen shot you show does NOT look like any JDS6600 I know of. Maybe they really are amateurs of the worst kind.
Here is my DSO3D12 with my JDS6600 (60MHz) @ 10MHz, 20MHz and 24MHz. (sorry, had probe set to 10X and the focus is lousy)
And I get pretty much exactly the same with my Siglent SDS2504 scope, so it's no the ZEEWEII, is the the JDS6600.
-
Hmm... That's weird. Your signal is very suppressed. Are you sure the probe is in the 10x position because it doesn't look like it at all. Can you repeat the measurements?
.
-
Obviously the scope is set to 10x. This only changes the vertical scaling.
I did not use a probe. The measurements were made using a 50Ω coax from the FG to the scope through a 50Ω passthrough terminator at the scope end. This is the correct way to do it. I'm not sure how the "amateurs" you looked at on YT did it, but I'm almost 100% sure they did it incorrectly just from viewing your screen shots.
The signal is not suppressed. That is what the JDS6600 produces. Again, as I said, the waveform is essentially the same viewed on my 500MHz Siglent scope.
In what way, exactly, would you like me to repeat the measurements?
-
(50Ω passthrough terminator) do you mean 50 ohm balanced load(RF) for the generator?
-
(50Ω passthrough terminator) do you mean 50 ohm balanced load(RF) for the generator?
The JDS6600 has an output impedance of 50Ω. When you connect it via a 50Ω coax cable to an oscilloscope that has a high impedance input you need to terminate the cable at the scope end with a 50Ω load. This is is normally done with a 50Ω passthrough or feed-through terminator. Google it.
See the one I used below. And have a look at this video: https://youtu.be/W_Jy_sdpv9Y
-
I think your measurement technique is correct. But there is a nuance with the signal generator. It cannot generate the correct signal shape if there is not only an active load of 50 Ohm, but also a reactive load in the form of cable capacitance and oscilloscope input capacitance. This can be easily verified by using an oscilloscope probe in the 10x position in this chain. Try adding another oscilloscope probe when measuring.
-
@_RUS73_
You seem confused:
1. "an active load of 50 Ohm". Why have you written "active"?
2. "50 ohm balanced load(RF)". Why have you written "balanced"? Neither the generator output nor the scope input is balanced.
-
I think your measurement technique is correct. But there is a nuance with the signal generator. It cannot generate the correct signal shape if there is not only an active load of 50 Ohm, but also a reactive load in the form of cable capacitance and oscilloscope input capacitance. This can be easily verified by using an oscilloscope probe in the 10x position in this chain. Try adding another oscilloscope probe when measuring.
The coax cable is a transmission line with a characteristic impedance of 50Ω. For it to do it's job properly, it must be fed a signal from a 50Ω source and it must deliver it into a 50Ω termination or the signal will get distorted by reflections. google "transmission line theory" and read at least the Wikipedia article on the subject: https://en.wikipedia.org/wiki/Transmission_line (https://en.wikipedia.org/wiki/Transmission_line)
Right now I have an injured knee so moving around up and down to the basement lab is difficult for me. If I can, I will do as you ask but do not expect it soon. The signal I showed you is correct.
-
@_RUS73_
You seem confused:
1. "an active load of 50 Ohm". Why have you written "active"?
2. "50 ohm balanced load(RF)". Why have you written "balanced"? Neither the generator output nor the scope input is balanced.
These are the difficulties of communication and understanding the essence through Google Translate:)
Now let's get to the point, and what I wanted to convey.
I got hold of a similar signal generator. The test results showed that connecting the generator via a 50 Ohm cable to the oscilloscope via a 50 Ohm pass-through load terminal to the bnc connector of the oscilloscope distorts the signal (apparently the additional capacitance of the oscilloscope input overloads the generator output). Before connecting the oscilloscope, the signal has a more correct shape. This can be easily verified by connecting a probe with a 10x divider to the circuit. The signal has a more regular shape.
Several rules for conducting their measurements are violated here:
1. The oscilloscope must introduce minimal distortion into the measured circuit.
2. The generator must have sufficient load capacity and produce the correct signal to conduct such measurements.
In this particular case, we can only correct the first point, using the probe in the 10x position to minimize the effect on the signal.
I consider the testing conducted by user BillyO to be unsuccessful due to the impossibility of observing point 2.
-
2. The generator must have sufficient load capacity and produce the correct signal to conduct such measurements.
..
I consider the testing conducted by user BillyO to be unsuccessful due to the impossibility of observing point 2.
? How would you observe this?
The JDS6600 has a 50Ω output. It's right in the specifications.
You can consider whatever you like. I tested it properly. Again, read up about signal transmission lines and get your facts straight - please. The SG sees 50Ω when it drives a correctly terminated 50Ω coax cable and the JDS6600 was designed specifically to do that. it WILL NOT see the few pF (maybe 40-50pF) of the scope when connected in this fashion. Where did you dig up this rubbish?
-
If you think the added capacitance is small enough to distort the signal, repeat the test with the probe first at 1x, then at 10x.
-
If you think the added capacitance is small enough to distort the signal, repeat the test with the probe first at 1x, then at 10x.
Listen, go learn about transmission lines. The generator WILL NOT see the scope capacitance at the other end of a properly terminated coax cable.
My Siglent SDS2504X-P has an input capacitance of 17pF. That's less than a cheap 100MHz probe set on 10X. Set on 1X that would be more like 100pF. You're talking utter nonsense. I wouldn't be surprised if you thought the earth was flat too.
And I already told you, I'm injured. Getting up and down the stairs is a big problem for me and I'm not going to do it right now for your sake. I know exactly what I'll see.
-
In addition to trying to 'collect' functions that are not in the manual I bumped into the event counters and Freq counter under menu > disp (x1x10) > disp (x1x10).
But besides these two there is on mine also something called 20m for both Ch1 and Ch2. After activating it, it doesn't seem to do much more the showing 20m somewhere on the right side. Does anybody have any clue what this is all about?
Kind greatz
Matthieu.
-
Does anybody have any clue what this is all about?
20MHz bandwidth limit.
-
In addition to trying to 'collect' functions that are not in the manual I bumped into the event counters and Freq counter under menu > dev > dev.
But besides these two there is on mine also something called 20m for both Ch1 and Ch2. After activating it, it doesn't seem to do much more the showing 20m somewhere on the right side. Does anybody have any clue what this is all about?
Kind greatz
Matthieu.
I've been looking around at one of these portable type oscilloscopes lately. In one video I saw on YT it was attempted to measure 50MHz with the frequency counter added to the latest firmware (at the time the video was made) and the count was obviously wrong. It was clarified near the end of the video that the frequency counter was for 20MHz only. Although it seemed to top out on that unit in the mid 30's.
-
No, for these two options it has to do with BW on the two channels, and nothing to do with the frequency counter. I'm very familiar with the YT vid you mention. However if you enable the "20m" option for either channel (or both) that channel will be limited to 20MHz BW.
-
@ all,
Thanks, that clarifies a bit indeed. guess the 20M is some sort of low-pass filter?
it draws out another question though, what is so specific about 20Mhz that it deserves such a settings.
Kind greatings
Matthieu
-
guess the 20M is some sort of low-pass filter?
Yes.
it draws out another question though, what is so specific about 20Mhz that it deserves such a settings.
Read here: https://www.eevblog.com/forum/beginners/the-popular-oscilloscope_s-20-mhz-bw-limit/ (https://www.eevblog.com/forum/beginners/the-popular-oscilloscope_s-20-mhz-bw-limit/)
-
Here's the FFT frequency measurement cursor added in the -III firmware:
[attachimg=1]
(Edited this post as I initially thought it was a new feature in 3.0.6-III, but it's been available for -III hardware, just not called out in this thread).
-
Current sale prices for one of the official Aliexpress storefronts (Zeeweii Factory Store):
https://www.aliexpress.com/item/3256805737614947.html (https://www.aliexpress.com/item/3256805737614947.html)
- US: $76.86 - $12 coupon = $64.86, plus local tax, free shipping (need to add some other items to reach the $89USD threshold for the coupon)
- EU: €91.99 - €12 coupon = €79.99, VAT included, free shipping
There are third-party sellers with lower prices but I figure it's more likely to get older hardware revisions that can't use the current firmware. Also, the coupon codes can go in and out of availability but the prices should be good until Dec 4.
-
In addition to trying to 'collect' functions that are not in the manual I bumped into the event counters and Freq counter under menu > dev > dev.
How do I get to menu > dev > dev? (Not sure what key dev is, or what that means).
-
In addition to trying to 'collect' functions that are not in the manual I bumped into the event counters and Freq counter under menu > dev > dev.
How do I get to menu > dev > dev? (Not sure what key dev is, or what that means).
It's "Menu > Disp > Disp"
The "Disp" key will be higlhighted once you hit "Menu", but its the "x1x10" key.
-
Has anyone made a sort of reference list of the "not in manual, but still present functions for now?
seems like an interesting thing to me, so people don't figure things out by accident and then let the information evaporate into oblivion.
I am trying to make a list here for myself, but am very will to post it when done.
for now I have the following items: but please add if I missed something.
- Voice control (although this is discussable, as there is a manual with it in it)
- Shift + V/ch2 → persistend mode /phosphor emulation.
- enter FG via the "Gen" button, sine wave is limited to 5MHz, full-screen FG via the "Home" menu (short press the power button) the sine functions at 10MHz
- new frequency counter is good from 15Hz to 35MHz - well beyond specification.
I echo the desire for a comprehensive list!
-
Got it, thanks!
-
It's "Menu > Disp > Disp"
The "Disp" key will be higlhighted once you hit "Menu", but its the "x1x10" key.
Indeed it is, sorry for this oepsie, I modified the post to make it clearer for future readers.
kind greats
Matthieu
-
I echo the desire for a comprehensive list!
Just let me know when anyone finds some new option and I will add it.
-
Looking through @timschuerewegen's work (https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg5124096/#msg5124096) decompiling and modifying the DSO2512G firmware, one of the improvements is the font:
[attachimg=1]
Tim also provided the original and modified font data. I poked around the DSO3D12 3.0.5-III firmware (http://www.zeeweii.com/support.html) and it uses identical font data, so it seems possible to mod this scope as well. The trick is that the newer Zeeweii scopes (DSO154pro, DSO3D12, DSO1C81) use an mcu with integrated flash (Winner Micro W806-C200), and I haven't found an easy way to dump the flash so currently only firmware provided by Zeeweii can be modded.
The W800 docs (https://doc.winnermicro.net/w800/en/latest/component_guides/firmware_format.html) describe the firmware format - a .fls file with multiple images (bootloader, runtime image, etc), each with a separate header with checksums for the individual image and the header itself. It's possible to manually replace the data and calculate new checksums. Possible, but seems like a pain so...
Here's a tool to view .fls firmware header/image info, replace data with updated checksums, and extract images: https://github.com/taligentx/FLSTweak (https://github.com/taligentx/FLSTweak)
I've added the font mod data to the examples directory, as well as a mod to fix the UI bug for the "Mea:" field label (it has an extra colon as circled in the screenshot above). The tool generates a new .fls file that can be flashed to the scope with this Windows tool (http://www.isme.fun/?log=blog&id=34) or wm.py in the WM IoT SDK (https://doc.winnermicro.net/w800/en/latest/get_started/index.html#software). Disclaimer: this is totally untested! My scope arrived with the newer 3.0.6-III firmware and I'll need to get a copy to test.
If you have a scope running 1.1.2 or 3.0.5-III and would like to try the updated UI, I can provide the steps or send a modded file. If there are any issues, it should be possible to flash the original firmware but needs testing.
I'm also interested in finding a way to dump the flash - the W80x series chips are also commonly used on smart home devices, etc. Would love to hear thoughts on ways to try this or general modding. For example, the W806 has six UARTs, it'd be interesting to see if any of them can be used to send data externally.
-
Here's the output looking at v3.0.5:
$ ./flstweak.py dso3d12_v3.0.5_III.fls
Detected firmware type: W80x
Image 0:
Image attributes:
Type: Bootloader (0x0)
Encryption: False
Encryption private key #: 0
Signature: False
GZIP compression: False
Block erase: False
Always erase: False
Compression type: 0
Image address: 0x08002400
Image size: 31580
Header address: 0x08002000
OTA update address: 0x08010000
OTA update version: 0x00000000
Version:
Next image header address: 0x08010000
Image checksum: 0x7C67C28A (verified)
Header checksum: 0x2857E698 (verified)
Image 1:
Image attributes:
Type: User image (0x1)
Encryption: False
Encryption private key #: 0
Signature: False
GZIP compression: False
Block erase: False
Always erase: False
Compression type: 0
Image address: 0x08010400
Image size: 417952
Header address: 0x08010000
OTA update address: 0x08010000
OTA update version: 0x00000000
Version:
Next image header address: 0x00000000
Image checksum: 0xD34FECFB (verified)
Header checksum: 0x5325676A (verified)
Taking a look at image1 (the user runtime), there are also some typos for the calibration mode ("claib"):
Factory claib mode
Self-inspection
Claib: 100mV
Claib: temp
Claib: 1.0A
Claib: 100mA
Please restart!
DCV = 5.000V
Res = 100.0K
DCA = 1.000A
DCmA = 100.0mA
Done!
Max 1000V
Max 600mV
Max 750V
Max 10A
Max 600mA
USB/DMM Conflict!
DC-1000V
DC-600mV
AC-750V
AC-600mV
DC-10A
DC-600mA
AC-10A
AC-600mA
DMM claib mode
And still present in 3.0.6:
[attachimg=1]
Should be easy to fix these types of issues.
-
Taking a closer look at the fonts - I found that ImageMagick works to convert the 1-bit font data (https://github.com/taligentx/FLSTweak/tree/main/Zeeweii_DSO3D12) for the small and large font:
$ magick -depth 1 -size 8x13 gray:zeeweii_font_small_ref.bin zeeweii_font_small_ref.bmp
$ magick -depth 1 -size 16x16 gray:zeeweii_font_large_ref.bin zeeweii_font_large_ref.bmpThis converts the raw font data to a series of bitmap files (should be a total of 95 files, covers ASCII characters 32-126).
Original Zeeweii (top) vs modified @timschuerewegen (bottom) - small font:
[attachimg=1]
Large font:
[attachimg=2]
The Zeeweii font has...issues. Even aside from the poor legibility, some characters like the curly braces {} in the large font are totally wrong.
As far as the scope itself, so far I've enjoyed using it! It came in handy to take a look at an LED strip power supply PWM and it correctly measured the duty cycle of the PWM down to the strips minimum at 10%. I have a couple of boat anchor Tek scopes but they're halfway around the world and don't have the measurements so this is a treat.
Edit: fixed the command for the large font, should be 16x16
-
Success!
[attachimg=1]
[attachimg=2][attachimg=3]
Instructions are on the repo - FLSTweak 1.0: https://github.com/taligentx/FLSTweak
-
Just did the update procedure on my v3.0.5_III device and I'm now running v3.0.6_III with the better font. :-+
I had to run calibration after updating, but this worked without issues.
@taligentx: Thank you for the work! May I ask where you found the firmware v3.0.6_III for download? Zeeweii's website still shows v3.0.5_III.
And for the people running linux: The flash.py tool from the wm_iot_sdk needed some additional libraries. This should do the trick:
$ pip install colorama PyPrind pyserial serial xmodem
Verbose version info:
❯ python --version
Python 3.12.7
❯ pip freeze
colorama==0.4.6
future==1.0.0
iso8601==2.1.0
PyPrind==2.11.3
pyserial==3.5
PyYAML==6.0.2
serial==0.0.97
xmodem==0.4.7
-
Great to hear! For the python dependencies, I've updated the flashing steps - the SDK actually includes requirements.txt with the necessary packages, so you can point pip to that file.
For the firmware, Zeeweii were kind enough to send via email - I have zero expectations of support for manufacturers that sell via Taobao/Aliexpress/etc so this was a pleasant surprise. That said, they may be waiting to see if there are any major bugs in the firmware before giving it a wider release on the support site. Or they just haven't bothered to update the site.
I had to run calibration after updating, but this worked without issues.
Can you elaborate on this? What was happening after the update?
I did notice that settings and saved waveforms remained even after flashing - the firmware is ~475kB out of the available 1MB so there's room for persistent storage. Also, it's clear that the saved waveforms are not screenshots/bitmaps - the scope is saving the data and re-rendering the display, because after flashing, all of the old saved waveforms were using the new fonts!
-
I had to run calibration after updating, but this worked without issues.
Can you elaborate on this? What was happening after the update?
There was an significant offset. With the inputs left open, Ch1 was ~0.8 div above the GND marker.
-
Update - FLSTweak 1.1: https://github.com/taligentx/FLSTweak
I rendered a new small font with all of the characters shifted down by 1 pixel. On the DSO3D12, the measurement labels each have a rounded background and the font from Tim was not centered. The DSO2512G doesn't have the background so the font alignment isn't as noticeable.
Before (left) vs after (right):
[attachimg=1]
Working out how to render the font also means other font types can be swapped in if they look good at 8x13 and 10x16 pixels.
-
Hello everyone,
The +bandwidth setting is not displayed automatically.
Is there a different way to set it up?
-
@taligentx: Thank you for your modified FW. I am now on your 3.0.6-III mod and it looks much better. It should be part of the original firmware, maybee Zeeweii can be open to incorporate your mod into the master FW. I kind of dream that one day they will share the source code and let the community tweak the device in their own image. Then they could sell zillions of devices and everyone would be happy. :)
You make good point with the View gallery, the images are re-rendered in new fonts. If scope really keeps the source data, then it's a pity that zooming and cursor operations are not implemented in the gallery.
And the last thing I haven't seen described anywhere and discovered while working with the gallery of saved images - pressing x1x10 works as a delete button! ;)
-
Answer from ZEEWEII
Hello,
Since such waveforms are actually debatable, I recommend using cursors for measurements. Press "Shift"->"s" to open the time cursor.
For example, in the image below, it is hard to determine whether the negative pulse width is A or B. With an oscilloscope, it is really hard to judge.
width-.jpg
-
Hello Guys,
Please, do you have any Hi-Res pictures of the device's PCB?
Thanks a lot!
-
Hello Guys,
Please, do you have any Hi-Res pictures of the device's PCB?
Thanks a lot!
At least one of the YT reviews linked in posts above has good views of the internals. https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5274556/#msg5274556 (https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5274556/#msg5274556)
-
Hi, I have seen the reviews but unfortunately it isn't enough.
I would like to see what is connected where and gather as many information/datasheets as I can.
I wonder if they even are able to implement USB/OTG or any other high speed communication + other stuff. Or for example if it's possible to implement DMM reading while it's charging from a power bank.
In the review they mentions Winner Micro W806-C200 MCU, which is pretty limited, but there ale more chips on the PCB, but in general traces are not clearly visible.
So maybe, could somebody make hi-res photos of the internals? Sure just for educational purpose only!
Btw I've downloaded the firmware and the archive contains ch341ser driver/installer and 440kB firmware So it seems that any high speed communication with PC won't be possible.
I haven't bought this device yet, so I can't make the photos myself.
Thanks a lot!
-
I would like to see what is connected where and gather as many information/datasheets as I can.
It is likely a 6 or more layer board. How would you determine the connections through the internal layers?
What is the purpose of all this?
The com port is there for firmware updates only. There is no file transfer or real-time image transfer capability.
-
I wonder if they even are able to implement USB/OTG or any other high speed communication + other stuff. Or for example if it's possible to implement DMM reading while it's charging from a power bank.
DMM while connected to a charger would be a good hack for working on low voltage stuff on the bench all day.
But it's probably better done in firmware.
-
DMM while connected to a charger would be a good hack for working on low voltage stuff on the bench all day.
But it's probably better done in firmware.
I think it's quite likely a hardware limitation. While the MCU has a lot of serial options they come out on multi-purpose I/O pins that may be used for other things. It may have only a single serial port exposed and shared between the DMM chip and the CH341. If that's the case, I guess you could have it ask when you plug it into a USB power source if you want to do a firmware update or not.
-
I think it's quite likely a hardware. While the MCU has a lot of serial options they come out on multi-purpose I/O pins that may be used for other things. It may have only a single serial port exposed and shared between the DMM chip and the CH341. If that's the case I guess yo could have it ask when you plug it into a USB power source if you want to do a firmware update or not.
Sure, it migth be possible, but given the choice between uploading a firmware and opening it up to cut tracks on the PCB (or whatever) it think it would be much better to come up with a firmware fix.
-
I would like to see what is connected where and gather as many information/datasheets as I can.
It is likely a 6 or more layer board. How would you determine the connections through the internal layers?
What is the purpose of all this?
The com port is there for firmware updates only. There is no file transfer or real-time image transfer capability.
That's of course impossible from any photos. But you can find out more from hi-res detailed photos than from the YT review where you can see just a part of the board and not even clearly. From the review you can see that there are more chips ( some of them with removed names ). Maybe it could be possible to identify what they are (based on parts around), how they are connected together? Maybe it could open new possibilities .. For example in the review I can see two such chips outside the CAN. One could be AG32VF MCU/ASIC LQFP48 ( maybe AG32VF303CCT6 )? .. If it actually is, it has some interfaces too.. for example Ethernet PHY, USB2.0, SPI, UARTs .. How is this chip interconnected with the main MCU? Etc .. That's why at least the photos could be useful.
-
Here are a few shots from when I was looking for a way to dump the W806 firmware:
[attach=3]
[attach=1]
[attach=2]
-
[attach=3]
[attach=1]
[attach=2]
-
[attach=2]
[attach=1]
-
[attach=3]
[attach=1]
[attach=2]
-
Last of the photo set:
[attach=3]
[attach=1]
[attach=2]
-
While the MCU has a lot of serial options they come out on multi-purpose I/O pins that may be used for other things. It may have only a single serial port exposed and shared between the DMM chip and the CH341.
This seems likely based on the "dmm uart init" message that is sometimes sent after flashing:
[attachimg=1]
-
Taligentx: Thanks for the photos!
I can't see the ch341 on the photos. Where is it hidden? Under the beeper?
-
If it's of any use, I've annotated a photo of the top of the circuit board.
-
Is it emulated by software? i.e. USB, which sounds like ch341 in the PC. No physical chip is required.
-
If it's of any use, I've annotated a photo of the top of the circuit board.
Hi billm,
The chips named in you photo as:
FPGA => It's very probably DMM chip
High Speed RAM => In newer revision it's AG32 MCU ( AG32VF303CCT6 ). It has 128 Kbytes of SRAM. On vendor's website they mentions (if I understand it correctly) that it's 2k CPLD too..
And there is a battery charging IC under the heatsink at the upper left corner .. - In newer revision it's IP2312
-
They actually put in a special speech recognition chip? :o
I thought it was just somebody at the company messing around one day.
-
Hello. Can you tell me where I can find the firmware v3.06?
-
Hello. Can you tell me where I can find the firmware v3.06?
It hasn't been officially made available yet, but you can find v3.0.6_III (https://github.com/taligentx/FLSTweak/raw/refs/heads/main/Zeeweii_DSO3D12/dso3d12_v3.0.6_III.fls) on GitHub.
https://github.com/taligentx/FLSTweak/tree/main/Zeeweii_DSO3D12
-
I can't see the ch341 on the photos. Where is it hidden? Under the beeper?
That may be the case. That's where the USB connector is.
Yup - that's where it is.
[attachimg=1]
-
The chips named in you photo as:
FPGA => It's very probably DMM chip
The W806-C200 has a 16 bit ADC which I had assumed would be used for the multimeter functions.
High Speed RAM => In newer revision it's AG32 MCU ( AG32VF303CCT6 ). It has 128 Kbytes of SRAM. On vendor's website they mentions (if I understand it correctly) that it's 2k CPLD too..
That is puzzling. The AG32VF303CCT6 has a maximum clock of 208 MHz which would normally make it far too slow to take samples from the high speed ADC at 250 MS/s. The data sheet says there is a 2k LE FPGA onboard, but I haven't found anything else much about it, apart from it having a total of 4 kB RAM (far too small to gather the ADC samples). Part of the FPGA seems to be dedicated to part of the internal clock tree.
There is some data on the AGRV2K FPGAs from the same company available. One of these appears to be similar to the one on the AG32 chip and there is some timing data given for these. Most times are in the range of 0.5 to 2 or so ns. I don't know whether these would add up in a way that would make a sequencer for transferring data to the 128 kB RAM at 250 MS/s, even if that RAM can be pushed to take the data at that rate.
-
Here's an updated version of the annotated photo.
[attach=1]
-
Hi Billm
http://www.agm-micro.com/products.aspx?lang=&id=3113&p=37 (http://www.agm-micro.com/products.aspx?lang=&id=3113&p=37)
MCU frequency 248Mhz
SRAM 128Kbytes
So are we sure that 248Mhz is not enough?
Because rough calculation ( not sure if correct ) would be
We need 250MSps. (It's for both channels of ADC together. It should be enough for both channels at 60Mhz or one channel at 120Mhz as they mention in their specs.)
1 Sample => 8 bits = 1Byte
If we take 2 samples at a particular time ( either for both channels or one channel using both channels of ADC )
Theoretically we can
2 Bytes * 248 Mhz => 496MBps using half of the bandwidth of the memory
I am not sure how many CPU cycles writing into the internal memory takes. Or if any at all, because they mention DMA access.
But it looks like it should be enough. I am just a total beginner, so maybe this calculation is all wrong.
-
http://www.agm-micro.com/products.aspx?lang=&id=3113&p=37 (http://www.agm-micro.com/products.aspx?lang=&id=3113&p=37)
MCU frequency 248Mhz
SRAM 128Kbytes
This is where things get just a little uncertain.
Version 1.0 of the Data Sheet says that the Maximum Speed of the AG32VF303 is 208 MHz. Only the AG32VF407 gets 248 MHz. All other versions are even lower speed.
Version 1.2 of the Reference Manual gives the maximum speed of all versions as 248 MHz! Why the difference? Which one is correct?
Assuming that the 248 MHz is correct, then running at 250 MHz is not a big deal. It just gives the manufacturer an excuse to not support you if it doesn't work.
So are we sure that 248Mhz is not enough?
It's difficult to answer that question. The 248 MHz is just a clock on the chip. It doesn't tell you how long any particular operation takes. You need extra information for that, which doesn't appear in the Data Sheet nor the Reference Manual. Any particular operation might take more than on clock cycle.
Assuming that these chips use just one cycle for any (or almost all) operations. Then that would imply that the RAM should be able to get written to at a 250 MHz rate.
That just leaves a few more questions, including:
Are the general purpose I/O pins capable of handling data at a 250 MHz rate?
Where is the comparator to handle triggering? The DMA subsystem doesn't appear to have one.
Is the FPGA user-programmable?
Scanning though the manuals, I couldn't find an answer to these questions. Perhaps there are other manuals available?
I can't say that the chip is capable of performing the required function, but nor can I rule it out.
Because rough calculation ( not sure if correct ) would be
We need 250MSps. (It's for both channels of ADC together. It should be enough for both channels at 60Mhz or one channel at 120Mhz as they mention in their specs.)
1 Sample => 8 bits = 1Byte
If we take 2 samples at a particular time ( either for both channels or one channel using both channels of ADC )
Theoretically we can
2 Bytes * 248 Mhz => 496MBps using half of the bandwidth of the memory
I am not sure how many CPU cycles writing into the internal memory takes. Or if any at all, because they mention DMA access.
But it looks like it should be enough. I am just a total beginner, to maybe this calculation is all wrong.
You certainly could ease the speed problem by gathering multiple bytes and feeding them as a block to the chip. However, that means that you need extra logic external to the chip (registers and sequencing logic). I see no evidence of that logic on the circuit board. EDIT: I now see that you don't need these separate registers, etc. All you need is a dual ADC, and when you look at the board photos, this seems to be the case. I don't know what the actual ADC is, but the pinout looks similar to an AD9288, as shown in this annotated detail:
-
I don't know what the actual ADC is, but the pinout looks similar to an AD9288
probably it is a MXT2088 (analog AD9288)... (MXT2088 used in Fnirsi 2C53P)
In the case of the AD9288, the erased area would be larger.
MXT2088 has a minimum area of marking.
-
I echo the desire for a comprehensive list!
Just let me know when anyone finds some new option and I will add it.
menu-set-Hold down "s" - change background color of measurements
menu-set-Hold down "Gen" - alternator voltage change by 3 volts
menu-disp-Hold down "Stop" - strange mode
-
Retention? :-//
-
Retention? :-//
Hold down for a couple of seconds
-
menu-set-retention s - change background color of measurements
What is "s"?
menu-set-retention Gen - alternator voltage change by 3 volts
This does not work for me
menu-disp-retention Stop - strange mode
For me this changes the graticule.
-
menu-set-retention s - change background color of measurements
What is "s"?
(http://IMG20250115203001.jpg)
-
menu-set-retention Gen - alternator voltage change by 3 volts
This does not work for me
(http://IMG20250115203215.jpg)
(http://IMG20250115203225.jpg)
(http://IMG20250115203743.jpg)
-
menu-set-retention Gen - alternator voltage change by 3 volts
This does not work for me
(http://IMG20250115203215.jpg)
(http://IMG20250115203225.jpg)
(http://IMG20250115203743.jpg)
Still does not work. What firmware are you on?
-
menu-set-retention Gen - alternator voltage change by 3 volts
This does not work for me
(http://IMG20250115203215.jpg)
(http://IMG20250115203225.jpg)
(http://IMG20250115203743.jpg)
Still does not work. What firmware are you on?
3.0.6-III with changed fonts from this theme
-
Okay, I'm still on 3.0.5 III.
So, it looks like hidden features are likely to change without notice across firmware revisions.
-
probably it is a MXT2088 (analog AD9288)... (MXT2088 used in Fnirsi 2C53P)
In the case of the AD9288, the erased area would be larger.
MXT2088 has a minimum area of marking.
This would match up with the DSO2512G:
Hi, hope my reply will help you guys. The ADC of the DSO2512G is MXT2088, which has built-in dual ADCs, can run up to 125Mhz, and can reach a single channel of 250Mhz at 180° clock phase shift, so the physical sampling rate of DSO2512G is 250Mhz. But why declare 500Mhz? FPGAs can actually achieve "equivalent sample rates," and competitors claim their toys as 500M and 1Ghz sample rates, so you have to make a compromise between market survival and integrity. The 8091 chip can easily drive a 50R load, and the bandwidth exceeds 200Mhz at G=1, so the analog front end will not make any restrictions on the 120M frequency. No CMOS op amp has a high "slew rate," so measuring high-frequency signals requires an X10 probe to reduce the input voltage. All of Fnirsi's oscilloscopes over $50 use the MXT2088, and the actual vertical sensitivity = 100mV due to the lack of a 10x gain amplifier (claiming 50mV is because they use software to process waveform amplitude).
In my opinion, the DSO2512G is the best oscilloscope with the highest bandwidth/10mV sensitivity/performance for less than $90, if you find a better model than the DSO2512G at this price, please let me know.
-
menu-set-Hold down "s" - change background color of measurements
Nice to know about, thanks for finding these options. This one cycles between 4 themes for the measurement labels:
[attachimg=1]
I've also added a mod to the repo that changes the measurement labels a bit as seen above (removes the divider colon, capitalize first letter only, replace "Mea" with "Avg":
https://github.com/taligentx/FLSTweak (https://github.com/taligentx/FLSTweak)
This is a personal preference so I haven't changed the mod.fls file in the repo, this will need to be applied separately if interested.
-
menu-set-Hold down "Gen" - alternator voltage change by 3 volts
This cycles between 4 signal generator voltages in the following sequence:
Label | Measured | Programmed?
----------------------------------------
Vol 2.5V | 2.79Vpp | ~2.75Vpp
Vol=2.5V | 2.48Vpp | ~2.50Vpp
Vol 3.0V | 3.22Vpp | ~3.25Vpp
Vol=3.0V | 2.91Vpp | ~3.00Vpp
The programmed value is a pure guess on my part, it seems like the intent is to have adjustments in 0.25v increments, but I'm not clear on the label naming. The "Vol=2.5V" and "Vol=3.0V" seem logical but the other two are unclear. The labels are just strings in the firmware (not computed values) and easy to change to something like "2.75Vpp/2.50Vpp/3.25Vpp/3.00Vpp" if this is accurate.
[attachimg=1]
-
At first, I want to thank taligentx for his firmware modifying utility. Then, to share firmware resources, that i've found. Needs to say, these resources are pretty eclectic. Many different types of digit typefaces and sizes; "Home" menu is just uncompressed 16bpp image with one third of total firmware size; "personalize" menu pretty neat drawn and accurately splitted for reducing its size, while most of others very ugly, etc. Most of these pictures would be good to be redrawn, but since most of the resources are low res 1bpp, redrawing them far beyond my capabilities to do it. So, I just share, what I've found. In the file name: first field - resource offset in 3.0.6 fls file, then - WxH size of picture in pixels and pixel size. In fls file, most of images contains its size before bitmap (one byte for width and one for height in case of 1bpp images, and 2*int16 for 16bpp images), some of them (mostly charsets) - don't, I've marked such resources with "_nohdr" suffix in their filenames. All of resources aligned at dword margin, so there are padding bytes between resources, when needed. Hope my findings will be interesting to someone. Any questions are welcome.
P.S. in mods.zip some of my graphics modifications.
-
Hi @Dmitur - thanks, this is really useful! In addition to helping with UI mods, it'll help narrow down the actual firmware code blocks for folks that have experience reverse engineering.
To make mods easier, I've updated flstweak to 2.0 with support for multiple replacements. The "--replace" option now directly accepts a reference file or a directory, and it will apply all reference files (ending in ref.bin) in the directory that have a matching mod.bin file (the "--ref" and "--mod" arguments have been removed):
https://github.com/taligentx/FLSTweak (https://github.com/taligentx/FLSTweak)
I also updated the example firmware to dso3d12_v3.0.6_III_mod_v2.0.fls with the changed measurement labels and fixed the "Normal" trigger label.
Hope this helps,
Nikhil
-
Also for reference, here are the strings in the firmware, may help locating other options or features:
Image 0 (bootloader):
enter
Reg:
Fls:
OTP:
Mac:
FID:
ERR:
BW ch Param Wrong
BW capture Param Wrong
F:%d
Rx Param Setting Wrong
Tx Setting Wrong
R:%d,%d
Secboot V0.6
Image 1:
enter main
encrypt
Upload FPGA firmware...
It takes about 20 seconds.
Upgrade failed!
Please restart and try again.
upgrade successful!
menu_Init..
screenshot_init..
end lcd_set_pwm..
end fpga_all_reset..
WAVE_DUTY_CTRL = %x
end gray_Init..
end ui_all_Init..
end cursor_Init..
end fpga_waveout_ctrl..
waveout_Init..
Exit
OK
CALIB
FAILED
start chB: %d
chB done: %d
DONE
counter=%d
timeCnt=%d
period=%d
freq=%d
WAVE_FREQ_WORD= %d
read maxmin1 error!!!!!
read maxmin2 Error error error!!!!!
Limit
page: home
PKPK
Mea:
Duty
Dut-
UPUPUPUPUPUPUPUPUP
view imgSel = %d
view imgIdx = %d
imgVal=%d
Image view
Can't save XY
SAVE DONE
queue init done = %d
sysParm.time_div = %d
sysParm.fs = %d
fs*div*12 = %d
interp.longTemp_int = %d
sysParm.interpTimes = %d
sysParm.preDepth = %d
sysParm.postDepth = %d
longTemp_int1
sysParm.col_len = %d
sysParm.start_col = %d
sysParm.end_col = %d
sysParm.trig_pos = %d
sysParm.winAddrOffset = %d
Gain calib mode
sysParm first init done! = %d
start setting...
dmm uart init
calib_keyCnt=%d
key_cnt0=%d
Factory claib mode
Self-inspection
Claib: 100mV
Claib: temp
Claib: 1.0A
Claib: 100mA
Please restart!
DCV = 5.000V
Res = 100.0K
DCA = 1.000A
DCmA = 100.0mA
Done!
Max 1000V
Max 600mV
Max 750V
Max 10A
Max 600mA
USB/DMM Conflict!
DC-1000V
DC-600mV
AC-750V
AC-600mV
DC-10A
DC-600mA
AC-10A
AC-600mA
DMM claib mode
Save!
NOT SAVE!
Voice OFF
Voice ON (V1.0)
Run/Stop
Single
X Y Mode
Back
CH1=AC
CH1=DC
CH2=AC
CH2=DC
Triger=CH2
Triger=CH1
VIEW
Generator
50%
CH2 is ON
CH2 is OFF
Move down
Move up
DMM RES
DMM Diode
DMM Cap
DMM Cont
DMM DC-Vol
DMM AC-Vol
DMM DC-10A
AUTO
auto time out!!!!!!=================!!!!!!!
cntTime=%d <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
edge_cnt=%d <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
timeBase_sel=%d <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
cntTime2=%d <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
edge_cnt2=%d <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
timeBase_sel2=%d <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
max min %d %d<<<<<<<<<<
vertical done !
ch2_VolDiv_sel = %d
maxdiff mindiff %d %d<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\r
sysParm.ch2_VolDiv = %d
1999999999+
freq_hz timeout
sysParm.freq_calib_val=%d
batValue keyAdcVal= %d %d
Low power..
measure_len=%d
!"#$%&&'(())**++,,--...///00011122223333444455556666677777888888999999:::::::;;;;;;;<<<<<<<=========>>>>>>>>>?????????@@@@@@@@@@@AAAAAAAAAAABBBBBBBBBBBBCCCCCCCCCCCCCDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZShift
RTAuto
AC
DC
10X
100X
1X
Auto
normal
Rise
Fall
Manual
F_Meter:
Counter:
ON
OFF
CH1_20M:
CH2_20M:
Calib:AC gain
Calib:DC offset
Calib:DC offset2
v3.0.6-III
Reset
Reset All
Upgrade successful!
Please restart.
Vol=2.5V
Vol 3.0V
Vol=3.0V
Vol 2.5V
Loading fpga firmware2...
Loading fpga firmware1...
Loading fpga firmware3...
start download...
uart_update_logic failed!
uart_init_flash failed!
uart_download_init failed!
upgrade successful!
Init done. CLK: %.3fMHz, mem_addr=%x
.Aextended
standard
data
remote
can tx %s %s, dlc: %d, id: 0x%x
data%d: 0x%02x
can tx done
can rx %s %s, dlc: %d, id: 0x%x
Can baud rate: %d with prescaler %d, SEG1/2: %dTQ/%dTQ
test can
SR: %x
IR: %x
TXERR: %x
RXERR: %x
passed
failed
Can test %s!
RTC second interupt: 0x%x
RTC alarm interupt: 0x%x
RTC overflow interupt: 0x%x
%d:%02d:%02d-%02d:%02d:%02d
rtc cnt: 0x%x
Enter stop in TestRTC
Exit stop from alarm
passed
failed
RTC test %s
WDOG reset flag: %d
not
Wdog init load: %d, will %sbe stopped in debug
Watchdog reset detected!
WDOG counter: %d
Implement main()!
(null)
RMII
Mac media: %s
Mac macaddr: 0x%02x%04x
Mac phyaddr: 0x%x
Mac autoneg: 0x%x
Mac interface: 0x%x
Mac loopback: 0x%x
Mac mdcscaler: 0x%x
Mac duplex: 0x%x
Mac speed: 0x%x
Mac phy autoneg done: %s, link status: %s
Init done. CLK: %.3fMHz, RTC: %dHz
uart_init0 bytes(%d) ={
******************start fpga upload...****************************
******************start mcu_cor2 upload...****************************
CPU Exception : %u
r%d: %08x
epsr: %8x
epc : %8x
fni+
fni-
A../../../../../../../platform/component/FreeRTOS/tasks.c
Assert : %s %d
-
So are DSO-3D12 and DSO-2512G pretty much the best cheap handheld scopes under $500 for those who don’t want to spend money on Micsig or Fluke? Is there any difference in DSO3D12 units from Zeewei versus other sellers? I prefer Amazon and it seems like all units currently listed there are sold by other companies besides the manufacturer.
Looking for a simple portable scope to use on 120v/240v mains, generators, audio and 12v automotive use. Is anti-burn protection on DSO's sufficient enough? Can they get damaged if I forget to switch 1x and 10x on the probe? Do both of them pretty much use the same design of the scope or is one better than the other? Not sure that I have a good use case for video out or a better signal generator. Otherwise they seem the same.
Any other handheld units to consider for work that doesn’t require very high precision? Don’t think I want to risk touchscreen issues with units like FNIRSI 1013D, features look cool, but I need them to actually work. Considered ZT-702S and I think I’d rather have more functionality of DSO’s. Not seeing any advantages of Hantek or Owon handheld units. What else is out there to consider?
-
(...)In the file name: first field - resource offset in 3.0.6 fls file, then - WxH size of picture in pixels and pixel size. In fls file, most of images contains its size before bitmap (one byte for width and one for height in case of 1bpp images, and 2*int16 for 16bpp images), some of them (mostly charsets) - don't, I've marked such resources with "_nohdr" suffix in their filenames. All of resources aligned at dword margin, so there are padding bytes between resources, when needed. Hope my findings will be interesting to someone. Any questions are welcome.
Hi @Dmitur - I've been looking through your work and it is extensive, thanks for the extraction and detailed info! Can you describe your process to find these? For example I think there are still some bitmaps for the signal generator screens that are still hiding in the firmware somewhere (unit labels like KHZ, MHZ, % symbol, etc). Also, would you mind if I add some of your mod files to my repo?
I started off making a few minor changes based on your findings and it snowballed into reworking most of the UI elements so I split off the Zeeweii-specific work to a new repo:
https://github.com/taligentx/ZeeTweak (https://github.com/taligentx/ZeeTweak)
Here are a few samples - the screens look a lot better on the scope, there are lots of aliasing artifacts when taking photos:
[attachimg=8]
[attachimg=1]
[attachimg=2]
[attachimg=3]
[attachimg=4]
[attachimg=5]
The home screen being an uncompressed 320x240 bitmap seems like a excessive use of space but it does create some options:
[attachimg=6]
Then of course with 16bpp, you can go further - the screen contrast isn't high but still can display photos just fine:
[attachimg=7]
Hopefully those with better graphic design skills can come up with a nicer images, for me this was a starting point to make the UI less of an eyesore. Any substantial changes will need reverse engineering of the code as @timschuerewegen started on with the DSO2512G so there's plenty of room for improvement.
-
So are DSO-3D12 and DSO-2512G pretty much the best cheap handheld scopes under $500 for those who don’t want to spend money on Micsig or Fluke?
Hi @GSN, I like the Zeeweii in the <$100 category (the DSO3D12 was ~$65USD + tax during 11.11 discounts). At $99 is the Dreamsource Labs DS4T252, which looks promising with its 1mV sensitivity, fast update rate, protocol decoders, and nice UI, though a slow signal generator (100kHz instead of 10MHz) and no DMM. I'm interested in seeing a head to head of these two scopes in case anyone gets both.
From $100-$500 there are many higher performing scopes and the Zeeweii should be thoroughly outclassed, but for many basic use cases it seems to work just fine.
-
Can you describe your process to find these?
Hi, taligentx. I did something similar on the ZX spectrum. :) Just wrote a simple program that displays bitmaps with tunable parameters. It's pretty easy. There is not so many possible formats to encode 1bpp graphics - differences mostly in bytes per line and bit direction in byte.
I've (not sure about legal status though) have disassembled firmware and discover it alot (not too difficult but labor-intensive work and still at square one). Some news - last 448 bytes in firmware - 224 word of palette (16bpp r/g/b). Oscilloscope renders all graphics into offscreen buffer 8bpp indexed color, and then translates that buffer to display module, converting these indices to 16bpp rgb using this palette colors. First 32 colors - basic and miscellaneous colors. Next 32 colors (32 through 63) - fixed gradient for ch1 (when selected "persists 1sec", signal pixels decremented in offscreen buffer by one - every frame, so it's fading. Too slow for my taste, i've replaced it with faster falloff, still too slow...). Color 63 used everywhere as ch1 color. Next 32 colors (64 through 95) - gradient for ch2, when it's green (magenta and cyan colors in this palette regenerates by program code, if color for ch2 changed to). Color 95 - used as ch2 color. And next large gradient (96 to 223) looks like used in "strange mode" posted by free0704 (probably, I don't know this for sure).
Display module looks like (or compatible to) Sitronix ST7789V2. Supports 18bpp color (reduced to 16bpp in our case - by hardware limitations) by itself, have its own framebuffer RAM, and complex command interface - all of this allows to draw good looking several menus ('cos it renders directly in display module), but main oscilloscope works in 8bpp. I don't think, that is possible to significant modify that behaviour in binary - without source code recompilation.
Also, would you mind if I add some of your mod files to my repo?
Yes, sure. Just feel free to use it as You wish. I don't use github or something, so my sharing caps are limited.
and it snowballed into reworking most of the UI elements
Oh, You did a great job. I'm still staring at disassembly listing.
P.S. I've redrawn trigger edge symbols pair, which appears at upper-right angle. Original symbols differs only by subtle arrow - not so noticeable. And fall edge not clear at all (looks like rising too). My version in attachment. Actually it is drawn with hardcoded size 10x13, even though it takes 16x14 bmp.
-
At $99 is the Dreamsource Labs DS4T252, which looks promising with its 1mV sensitivity, fast update rate, protocol decoders, and nice UI, though a slow signal generator (100kHz instead of 10MHz) and no DMM. I'm interested in seeing a head to head of these two scopes in case anyone gets both. From $100-$500 there are many higher performing scopes and the Zeeweii should be thoroughly outclassed, but for many basic use cases it seems to work just fine.
Not sure I'd want to risk touchscreen issues with DSTouch 252, I'd guess that it's not going to have an expensive touch screen, so likely to have the same issues as 1013D units. Is there any difference between 3D12 units sold by Zeeweii and random resellers on Amazon? I might have seen something about firmware variations?
What other handheld models are good in the under-500 USD category? I don't mind spending a little more for a better quality unit that will last. I just need to be able to measure minimum 2 channels on 240V mains and 12V automotive and basic audio signals. For DMMs I use Flukes and no need for a signal generator that I can think of.
I did something similar on the ZX spectrum.
Now that's a blast from the past. Had a ZX-128 version in the early 90s hooked up to Beryozka tv when I was growing up. Vaguely remember writing some basic code that my friends in school showed me to make a swirly graphics thing that looked similar to the XY mode on a scope.
-
What problems does the 1013D have with the touch screen?
-
I plan to buy an Oscilloscope. What is the better choice Zeeweii DSO3D12 or Fnirsi 1013D?
-
Zeeweii - the Fnirsi have fake specs (I think the real specs are
200MSps and 30MHz) and the lowest vertical setting is 100mV/div.
-
I plan to buy an Oscilloscope. What is the better choice Zeeweii DSO3D12 or Fnirsi 1013D?
Firstly, I don't understand how you can compare the two.
The Zeeweii is a “scopemeter” (DMM+oscilloscope), the Fnirsi is a touchscreen oscilloscope with some oddities.
Maybe you should first ask yourself what you generally prefer..
Neither of them are serious oscilloscopes in my opinion, but I would prefer the Zeeweii as a scopemeter.
https://www.beis.de/Elektronik/FNIRSI-1013D/FNIRSI-1013D_de.html (https://www.beis.de/Elektronik/FNIRSI-1013D/FNIRSI-1013D_de.html)
The cheapest “complete” oscilloscope is the Hantek DSO2C10.
It is far from perfect, but offers a hundred times more than these two.
Good oscilloscopes are somewhat more expensive:
https://www.batronix.com/versand/oszilloskope/Siglent-SDS804X-hd.html (https://www.batronix.com/versand/oszilloskope/Siglent-SDS804X-hd.html)
-
I plan to buy an Oscilloscope. What is the better choice Zeeweii DSO3D12 or Fnirsi 1013D?
It's a question of what you prefer - bigger screen or better specs.
I'd get the Zeeweii.
(nb. The FNIRSI specs for bandwidth+sample rate are complete lies)
-
In my view, the biggest problem with Fnirsi is not even a lie. It is the 50mV/div max. sensitivity from the specifications.
I have attached an example. This is the same signal three times.
With the Fnirsi you see at most the green signal (apparently, according to the text above, not even that works) and with the Zeeweii the yellow one. The gray one is from the Hantek.
With this poor sensitivity, you simply can't see many things.
-
Sensitivity is 100mV, 50mV is just software multiplication *2. Alternative software for 1013 does not suffer from the deadband. 1013D has a huge advantage of a touch screen, by the time you set it up on Tamagotchi oscilloscopes, with 1013 you already have the measured and stored scope.
-
What problems does the 1013D have with the touch screen?
My understanding is that those screens often go out and, in general, the whole unit seems to easily brick itself. Reviews on US Amazon marketplace are not the greatest and it's marked as a "frequently returned" item. Most people reviewing those on YouTube are still on their first month and in the honeymoon period. Although I must admit that the touchscreen interface and the features look very tempting based on the review videos. Several people also mentioned that it's not quite true to spec.
I plan to buy an Oscilloscope. What is the better choice Zeeweii DSO3D12 or Fnirsi 1013D?
From what I've read, I believe that DSO 3D12 takes better measurements than 1013D, also less chances that it will stop working.
The cheapest “complete” oscilloscope is the Hantek DSO2C10.
It is far from perfect, but offers a hundred times more than these two.
Good oscilloscopes are somewhat more expensive: Siglent[/url]
And yes, for those looking for a better primary scope for not a whole lot more, Siglent or Rigol benchtop units seem to be a better choice, but they are not as portable as handhelds and don't run on batteries, so not the best for automotive or main panel work.
-
Here's the nice thing, get the Zeeweii, figure out what you really need and if it's more then get a Siglent or Rigol bench scope. I have both and they both have their place as mentioned above regarding battery operated and portable or more feature oriented but desk bound.
-
Sensitivity is 100mV, 50mV is just software multiplication *2. Alternative software for 1013 does not suffer from the deadband. 1013D has a huge advantage of a touch screen, by the time you set it up on Tamagotchi oscilloscopes, with 1013 you already have the measured and stored scope.
I don't want to downplay touch screens but i'll take issue with the "tamagotchi" comment.
Zeeweii's "Auto" buttons work really well and the DSO3D12 being discussed has separate buttons for horizontal+vertical.
-
Yes, I see that it allows you to change the channel sensitivity and time base directly with the buttons. Moreover, the buttons are labeled. Compared to the z703, it looks like it has better control.
-
How does the +Bandwidth.-Bandwidth display in automatic measurement mode?
The following response was received from the manufacturer:
Since such waveforms are actually debatable, I recommend using cursors for measurements. Press "Shift"->"s" to open the time cursor.
For example, in the image below, it is hard to determine whether the negative pulse width is A or B. With an oscilloscope, it is really hard to judge.
width-.jpg
-
How does the +Bandwidth.-Bandwidth display in automatic measurement mode?
The following response was received from the manufacturer:
Since such waveforms are actually debatable, I recommend using cursors for measurements. Press "Shift"->"s" to open the time cursor.
For example, in the image below, it is hard to determine whether the negative pulse width is A or B. With an oscilloscope, it is really hard to judge.
width-.jpg
That was an "impossible" waveform. Cursors are the ONLY way to measure that.
Any serious discussion of that waveform is pointless. :-//
-
I think there are still some bitmaps for the signal generator screens that are still hiding in the firmware somewhere (unit labels like KHZ, MHZ, % symbol, etc).
Well, I've found it... |O Some of the images (there are tons of different solutions for similar tasks in the firmware) are stored in a slightly compressed and menu parametrized format (still 8bpp indexed colors). That is, it is already drawn immediately with cursor colors and other things, depending on program variables. The bad thing here is that the volume of the modified image is difficult to predict, in order to fit it into the same memory area as original.
And the converter into that image format will have to be written - it is proprietary (I'll try to describe it a bit later). The attachment contains an example of the image, rendered with different cursor positions (then firmware draws digits and waveform over it). I've found 3 such images: the background of a "small" generator (as in the attachment), on/off and Hz/kHz/MHz switches (these two are different images) - of a full screen one.
-
I'll try to describe it a bit later
Here is drawing function code, reconstructed in some sort of pseudocode:
Draw(uint16[] Image, uint32 Mask)
{
idx = 0;
outX = 0;
outY = 0;
maxX = Image[idx++]; // image width
maxY = Image[idx++]; // image height
while (outY < maxY)
{
len = Image[idx++];
code = Image[idx++];
color0 = (code >> 6) & 31;
color1 = code & 31;
zone = (code >> 11) & 31;
baseColor = code & 255;
zoneMask = 1 << zone;
while (len != 0) // note that pixel series may be wrapped to next outY!! It is possible to fill entire rectangle with 1 pair of len/code.
{
if ((code & 32) == 0)
{
if (code != 65503)
SetPixel(outX, outY, baseColor);
}
else
{
if ((zoneMask & Mask) == 0)
SetPixel(outX, outY, color0);
else
SetPixel(outX, outY, color1);
}
len--;
outX++;
if (outX == maxX)
{
outX = 0;
outY++;
if (outY == maxY)
return;
}
}
}
}
There are three such images:
fls file offset size description "Mask" at call
327368 1256 Hz/kHz switch main gen (1 << FreqMultiplier)
328624 708 On/Off switch main gen 1 == On, 2 = Off
329332 3864 menu base small gen (1 << (FreqMultiplier + 16)) | (1 << CurPos)
FreqMultiplier: 0 - Hz, 1 - kHz, 2 - MHz
CurPos = 0..8: 0..4 - frequency, 5 - frequency multiplier, 6..8 - duty.
I can’t imagine how to write a viewer of, and converter to this format without writing some sort of graphic editor. :-//
-
Well, I've found it... |O Some of the images (there are tons of different solutions for similar tasks in the firmware) are stored in a slightly compressed and menu parametrized format (still 8bpp indexed colors). That is, it is already drawn immediately with cursor colors and other things, depending on program variables. The bad thing here is that the volume of the modified image is difficult to predict, in order to fit it into the same memory area as original.
And the converter into that image format will have to be written - it is proprietary (I'll try to describe it a bit later).
(...)
I can’t imagine how to write a viewer of, and converter to this format without writing some sort of graphic editor. :-//
Wow nice job finding those, it's quite the hodgepodge of formats and compression schemes. For myself, I don't see the compressed images as having any serious issues that would warrant the effort to change them. Even if the firmware gets to a compilable state (this would be amazing!) and can have different memory sizes, it would still probably be low priority to rework these.
Also I'm sure you've already mapped this, but the boot logo is at offset 0x24D1C, 1792 bytes. It's also RLE compressed with a color index to the color palette that you found. I've added a script (tools/zrle2bmp.py) that will convert it to a standard RGB565 bitmap:
[attachimg=1]
'''
zrle2bmp.py 1.0 - Convert Zeeweii compressed images to bitmap
Zeeweii DSO3D12 firmware contains both uncompressed and compressed image data. This script
converts Zeeweii's custom RLE compression to a standard RGB565 bitmap, keeping the original
color palette (offset 0x73F6C, 448 bytes).
Requirements: pip install pillow
Compressed image data format:
- Header
- Bytes 0-1: width
- Bytes 2-3: height
- Image data
- Bytes 0-1: pixel run length
- Bytes 2-3: color index from Zeeweii color palette
Compressed images:
- Boot logo (offset 0x24D1C, 1792 bytes)
Offsets and sizes are based on firmware 3.0.6-III.
'''
import struct
import sys
from PIL import Image
# Zeeweii firmware color palette, RGB565
DSO3D12_PALETTE = [0x0000, 0xFFFF, 0xF800, 0x07E0, 0x001F, 0xFFE0, 0xF81F, 0x07FF, 0xCE59, 0xFE41,
0x2945, 0x630C, 0xA514, 0xD69A, 0x0969, 0x228E, 0x0250, 0x1D3A, 0xF81F, 0xFA80]
def convert_zrle(input_file, output_file=None):
with open(input_file, "rb") as f:
data = f.read()
# Read width (2 bytes) and height (2 bytes), little-endian
width = struct.unpack_from("<H", data, 0)[0]
height = struct.unpack_from("<H", data, 2)[0]
print(f"Decoding {width}x{height} image...")
pixels = []
idx = 4 # Start after width/height
while idx < len(data):
run_length = data[idx]
color_index = data[idx + 1]
idx += 2
if color_index >= len(DSO3D12_PALETTE):
print(f"Warning: Color index {color_index} out of bounds, using black.")
color = 0x0000
else:
color = DSO3D12_PALETTE[color_index]
pixels.extend([color] * run_length)
# Verify pixel count
if len(pixels) != width * height:
print(f"Warning: Pixel count mismatch! Expected {width * height}, got {len(pixels)}.")
pixels = pixels[:width * height]
# Convert to raw RGB565 bytes
bmp_data = b"".join(struct.pack("<H", p) for p in pixels)
if output_file is None:
output_file = input_file.rsplit('.', 1)[0] + ".bmp"
# BMP header
file_size = 72 + len(bmp_data)
bmp_header = struct.pack(
"<2sIHHIIiiHHIIIIIIIIII",
b"BM", file_size, 0, 0, 70, 56, width, -height, 1, 16, 3, len(bmp_data),
2835, 2835, 0, 0, 0xF800, 0x07E0, 0x001F, 0x0000)
with open(output_file, "wb") as f:
f.write(bmp_header)
f.write(bmp_data)
print(f"Image saved as {output_file}")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python3 zrle2bmp.py <input_file> [output_file]")
sys.exit(1)
input_filename = sys.argv[1]
output_filename = sys.argv[2] if len(sys.argv) > 2 else None
convert_zrle(input_filename, output_filename)
I've also updated the mod.fls - some new graphics, changed the persistence label to 3s (measured it), etc: https://github.com/taligentx/ZeeTweak (https://github.com/taligentx/ZeeTweak)
-
Is there any difference in DSO3D12 units from Zeewei versus other sellers? I prefer Amazon and it seems like all units currently listed there are sold by other companies besides the manufacturer.
Zeeweii made hardware changes in the -III generation (for example, switching the FPGA from AG1KLPQ48 to AG32VF303), so older hardware (with v1.x firmware) is not compatible with the current v3.x-III firmware. The same happened with the DSO2512G.
If buying from a third-party seller, I would ask the seller if the scope is the current generation/firmware (just to have something in writing) and buy from a platform with a good return policy in case you get old stock.
-
I've (not sure about legal status though) have disassembled firmware and discover it alot (not too difficult but labor-intensive work and still at square one).
Can you elaborate a bit on this? Process, tools, goals (any particular features you're looking to implement, etc). Disassembling/decompiling is such a useful skill, it'd be great to hear more about it.
I've been poking around just to get more familiar, but for example I've run into issues even at the first steps to disassemble c-sky. My notes so far:
- objdump (XuanTie (https://www.xrvm.cn/community/download)): their csky-elfabiv2-tools-x86_64-*.tar.gz archives seem to have the only version of objdump that actually interprets both 16 and 32-bit instructions.
- The W806 chip uses the XT804 core but this processor isn't explicitly listed in objdump --help. ck800, ck803, ck805, ck807, ck810 all produce identical dumps, ck801/ck802 produce incorrect dumps. This GCC patch note (https://gcc.gnu.org/legacy-ml/gcc-patches/2018-07/msg01289.html) is a handy overview of the variants, I used ck803 and attached the dump to this post.
- Note: it's now possible to use an email address to download, many websites state that a domestic China mobile phone number is required but this is no longer the case.
- objdump (original (https://sourceware.org/binutils/)): c-sky support is upstreamed and I've built the latest binutils with the target set to csky but objdump isn't handling 32-bit instructions at all.
- Same issue noted on stackoverflow (https://reverseengineering.stackexchange.com/questions/32676/firmware-disassembler-for-c-sky-processor-ck803s) - the poster asked about this everywhere (stackoverflow, sourceware mailing list, c-sky github) and didn't get an answer. I felt their pain, reminds me of this XKCD comic (https://xkcd.com/979/).
- Ghidra (https://ghidra-sre.org) + ghidra_csky plugin (https://github.com/leommxj/ghidra_csky): claims to support the v2 ISA but doesn't correctly interpret some instructions as being 32-bit, the logic to detect this is simple so it's a little strange to have this issue.
- Rizin (https://rizin.re): supports c-sky as an mcore derivative, checked it briefly out in Cutter (https://cutter.re).
- IDA: doesn't support c-sky as far as I can tell
Also a few notes for wishlist features - if nothing else, to send to Zeeweii in case there's a non-zero chance that they'll keep working on the firmware:
- Serial data interface - there's no native USB like the DSO2512G but I've been flashing through the USB/serial chip at 2Mbit/s reliably so UART may be quick enough for some realtime data. If the number of UARTs is a constraint, may be possible to reallocate (choose UART between external or the voice chip, etc).
- DMM graphing - seeing DMM values over time would be useful, I'm a little surprised this isn't a more common feature on the 3-in-1 type scope meters.
- CH2 initial position - should be zeroed like CH1 but Zeeweii intentionally places CH2 a little higher when first enabled so you can see that it's there. It gets placed into normal position if you hit Auto after enabling CH2 but still counter-intuitive because the measurements are still correct as though the signal is centered even while the display is offset. This actually is already implemented by @timschuerewegen on the DSO2512G.
- Saved waveforms - move the image counter, currently obscures cursor measurements. Could put it over the battery icon.
Edit: should probably actually attach the file
-
Also I'm sure you've already mapped this, but the boot logo is at offset 0x24D1C
No, I don't. Another different format... Interesting. But how did You find this logo picture, without knowledge how it is decoded?!
Process, tools, goals
I've started from this topic: https://reverseengineering.stackexchange.com/questions/14596/c-sky-cpu-reverse-engineering (https://reverseengineering.stackexchange.com/questions/14596/c-sky-cpu-reverse-engineering). And don't remember details - I made a lot of attempts and finally got a little confused. I think, it was the "objdump -D -b binary -m csky file.bin" line, with image1 input file, that worked. After getting the listing I focused on it. I think my listing is not ideal - sometime it looks very strange (worse, I couldn't find the full c-sky ISA manual, and the document I've found doesn't have all the commands which I see in the listing). But for the most part the text is understandable - enough for me, I didn't mean to get too deep into it.
A great help in disassembling is the fact that many subroutines contain a commands to load constants from program memory (lrw) - and these constants are most often located immediately after corresponding subroutine (since lrw command have pc relative form). So, code looks like this (from your listing):
801b3c8: 1050 lrw r2, 0x2001dca8 // 0x801b408 - load const 0x2001dca8 from address 0x801b408
...
801b3d2: 102f lrw r1, 0x2001a124 // 0x801b40c - load const 0x2001a124 from address 0x801b40c
...
801b404: 783c jmp r15 // subroutines returns with "jmp r15". And "pop" instruction (I didn't read the manual carefully :-[ )
801b406: 0000 bkpt // padding word - not a command actually, aligns constant block to dword address margin
801b408: dca82001 st.w r5, (r8, 0x4) // not a code, it is referenced at address 801b3c8 as a const. Least word first.
801b40c: a124 st.b r1, (r1, 0x4) // next two lines are not a code again, actually it is dword constant
801b40e: 2001 addi r0, 2 // referenced from 801b3d2
----------------------------
next_func:
801b410: 14d2 push r4-r5, r15 // subroutines often begins with push, but not always.
Sometimes large subroutine contains such a block of constants in the middle, but you can always check for the presence of a corresponding call to the subroutine with the bsr command to this address. This makes it easier to separate the listing into parts. Also, keep in mind, that most of code jumps relative to PC, but constants are referenced by absolute address. Our fls file consists of two images, the larger one (I didn't look at the smaller one at all) - Image1, our point of interest - loads in the controller at base address 0x8010400, so, for example, if some image located at offset 0x100 from image1 beginning, in code it is referenced by address 0x100 + 0x8010400 = 0x8010500. The last constant is what we should look for (so, offsets from beginning of fls file is not very convenient - you have to constantly recalculate).(Your listing is not affected by this problem) Well, and if You are interested, I can make a short list of functions whose purpose I was able to determine - this also significantly simplifies navigation in the text.
Goals... Initially I wanted to find a way to fix the graphics. But after it became clear that without recompilation it would not be possible to achieve much, and the program was written poorly and chaotically and picking at it became not so fun... I simply continued looking for graphics that had not yet been found - like the generator menu. I think I'll make an editor for this menu, anyway, and then it will probably time to stop. It's a very labor-intensive and time-consuming task, and there's no particular goal in sight, yes, You're right.
Also a few notes for wishlist features - if nothing else, to send to Zeeweii in case there's a non-zero chance that they'll keep working on the firmware:
- Serial data interface - there's no native USB like the DSO2512G but I've been flashing through the USB/serial chip at 2Mbit/s reliably so UART may be quick enough for some realtime data. If the number of UARTs is a constraint, may be possible to reallocate (choose UART between external or the voice chip, etc).
- DMM graphing - seeing DMM values over time would be useful, I'm a little surprised this isn't a more common feature on the 3-in-1 type scope meters.
- CH2 initial position - should be zeroed like CH1 but Zeeweii intentionally places CH2 a little higher when first enabled so you can see that it's there. It gets placed into normal position if you hit Auto after enabling CH2 but still counter-intuitive because the measurements are still correct as though the signal is centered even while the display is offset. This actually is already implemented by @timschuerewegen on the DSO2512G.
- Saved waveforms - move the image counter, currently obscures cursor measurements. Could put it over the battery icon.
I don't think that first two of wishes achievable without Zeeweii's participation. But last two looks like they can be achieved by editing the binary code. I'll have to take a look.
Edit: should probably actually attach the file
I didn't see it at first... I like your listing. At first glance it looks better than the one I got.
I've been poking around just to get more familiar
And, I would say, taught me more than I taught you. :) Never heard about Cutter/Rizin (but it looks like the Cutter doesn't support c-sky for real). I'm parsing plain text listing, using Visual Studio Code just as good and fast text editor.
-
In my view, the biggest problem with Fnirsi is not even a lie. It is the 50mV/div max. sensitivity from the specifications.
I have attached an example. This is the same signal three times.
With the Fnirsi you see at most the green signal (apparently, according to the text above, not even that works) and with the Zeeweii the yellow one. The gray one is from the Hantek.
With this poor sensitivity, you simply can't see many things.
For sure 50/100mV/div is not really a good sensitivity. I agree on that. But I’m not sure are there a lot of signals where I need < 10mV/div…… and DSO3D12 is good enough for me.
-
- Saved waveforms - move the image counter, currently obscures cursor measurements. Could put it over the battery icon.
Well. This counter have no fixed width (it depends of numeric values) and displayed relative to some upper-left corner - so, it is hard to put it exactly over battery icon. In original FW, coordinates of this block are [x0, y0] = [10, 18]. In attachment version relocated to [220, 0] (begins at trigger mode icon).
How to do it at your own (disclaimer for everyone: Don't do anything that you don't understand how it works or how to get things back!). There are 44 bytes in our fls (see image) three marked red - y0 coordinate (0x12 == 18), greens: 0xA == 10 == x0 coordinate, 0x9 == 10(x0) - 1(other instruction, it encoded with value, decremented by one) and 0x13 == 10(x0) + 10(space for '/' delimiter which is 10 for "large" font) - 1(value encoded decremented again). Drawing doesn't cut off at the screen borders, so you need to set the coordinates so that the text fits on the screen. Especially for y0, which should not be greater than 224.
- CH2 initial position - should be zeroed like CH1 but Zeeweii intentionally places CH2 a little higher when first enabled so you can see that it's there. It gets placed into normal position if you hit Auto after enabling CH2 but still counter-intuitive because the measurements are still correct as though the signal is centered even while the display is offset. This actually is already implemented by @timschuerewegen on the DSO2512G.
I don't understand the problem. Measurements are formed relative to the zero level. And the zero level for ch2 is slightly shifted so that the channels do not overlap. I immediately drag channels apart even more. Do you need the zero level to be set strictly to the center for both channels?
-
Hello everyone.
How to check what is my current FW version?
Check version: Menu->DMM,and then long press "V(ch1)" button.
it doesn't work for me.I'm afraid I have an old version
-
Are you sure that you used the correct key sequence?
I received my Zeeweii DSO3D12 three weeks ago with firmware v3.0.6-III.
In the meantime I flashed successfully the ZeeTweak from taligentx. Many thanks :)!
Indeed the description of the key sequences could be a little bit ambiguous, since the outer left keys from „Stop“ to „DMM“ turn to function keys,
if the key „Menu“ is pressed.
In order to get the firmware release you should press button „Menu“ first, after that press button „DMM“ (= option „Set“ as displayed in the LCD).
You should now see the following window as depicted here: https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5783625/#msg5783625 (https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5783625/#msg5783625) - see first and second screenshot. Please note the red arrow at the "Set" option - that's important.
Finally long press the „V(ch1)" button (= lower part of the „ch1“ key) - the firmware release should be displayed.
-
Thank you very much for the instructions. I was indeed pressing the wrong order of keys. I have version 3.0.6-III. :-+
-
Hello everyone. I receive my DSO3D12 7 days ago. I have version 3.0.6-III. :-+
-
I've been playing around with the Ghidra-csky plugin, I was curious to see what it would take to get closer to the objdump disassembly listing. Here's a first pass at adding the missing instructions, the updated plugin is in Releases:
https://github.com/taligentx/ghidra_csky_ck804 (https://github.com/taligentx/ghidra_csky_ck804)
The listing is much closer match to objdump now. Big caveat, the focus was on the listing so most of the new instructions don't have work code attached (they'll show up with a placeholder stub() in the decompiler output, also listed in Instructions.md above with a *). So far I've only filled out a few of the instructions with work code - stuff that seemed important for function boundaries and control flow (like bnezad).
Next steps are to figure out which instructions are highest priority to get better listing and decompiler output, I'm not familiar with assembly so I'm open to any and all input. There are tons of errors but it's a starting point.
[attach=2]
Added a disassembly directory to the zeeweii repo, here's a barebones Ghidra project with the firmware disassembled (including bootloader) and memory mapped for sram, peripherals, etc. Steps: run Ghidra, install the ghidra_csky_ck804 plugin, restart and use File > Restore project with dso3d12_3.0.6_ghidra_v0.1.gar:
https://github.com/taligentx/ZeeTweak/ (https://github.com/taligentx/ZeeTweak/)
The memory mapping is complete overkill right now, Ghidra is showing references scattered everywhere (even in places that are supposed to be reserved) so until the disassembly and decompiler is happier I'll leave the memory as-is. The Program Tree window can set the view to just certain sections of the code. Speaking of memory, here's a firmware map:
https://github.com/taligentx/ZeeTweak/wiki/Zeeweii-DSO3D12-3.0.6-III-firmware-map (https://github.com/taligentx/ZeeTweak/wiki/Zeeweii-DSO3D12-3.0.6-III-firmware-map)
I noted the section that I suspect is the FPGA firmware, it's in a similar location as the previous gen firmware that used a different FPGA. Also, that section disassembles decently as RISC-V which would match up with the AG32VF303 MCU/FPGA.
Well. This counter have no fixed width (it depends of numeric values) and displayed relative to some upper-left corner - so, it is hard to put it exactly over battery icon. In original FW, coordinates of this block are [x0, y0] = [10, 18].
I'm amazed you found that by just looking at the assembly. Here's what Ghidra currently thinks of that section:
[attach=1]
I think my listing is not ideal - sometime it looks very strange (worse, I couldn't find the full c-sky ISA manual, and the document I've found doesn't have all the commands which I see in the listing).
The objdump listing definitely has issues, after seeing how the Ghidra plugin works it looks flexible enough to do a better job. For the c-sky docs, I found the same issue, some missing instructions (bnezad, all DSP instructions). There's an updated ISA from Xuantie, it also has the DSP instructions (Xuantie E804 User Manual 2.0 2024):
https://github.com/taligentx/ZeeTweak/tree/main/disassembly/docs (https://github.com/taligentx/ZeeTweak/tree/main/disassembly/docs)
Also translated the Winner Micro W80x manual which has the memory ranges. Neat to see stuff pointing at the peripherals like UARTs, GPIOs, etc.
-
Here's what Ghidra currently thinks of that section:
Oh, no. It's much easier to read, when you know what function (and its arguments) hides behind bsr 0x0123abcd. Same point in your listing:
[attach=1]
And no, both of 0x8027400 and 0x8027320 happily returns. It's unclear, for which of two functions, Ghidra says that it doesn't return, but if it's for 0x8027320, maybe it's because of return via pop instead of jmp?
In txt file are most of the addresses I know. Some of them are not complete, there may be errors, but I hope it would be helpful.
-
Strange, I've got firmware 3.0.6III, I go through the flashing process with Update tool v1.5.9, Load dso3d12_v3.0.6_III_mod_v2.0.fls, it tells me "0 lost, file success", reboots automatically but I'm still on old graphics.
-
Hi all,
my DSO3D12 just failed after 6 months of really ocassional use. I believe it was a first really full charge cycle from zero to hero ;). I used my trusty 5V/2A charger without any QC functions. Unfortunately I did not monitor a charge process - i just found the DSO hot after 3 or 4 hours of being connected. The battery connector is currently shorted, but the PCM did the job - the battery voltage is 4.1V. There is no heatsink on IP2312 (board version 2.0-III) an the IC clearly was on the way to desolder itself. Hopefully it's the only electronic damage... unfortunately the PCB under IP2312 is overheated and slightly puffed.
I sent an email and message to Zeeweii asking for contact, but they did not answer.
Edit: After removing fried IP2312 the DSO works :) .
-
Good afternoon.
I would like to add information that under the speaker there is also a microcircuit SGM8091. This is probably the output amplifier of the signal generator. You can see it on the side of the speaker. (Board version 2.0.1-III).
-
Strange, I've got firmware 3.0.6III, I go through the flashing process with Update tool v1.5.9, Load dso3d12_v3.0.6_III_mod_v2.0.fls, it tells me "0 lost, file success", reboots automatically but I'm still on old graphics.
Downloading the Zip archive of the whole project now contains a .fls with all mods.
-
Hi everyone,
I just wanted to let you know that I converted the initial script for flashing the Winner Micro MCU (https://github.com/winnermicro/wm_iot_sdk/blob/master/tools/wm/flash.py) to Rust. Now, it is available as a small executable utility for MacOS/Linux/Windows. You won't need to install Python just to flash an oscilloscope anymore.
See binaries https://github.com/rssdev10/wm-tools/releases or the source code (https://github.com/rssdev10/wm-tools)
It was successfully tested on a MacOS ARM64. However, I am limited in what I can use for testing on other operating systems. If there are any problems, please create a github issue.
-
Good afternoon!
I wonder what functions can be changed by firmware only for the W806 controller, except for the design of the display output forms. Is it possible to firmware another AG32 controller?
-
Hello there!
First time posting here, I guess I'm entering my electronics arc finally for real ;D
I bought and received `ZEEWEII DSO3D12` this month (from AliExpress, for around 75 USD) and finally found some time to mess with it a little.
I got it with firmware version `v3.0.6-III` installed.
The hardware is version `V2.0.1-III` as you can see on the photos below.
It's using LMV358 instead of OPA1612 from previous revision, which is a downgrade I suppose?
For reference I'm also attaching logs from connecting it via USB to a computer.
kernel: usb 3-7: new full-speed USB device number 65 using xhci_hcd
kernel: usb 3-7: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice=81.34
kernel: usb 3-7: New USB device strings: Mfr=0, Product=2, SerialNumber=0
kernel: usb 3-7: Product: USB Serial
kernel: ch341 3-7:1.0: ch341-uart converter detected
kernel: usb 3-7: ch341-uart converter now attached to ttyUSB0
mtp-probe[1381643]: checking bus 3, device 65: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-7"
mtp-probe[1381643]: bus: 3, device: 65 was not an MTP device
mtp-probe[1381650]: checking bus 3, device 65: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-7"
mtp-probe[1381650]: bus: 3, device: 65 was not an MTP device
Thunar[1381646]: thunar-volman: Unsupported USB device type "usb".
Thunar[1381656]: thunar-volman: Unsupported USB device type "ch341".
Bus 003 Device 065: ID 1a86:7523 QinHeng Electronics CH340 serial converter
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x1a86 QinHeng Electronics
idProduct 0x7523 CH340 serial converter
bcdDevice 81.34
iManufacturer 0
iProduct 2 USB Serial
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0027
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 104mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1 [unknown]
bInterfaceProtocol 2
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)
And I have some questions to y'all.
1. It's still not possible to get saved images easily out?
2. How did you, @taligentx, got a firmware dump from your scope? I assume so because I've seen your repo on GitHub with patches/extensions of it over 3.0.6 firmware version that I don't see on manufacturer's website. Can you share information about it? I'd like to dump mine before I break it XD
3. Can you change color of first channel in UI? I haven't got yellow plastic rings for my probe (I got 4 other colors, tho) and it annoys me, haha!
4. I've played around that USB device that appears also looked into WM IoT SDK source code. Is it really only useful for flashing firmware onto the device and nothing else? I got connected to it via serial but all I managed to get back was `dmm uart init` message, didn't want to mess it up with writing anything to it because I'm not sure how it's supposed to work, ha.
Cheers!
-
3. Can you change color of first channel in UI?
This color defined in palette as i described earlier here:https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5801057/#msg5801057 (https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5801057/#msg5801057). Just override corresponding palette partition to any colour You like.
-
Since around 2025-07-01 (as per the HTTP response headers), http://www.sigpeak.com/support.html (http://www.sigpeak.com/support.html) provides a beta firmware zipfile:
http://www.sigpeak.com/download/dso3d12_III_Beta.zip (http://www.sigpeak.com/download/dso3d12_III_Beta.zip)
$ md5sum dso3d12_III_Beta.zip
fe88e03c3be6efaaff617816ecc13b4f dso3d12_III_Beta.zip
contents:
file name | byte size | timestamp | md5sum
-----------------------------+-----------+------------------+---------------
dso3d12_v3.0.6_III_beta0.fls | 476244 | 2025-05-05 18:28 | 34c495dcbcb82f7dbafdc534a0da9037
dso3d12_v3.0.6_III_beta1.fls | 476772 | 2025-07-01 16:04 | d69852caef487d4d6f18c413975a6f8d
'read me.txt' | 824 | 2025-07-01 16:30 | bca990decdae56d125c6f0a5b7c0bdc1
'read me.txt' contents (excessive newlines removed):
***************************************** DSO3D12 (III) beta version**********************************************
This firmware is only available for new versions of hardware.
So before upgrading, make sure your device version number is the V3.0.6_III version!
Beta0:
Share raw data to PC (UART baud rate 115200):
In "Stop" mode, open Menu->Meas(ch1) , then long press the "Save" button.
Beta1:
Add function: Send multimeter data (string). Only works in the full-screen interface
Note:
If you are using the "Upgrade Tools Vxx.exe" software on your PC to receive data, please power on like this:
Press and hold the power button, then enable the serial port in the PC, and then release the power button.
so it is recommended that you use other serial port software.
I'm wondering about the meaning of "make sure your device version number is the V3.0.6_III version":
- My DSO3D12 has the marking V2.0-III on its PCB
- Its currently installed firmware/software version is reported as v3.0.4-III (via Menu > Set (DMM) > press and hold "ch1 V" for 1 second)
Do you think these conditions allow for installing those beta firmwares?
-
After the ZEEWEII support replied to me and confirmed that the the dso3d12_v3.0.6_III_beta firmwares are compatible with my DSO3D12 hardware revision (PCB version "V2.0-III"), I flashed dso3d12_v3.0.6_III_beta1.fls onto it.
Indeed the firmware version is now reported as v3.0.6_III-Beta1:
[attachimg=1 width=800]
Then I tried out the USB functions mentioned in read me.txt:
In "Stop" mode, open Menu->Meas(ch1) , then long press the "Save" button.
Send multimeter data (string). Only works in the full-screen interface
Having my oscilloscope connected to my computer, the moment I enter either mode, I see the oscilloscope's USB UART bridge (in my case /dev/ttyUSB0) continuously disappear, then reappear every five seconds.
And/but in the moment I try to open the port, the oscilloscope turns off:
$ tio --baudrate 115200 /dev/ttyUSB0
# ... oscilloscope turns off / goes dark
# ... sound of oscilloscope-internal relais clicking
In general, with a USB cable connected between my computer and the oscilloscope, and the oscilloscope turned on, I see my computer set up the USB connection with the WCH CH340N chip (ID 1a86:7523 QinHeng Electronics CH340 serial converter). But the oscilloscope shuts down at the moment I try to open its /dev/ttyUSB0.
So at least for me, the new features to read measurement data from the oscilloscope do not work (yet).
-
From your screenshot, their firmware still uses the same crappy font :(
Regarding your transferring issue, is the feature supposed to send the current screen, or is it meant to send a saved screenshot? If the latter, then maybe your trying to do something other than what it's supposed to do, but I can understand your point that if the connection drops as soon as you try to initiate a transfer, then it's not going to work either way!
-
I still haven't tried new beta versions.
Still waiting if anyone knows how to dump firmware from the device or rather if it's possible (I'm on v3.0.6-III).
I've asked the ZEEWEII by email to send me .fls firmware file for my version, got it, but now I'm even more confused.
It's different from one that @taligentx shared (https://github.com/taligentx/ZeeTweak/blob/main/Zeeweii_DSO3D12/dso3d12_v3.0.6_III.fls) although have same number of bytes.
File | from linked GitHub | from mail I just got |
----------|------------------------------------------|------------------------------------------|
Size | 475436 bytes | 475436 bytes |
SHA-1 sum | 229aa6bd4ff3e4118a46b79d6bc541e5bf022951 | ab32ca2ec2e378513013594a5556a75f6167c236 |
A lot of bytes differ from 0x07BB4 to 0x73DE4. But all strings look pretty much the same.
-
I still haven't tried new beta versions.
Still waiting if anyone knows how to dump firmware from the device or rather if it's possible (I'm on v3.0.6-III).
I've asked the ZEEWEII by email to send me .fls firmware file for my version, got it, but now I'm even more confused.
It's different from one that @taligentx shared (https://github.com/taligentx/ZeeTweak/blob/main/Zeeweii_DSO3D12/dso3d12_v3.0.6_III.fls (https://github.com/taligentx/ZeeTweak/blob/main/Zeeweii_DSO3D12/dso3d12_v3.0.6_III.fls)) although have same number of bytes.
I went thru the posts in this thread, but I got lost after some time. Way too much information.
As a general rule, I tend to follow the manufacturers support websites for firmware downloads and update instructions.
But in this case I see that the manufacturer published some mismatched information.
The Zeeweii support page lists only one stable firmware package - "v3.0.5_III stable version".
They do not list any v3.0.6-III version.
See here: http://www.zeeweii.com/support.html (http://www.zeeweii.com/support.html)
They also have a link to the Beta version as well: http://www.zeeweii.com/download/dso3d12_III_Beta.zip (http://www.zeeweii.com/download/dso3d12_III_Beta.zip)
But then this Beta read me.txt file instruct the users to have the V3.0.6_III version installed as a pre-condition (!?)
What is the point of requiring the V3.0.6_III installed before updating to the Beta, when the latest available firmware is the v3.0.5_III ?
-
I am considering the acquisition of one unit to play with.
The asking prices in AliExpress are around 100 EUR on the two official Zeeweii shops on AliExpress.
But other shops on AE are selling them around the 85 EUR mark.
Besides the PCB/Firmware version 1, is there any other indicator that tells whether the unit is the older or the newer version?
Are the unit cabinets and controls/sockets identical between versions?
-
What is the point of requiring the V3.0.6_III installed before updating to the Beta, when the latest available firmware is the v3.0.5_III ?
I think V3.0.6_III means not only a FW but also a modified HW version.
If your device was not delivered with FW V3.0.6_III, you probably do not have the HW requirements for “beta”.
That's how I understand it.
-
I would not bother with the 'beta' version. if you really want it, you will have to contact them through support (directly) and request it. But seriously, I see nothing wrong with the current version.
-
I would not bother with the 'beta' version. if you really want it, you will have to contact them through support (directly) and request it. But seriously, I see nothing wrong with the current version.
Thank you for the information.
I rarely install Beta versions on my equipment, unless I really need a specific feature in it, or when doing debug for the manufacturer after having requested a bug fix or new feature.
I have just ordered the cheaper unit I could find on AliExpress.
I will report later on on the PCB hardware version. I am confident that the old version 1 PCB assemblies are gone by now.
-
I think V3.0.6_III means not only a FW but also a modified HW version.
If your device was not delivered with FW V3.0.6_III, you probably do not have the HW requirements for “beta”.
That's ok, I will request it by mail if necessary.
I have just ordered the cheapest unit from AliExpress.
Paid 86 EUR shipping included.
The older PCB version 1 must be out of stock by now, I hope.
-
The older PCB version 1 must be out of stock by now, I hope.
I would think so. I got mine more than a year ago and it had the latest HW in it.
-
From the published pictures, videos and analysis from fellow members here and elsewhere on this Zeeweii DSO3D12 model, there are at least three PCB Assembly versions:
Most components are shared between versions, with some differences:
- W806-C200 MCU running at 40.000MHz external clock
- AG32VF303CCT6 MCU_ASIC_FPGA running at 25.000MHz external clock (V1.1 is a No_Marking_IC - Probably a AG1KLPQ48)
- No_Marking_IC DMM ASIC 6000 counts True-RMS running at 8.000MHz external clock - Probably a SD7501 by Hangzhou SDIC Microelectronics (See note 1)
- US665P31 Speech Recognition by Unisound (AC24BP1Z95610 by JL/JieLi, custom media processor) running at 24.000MHz
- MB10F Bridge Rect. and one PTC for DMM Input Protection
- 74HC595D DMM Control/Buffer?
- π121U DMM Dual-Channel Digital Isolators
- EL817 DMM isolation Opto-Couplers (V1.1 uses two of them, other versions jut one)
- Galvanic Transformer DMM isolation
- HFD4/3 Mechanical Relay DMM selector
- HFD4/3[/b] Mechanical Relay Vertical selector - One per channel)
- M440A SS_relay Vertical AC/DC selector - One per channel)
- 74HC4051 single-pole octal-throw analog switch Vertical - One per channel)
- LMW358 Vertical Cntrl OpAmp? - One per channel (V1.1 uses a OPA1612 per channel)
- OPA2673 Vertical Signal OpAmp
- No_Marking_IC Vertical ADC - Probably a MXT2088 Dual-channel 100Msps ADC
- 74HC595D Vertical Comm_Buffer - One per channel
- LTK8002D Speaker Audio Driver (V1.1 uses a OPA1612)
- CH340 USB_Serial Interface
- IP2312 Battery Management (V1.1 uses a heatsink)
- 505573 3.7V 2500mAh LiPo Battery
Note 1:
The SD7501 4000/6000 counts True-RMS SoC DMM by Hangzhou SDIC Microelectronics was a suggestion of a member of MyDigit China forum.
I checked some of the connections and indeed it matches the connections seen in the PCB pictures for key elements:
- Correct LQFP64 packaging
- The DMM specs matches this chip specs
- Can operate at maximum of 8MHz using an external Xtal
- On the DSO3D12, the SD7501 UART I/O is connected to the π121U Dual-Channel Digital Isolators:
- SD7501 pin 35 (Rx) goes to the π121U pin 3 (OUT)
- SD7501 pin 36 (Tx) goes to the π121U pin 2 (IN)
- The Xtal pins are connected to the 8.000MHz Xtal
- It matches the DSO3D12 circuit design:
- Built-in voltage divider, no need for external networks
- Built-in 16KB OTP memory, no external EEPROM is required
- Built-in Voltage Reference, no need to use an external source
- Built-in charge pump, can measure 3V diode
- Programmable multi-functional measurement network, support voltage, current, resistor, diode, transistor, open/short, temperature, capacitor, and frequency
-
Got my Zeeweii DSO3D12.
Opened it right away to check the internals. Got the V2.0.1-III PCB assembly.
The shipped Firmware is v3.0.6-III.
Battery (3.7V, 2500mAh, 9.25Wh) was half way depleted.
Used it for just 30 minutes to check for obvious anomalies.
After that the battery indicator went yellow with 1 bar.
Currently it is charging on my Redmi mobile phone fast charger but the DSO3D12 just uses 5V and the current stabilized around 945mA after a few minutes.
The oscilloscope seems to be working as expected. Got two P6100 probes as expected.
The DMM section, well, is acceptable and good enough for regular checks.
My first DMM test was to insert the test leads into the AC mains outlet and left it there for 5 minutes, as I usually do on new equipment.
It registered around 251 VAC for a nominal 230VAC in my location.
I had to use another two DMM units to confirm that value. Really high, even for my location.
The capacitance readings are acceptable for high values only.
Low capacitance values show an error in excess of 40pF for capacitors in the 220pF - 1000pF region.
Then a 10R resistor was registered as 11.2R.
Shorting the test leads gave me 1.1R.
Surely this can't be a DMM error from factory!
Tested the test leads on another DMM and got the same 1.1R result.
So, I got cheap low grade test leads with high resistance.
Also the tip rubber cups are bent at the end, very strange (the tips are straight, thou).
There are no evidence of mechanical abuse and the plastic bag came closed with a staple (why?).
Someone at Zeeweii manufacturing or at the AliExpress shop (it was not Zeeweii) is pushing really bad quality test leads.
Did anyone had this issue?
-
Test leads follow up.
Stripped the wires to find out that the core consist of 19 thin hair copper wires. So far so good.
Problem is that the cable resistance is around 0.5 Ohm per leg for a total of 1 Ohm per set of cables.
The remaining resistance is found at the test lead plugs and tips, for a total value of 1.1 to 1.2 Ohm.
I have ordered another set of mid cost test leads for this cheap DMM.
Crossing my fingers to get a regular maximum resistance of 0.2 Ohm this time.
The case suggested by BillyO is very good and the Zeeweii DSO3D12 fits nicely inside.
I did not use the filling included with the case, as I found out that the filling included with the DSO3D12 package will fit inside as long as we cut the foam at the sides.
https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5660123/#msg5660123 (https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5660123/#msg5660123)
-
Problems with this device. At this point, I think my unit has some kind of hardware failure. I'll try to summarize what I've found.
I bought it in March on AE, not from the official store, but at another store that has sold over 1,000 units. I didn't need it, but I saw a good deal and bought it. When it arrived, I did some quick tests and it seemed to work fine. I didn't notice anything strange about the packaging, everything looks as new, so I stored it away until now, which is when I discovered the problems.
It comes with FW version 3.0.6_III, and 2.0.1_III HW. I needed to check the amplitude of two related signals, and before doing so I checked the accuracy of this device using a DC voltage of 2.5 volts. The first measurements gave me approximately 2.55v on channel 1. It wasn't great, but not so bad either. After all, you can't expect great accuracy from a device with these characteristics. However, there were inconsistencies with channel 2, which gave more amplitude for the same signal. I used the calibration menu a couple of times with the same results. At some point, I restored the factory settings as indicated in the manual, and from then my measurements on both channels were 2.63 volts. After recalibrating several times I continued to get the same results.
What happened? After several attempts at recalibration I installed several firmwares: 3.0.5_III (the latest official version), 3.0.6_III, and 3.0.6_III_mod from GitHub. Everything remained the same after recalibrations, 2.63v, but I noticed that restoring the factory settings does not affect the calibration internal data, you have to do a recalibration after updating the FW to a different version, otherwise the zero reference is not correct. After recalibration this reference is always perfect on both channels.
I also found what may be a FW bug, or perhaps it only happens with my faulty unit, I hope other users will comment if they also have the following problem. In version 3.0.5, the signal amplitude depends a lot on where it is located on the screen, see the attached photos (measurement labels in yellow on black). In version 3.0.6, it seems to have been fixed, but not completely, it still happens, although to a lesser extent, if the zero reference is moved to the upper and lower limits (without exceeding them), see attached photos with measurement labels in white on cyan. I think for this reason i was getting 2.55 volts, because i have the channel 1 signal located at the bottom of the screen, after restoring factory settings this signal is located in the center of screen and displays 2.63v.
In any case, I am getting 2.63 volts for 2.5v signals. This also happens with the built-in generator wave, I have verified with another oscilloscope that the wave it generates is 2.5 Vp-p, but it is displayed as 2.63 Vp-p, like the 2.5v DC signal.
I have seen in YouTube videos that other units are reading around 2.48-2.5Vp-p for this generated wave, so my unit must have some kind of fault. I decided to open it up, and surprise! see the attached photo. The low-quality 100uF electrolytic capacitor immediately caught my attention, and even more so when I checked that it had been soldered in parallel with a SMD capacitor on the board. I looked at photos from other people and saw that it doesn't appear in any of them. The battery doesn't seem to be the original either, as it doesn't have any markings like the ones on other units. It looks like a botched repair of a returned device, I don't know if it was done by the seller or the manufacturer. The PCB appears to be of good quality and seems to be original. At first glance, I haven't found any differences when comparing it to pictures of other units, but I will have to take a closer look.
This capacitor is associated with the IP2312 battery charging IC, there is other user in this thread having serious problems with this IC. I will take a look at it, although I don't have much hope that it's directly related to the bad amplitude readings. The reading error magnitude is not fixed but linear: for 1.25v it reads 1.3v, for 2.5 it reads 2.63, for 2.8 it reads about 3v... for 10v it reads approximately 10.5x, with the same readings on both channels, the zero volts reading is perfect on both channels, same results at x1 and x10. It could be more like something related to the ADC reference being wrong for some reason, perhaps a component damaged by the fault that led to the repair? So I'll look into that too. Thanks to @jebem and other members for the info about the HW that appears in this thread, this will help me. I won't spend too much time on it either, as equipment with these characteristics isn't worth it, so if I don't find anything quickly I'll give up.
Finally, I would also like to thank all people involved in modifying the FW, and @rssdev for the executable to update the FW, which works perfectly on Linux.
-
the signal amplitude depends a lot on where it is located on the screen
My unit has the same problems on channel 1, while on channel 2 everything is fine. Calibrations doesn't help. I think it's a firmware bug, but the device is still usable, and I currently have neither the time nor the energy to dig into the firmware.
-
Tested the test leads on another DMM and got the same 1.1R result.
So, I got cheap low grade test leads with high resistance.
Also the tip rubber cups are bent at the end, very strange (the tips are straight, thou).
There are no evidence of mechanical abuse and the plastic bag came closed with a staple (why?).
Someone at Zeeweii manufacturing or at the AliExpress shop (it was not Zeeweii) is pushing really bad quality test leads.
Did anyone had this issue?
Same issue here, near 700mΩ per test lead.
-
Good evening. Here is a diagram of the key connections. It may be useful to someone.
-
I also have the same electrolytic capacitor soldered parallel to the SMD. Different calculated voltages are also observed depending on the position on the screen. The resistance of the multimeter probes is also 1.1 ohms. Thus, you hardly have any special copy. In my opinion, you should not worry.
-
Thank you very much for your response. I didn't expect other units like that, but it raises other questions for me. Why do they install that 100uF capacitor in some units? Is there a defective component in a certain batch? If so, why don't they replace it properly instead of doing that botched job? According to the IP2312 datasheet recommendation, two 10uF and 22uF capacitors should be installed as close as possible to the EPAD (see attached picture). Or perhaps certain units are breaking down due to the IP2312 overheating, and this is the repair they do at the factory before putting them back on sale?
In any case, the biggest problem I have is that when the wave is in the center (for example, after an AUTO), the amplitude of the signals is more than 5% higher than the actual value, 5V shows as ~5.25V, or 10V as 10.5x. This behavior is not seen in YT reviews of other units, where the correct values are shown, with errors of about +-20mV, which I assume is the ADC resolution for these levels.
Does your unit also show as much error as mine? And does the battery have any labeling like all the ones shown in the photos of other users, or does it have no visible marks like mine?
-
Have you tried calibrating it?
Vpp calibration: Open the menu -> Meas(ch2), then long press the 'mV(ch2)' button. Use the up and down buttons to adjust the Vpp amplitude of ch1, and the left and right buttons to adjust the Vpp amplitude of ch2. Press the ok button to save the parameters.
DC offset calibration: Open the menu -> Meas(ch2), then long press the 'V(ch2)' button. Use the up and down buttons to adjust the Mean value of ch1, and the left and right buttons to adjust the Mean value of ch2. Press the ok button to save the parameters.
-
1. The additional capacitor is soldered, probably on the basis of very poor chargers with large voltage pulsations at the output. This is hardly the result of repairs.
2. About different calculated voltage values depending on the position on the screen:
I have never considered an oscilloscope as a means for accurate measurement. An error of 5-10% was always enough. In this case, the error depends on the algorithms for processing the code received from the ADC, and we do not know these algorithms. Some cheap DSOs in calculations do not even take into account part of the signal that goes beyond the screen. Therefore, if you need more accurate measurements of the signal amplitude, you probably need a more serious oscilloscope.
3. Battery marking is possible from the inside. Look, if the dimensions of your battery are similar to those of other dso3d12 photos, then everything is probably in order.
-
Have you tried calibrating it?
Vpp calibration: Open the menu -> Meas(ch2), then long press the 'mV(ch2)' button. Use the up and down buttons to adjust the Vpp amplitude of ch1, and the left and right buttons to adjust the Vpp amplitude of ch2. Press the ok button to save the parameters.
DC offset calibration: Open the menu -> Meas(ch2), then long press the 'V(ch2)' button. Use the up and down buttons to adjust the Mean value of ch1, and the left and right buttons to adjust the Mean value of ch2. Press the ok button to save the parameters.
Great! This calibration works, I didn't know about it. Now the error is acceptable, +-20..40mV. Although more noticeable for high voltage values, discrepancies appear with small changes in the voltage scale that in principle should not modify anything in the captured waveform (for example, going from the 1.00V to 2.00V scale, where no change in the relays is noticeable). I'm talking about tests with 1kHz and 10kHz signals, not high frequencies.
Therefore, I still think there is some kind of bug in the FW related to the waveform display and measurement calculation. It is evident when the signal is placed at the top or bottom of the screen, and it happens to other users. But it is also possible that it could cause the discrepancies observed when changing the display scales, small changes that should not affect the signal path or the internal sampling frequency, capturing the same signal, so the results of these measurements should not change so much if they are done directly on the captured waveform.
Thank you very much for your help.
-
1. The additional capacitor is soldered, probably on the basis of very poor chargers with large voltage pulsations at the output. This is hardly the result of repairs.
2. About different calculated voltage values depending on the position on the screen:
I have never considered an oscilloscope as a means for accurate measurement. An error of 5-10% was always enough. In this case, the error depends on the algorithms for processing the code received from the ADC, and we do not know these algorithms. Some cheap DSOs in calculations do not even take into account part of the signal that goes beyond the screen. Therefore, if you need more accurate measurements of the signal amplitude, you probably need a more serious oscilloscope.
3. Battery marking is possible from the inside. Look, if the dimensions of your battery are similar to those of other dso3d12 photos, then everything is probably in order.
Yes, they appear to be modifications made at the factory for some reason, as they are not seen on all units with the same PCB version.
I agree that you can't expect much accuracy from a device of this type, but an error of more than 5% seems excessive to me, and I think this hardware can do better than that. Fortunately, this was almost solved with the Vpp and DC Offset calibration, I have commented further on what I think about this in my previous comment.
-
Here is the diagram of the analog part of the DSO1511G: https://img.radiokot.ru/files/25337/36r7vbsln7.png. The DSO3D12 scheme is similar. Analyzing the circuit, it can be assumed that the vertical displacement of the oscillogram is controlled electrically before the signal arrives at the ADC. And the calculation of the voltage value is based on the results with ADC. Therefore, for various reasons, for example, the small non-linearity of operational amplifiers, the result of calculating voltages at different positions of the oscillogram may differ.
So far, I can only explain this property of voltage changes depending on the position of the oscillogram.
-
Have you tried calibrating it?
Cool! How did you find that? I wonder how much more undocumented stuff is hidden in the firmware...
On my device, calibrations didn't help. The offset can be adjusted, but the result is that you can either set it to be level when the 0 is at the bottom of the screen, in this case the signal at the top shifted to up. Or you can set it level at the top, but then when you move down, the level is too low. As for the gain adjustment (long press the 'mV(ch2)'), it doesn't seem to affect anything visually at all. :(
-
I have ordered another set of mid cost test leads for this cheap DMM.
Crossing my fingers to get a regular maximum resistance of 0.2 Ohm this time.
Strange, I'm getting 0.2Ω with leads that came with it.
[attach=1]
-
Here is the diagram of the analog part of the DSO1511G: https://img.radiokot.ru/files/25337/36r7vbsln7.png. The DSO3D12 scheme is similar. Analyzing the circuit, it can be assumed that the vertical displacement of the oscillogram is controlled electrically before the signal arrives at the ADC. And the calculation of the voltage value is based on the results with ADC. Therefore, for various reasons, for example, the small non-linearity of operational amplifiers, the result of calculating voltages at different positions of the oscillogram may differ.
So far, I can only explain this property of voltage changes depending on the position of the oscillogram.
Thank you, this diagram is very useful for understanding how this device works, although I've only had time to glance over it and haven't been able to review it in more detail yet.
During the tests I've done, it seems that you're right in that there is a vertical shift in the signal depending on the position on the screen. And in that process errors will exist for sure, not only in the final shift, but also in the stage that generates the DC offset, even the FPGA signal itself, or the ADC. Many small errors that add up to create a large one.
But calibration is supposed to mitigate these large errors, at least in part. If you look closely during zero calibration (Menu->Set->Cal), the process goes through all the available input sensitivities, checking for deviations at the center of the screen, first channel 1 and then channel 2. And at the end, it places the zero reference for both channels at the top and bottom of the screen for a very short time with the input sensitivity set to 1.00V/div (IIRC). It is probable this is where they calibrate these offsets. If the errors are approximately linear and the calibration is done correctly, this may be sufficient. But otherwise, it may be necessary to take more measurements at other points on the screen and/or with other input sensitivities.
So I still have my doubts about the calibration, whether it is being done in FW as well as possible. The error is sometimes too big, I am attaching a sample (photos 1 to 3), ~7% error, in the specs i see "Precision of V: +-2%", I can accept large percentage errors with small signals over wide ranges, but in this case I don't think that's likely. This is after having performed the calibration as best I could, but maybe i am doing something wrong... I will comment more on the "secret" calibration mode in a new message.
I have also seen what could be a small bug, possibly related? which if confirmed could indicate that this part of the FW has not been tested in great detail:
5.00V/div, signals <= 1.2V DC are displayed on the screen, therefore they are detected, but the Avg measurement is 0 (attached picture 4). In photo 5, ~11V is shown on the screen, but the Avg indicates 9.85V (the actual value was 10V). This occurs frequently at all sensitivities with many input signals, including channel 2.
-
The average value of a sine wave with no offset is 0V.
-
The average value of a sine wave with no offset is 0V.
Photo 4 is a 1.2V DC signal, so Avg should be about 1.2V and it is 0, for 1.3V and above Avg measurement is correct.
Photo 5 is 10V DC, Avg is 9.85 (ok), but it is displayed on the screen as about 11V, above 10V grid line.
Photos 1-3 are 5Vp-p sine wave, at center PkPk is correct, but when you move it up and down the PkPk error is ~7%.
-
Ahh, okay, gotcha.
-
Have you tried calibrating it?
Cool! How did you find that? I wonder how much more undocumented stuff is hidden in the firmware...
On my device, calibrations didn't help. The offset can be adjusted, but the result is that you can either set it to be level when the 0 is at the bottom of the screen, in this case the signal at the top shifted to up. Or you can set it level at the top, but then when you move down, the level is too low. As for the gain adjustment (long press the 'mV(ch2)'), it doesn't seem to affect anything visually at all. :(
Found this, but it doesn't seem to work exactly the same in DSO3D12. It's late, I'll comment more tomorrow on the tests I've done.
https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg5083081/#msg5083081 (https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg5083081/#msg5083081)
-
About how I'm calibrating the device, there are several ways to do this, and the overall results depend on the vertical, horizontal and other settings used to make the adjustments. Therefore, other users may find better and/or faster ways to do it, I hope to comment.
I haven't had much time to play around with it, but the results I've obtained can be considered acceptable, leaving aside the bugs or limitations of the equipment that have been mentioned in other messages, which I believe we cannot solve with the available calibration at the moment.
AFAIK, there are four configuration modes on this device (FW version 3.0.6). The one included in the configuration menu Menu->Set->Cal (Zero Calibration or ZC). And three other hidden ones, which are documented for the DSO2512G in a manufacturer's FW revision, see how to use them:
https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg6052085/#msg6052085 (https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg6052085/#msg6052085)
https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg5083081/#msg5083081 (https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg5083081/#msg5083081)
https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg5470678/#msg5470678 (https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg5470678/#msg5470678)
It appears that in DSO2512G the AC Gain and DC Offset calibration modes (ACGC and DCOC) can be adjusted for each sensitivity level. In DSO3D12 these calibration settings apply to all sensitivity levels. If you want to exit ACGC without saving the settings you have made, press the 50% key.
In the DSO3D12 there is another calibration mode, DC Offset2 (DCOC2), which is interesting because it seems to make the same adjustments as DCOC but individually for each sensitivity level. To access this calibration, go to Menu->Meas(ch2)->Long press ch1-V key.
Very important: the DCOC and DCOC2 settings are lost when a ZC is performed, so a ZC must be performed before adjusting these settings. The ACGC settings are lost when the device is reset to factory settings (Menu->Set->Long press OK, as documented in the user manual). It seems that these settings are actually lost, and the ones that appear to me are incorrect and not the factory settings, which I think are lost forever, as I doubt there is any way to recover them. Therefore, I believe that restoring factory settings completely misaligns the gain of the equipment, which is the problem I had.
According to the manufacturer, a calibrated signal generator should be used for ACGC, and a DC signal for DCOC. In the DSO2512G thread there are some users that use a multimeter to calibrate the generator's RMS level. I have only used an LB02A, generating a precise DC signal, iterating over the DCOC2 and ACGC two or three times, alternating the polarity of the signal, to calibrate the gain and offset. I used a 2-way switch to reverse the polarity of the signal reaching the DSO3D12, without needing to swap cables.
Calibration process I performed:
Allow the DSO3D12 (and LBA02) to warm up for a while, as measurements are more unstable when cold.
First a ZC, then for ACGC you have to choose a configuration, because these settings will then be used globally. I used X1 mode because that's how I normally use the DSO. If you're going to use the device in X10 mode, it might be better to do it in that mode. The vertical setting at 100mV/div because was more difficult for me and gave worse results at low sensitivities (i.e., 2.00V/div). For the time scale I used 20ms on channel 1, I chose this value because this channel on my device is somewhat noisier than channel 2, and with this time setting I get a more stable reading. For channel 2, I used 200us (IIRC) without problems. The zero reference of the DSO3D12 is in the center, and the LBA02 has an output of 250mV.
With the above configuration, we iterate 2 or 3 times over the ACGC and DCOC2 settings to achieve the most perfect calibration possible.
Then we adjust the DCOC2 one by one in the rest of the input sensitivities, bearing in mind that we must not modify the ACGC as this will affect all levels globally. We also have to choose a specific DC amplitude (in the LB02A) for that sensitivity, at this DC amplitude the offset will be perfect, but not with other DC amplitudes.
I am attaching a text file with the results obtained; not all input sensitivities have been performed yet, this is a first attempt to review the results.
-
I received an email from ZEEWEII
「Version V3.0.7 still needs some time to be improved. I will let you know after the firmware is uploaded.」
Let's wait for Version V3.0.7 :) :) :) :) :)
-
Good afternoon. About changing the Upkpk values when the signal is shifted on the display. Earlier I wrote that a possible reason for this may be the non-linearity of operational amplifiers. I will add that the measurements showed that the real supply voltages of the operational amplifiers are asymmetric. Instead of +- 3.0V, there are +2.95V and -2.7V. I think this difference can also affect the measurement results depending on the signal offset.
-
Good afternoon. And what, was there a message somewhere that version V3.0.7 should be released?
-
The information about the release of version V3.0.7 is based on a direct email inquiry to ZEEWELL last week.
-
The information about the release of version V3.0.7 is based on a direct email inquiry to ZEEWELL last week.
Thank you!
-
Let's all make more demands of manufacturers. The quality of the product will improve
-
:) :) :) :) :) :) :) :) :)
Hi, upload done!
http://www.zeeweii.com/support.html (http://www.zeeweii.com/support.html)
-
V.307 I chose version V307. More details later.
-
Negative pulse widths were displayed correctly.
T-:2.47ms
Now I can easily read the fuel injection time on my bike.
The injection time will not increase unless you are in the bike and accelerating or decelerating.
Injection time remains almost unchanged when stopped
When the engine is stopped, the injection time hardly changes even if the accelerator is changed, although the engine speed changes.
Mounted on a motorcycle to measure injection time
-
V.307 I chose version V307. More details later.
Eh, it would be nice if they posted a list of what has changed...
-
Negative pulse widths were displayed correctly.
T-:2.47ms
Mounted on a motorcycle to measure injection time
Good picture. I have this on a working car ignition coil:
-
Changes in 3.0.7_III .I haven't checked them yet, but
3.0.7_III
1. Add DMM shortcut menu. (Shift->DMM->Menu)
2. Add math ch1 +/- ch2 (Long press "Menu" button)
3. Roll mode(>=200ms): roll direction supports to the right
-
V3.0.7_III file
5.6.6BETA.7 .
There are many
-
Good afternoon.
Thanks to Motoge for the info.
-I wonder what is included in the DMM context menu?
-It would be good if they made a more significant update: the ability to transfer saved images to the computer. They had it in their DSO1511G. In vain removed.
-
-It would be good if they made a more significant update: the ability to transfer saved images to the computer. They had it in their DSO1511G. In vain removed.
This is the only thing that stops me from buying this device. I think it was made 2+ years ago and it's really strange that they do not allow to download screenshots to the PC even now. Even cheaper devices can do it. Maybe there is a hardware limitation/bug that doesn't allow to do it with the existing board version. In this case it's better to wait until they make a new board version or a new device that fixes this issue...
-
-I wonder what is included in the DMM context menu?
-
-It would be good if they made a more significant update: the ability to transfer saved images to the computer. They had it in their DSO1511G. In vain removed.
Maybe there is a hardware limitation/bug that doesn't allow to do it with the existing board version.
I have another version of that. Perhaps access to screenshots also gives access to software, and they do not want to allow this.
I certainly adjusted to that. I save screenshots. Conveniently, there is a separate button for this and no need to climb the menu. I take a picture saved to my phone and reset it to my computer. Of course, there are additional actions, but if there are not so many screenshots, then it is tolerable.
-
I take a picture saved to my phone and reset it to my computer.
How do you save screenshots to your phone? If there is no USB connection, it's only possible to make a photo using a camera, but it reduces the image quality and adds lens distortion as well. Surely, it can be used to show a signal to somebody, but it is not the way it should be.
Evidently, there is hardly any use in asking the developers to add this feature because of this (https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5027611/#msg5027611) (August 24, 2023 = they had this request 26 months ago, and it is still not implemented!). At the other hand, if 100 users ask for it at the same time, there is a slight chance that they will have to change their prospective goals for the next firmware release :)
-
I take a picture saved to my phone and reset it to my computer.
How do you save screenshots to your phone?
Yes, of course the photo. And so the oscilloscope is not bad in its budget niche. Basically meets its stated parameters. Maybe I will also write to them about the wishes for modernization in future firmware.
-
Yes, there is no other way to take photos, just like with an analog oscilloscope. But the quality is quite good.
-
Good afternoon! I decided to post the results of the evaluation test of the oscillographic part of the DSO3D12.
The signal source is the Si570 frequency synthesizer for HF transceivers. Probe R6100, Kh10 multiplier. The frequency at the input of the oscilloscope is obtained from the frequency value of the synthesizer indicator multiplied by a factor of 3 or 4, set in the synthesizer settings.
So what we observe:
1. below 40 MHz, everything seems to be clear. At 40 MHz, the signal is still closer to the meander, not the sine. And this is logical, because the 3rd harmonic (40.0x3 = 120 MHz) is included in the declared frequency band.
2. at a frequency of 42 MHz, the influence of the 3rd harmonic has already weakened (it is no longer clearly distinguished), but the signal is still not sine and resembles a meander.
3. At a frequency of 54 MHz and higher, the signal is sinusoidal. This is also logical, since the 3rd harmonic of these signals is already outside the declared bandwidth.
4. With a frequency of 84 MHz, a decrease in the amplitude of the displayed signal begins.
Here's more. The signal enters the oscilloscope input through a probe P6100 having a bandwidth of only 100 MHz, which is less than the declared one for the DSO3D12 (120 MHz). I think it significantly reduces overall bandwidth. Therefore, no serious conclusions can be drawn regarding the bandwidth of the oscilloscope.
There are several videos and posts on the Internet in forums with DSO3D12 bandwidth tests. But everyone, like me, has one drawback, this is the lack of a control oscilloscope with a bandwidth of at least 200 MHz along with a dipstick. Therefore, there is no control of the actual signal parameters at the input DSO3D12 and therefore, it is impossible to determine the actual bandwidth.
5. The oscilloscope confidently displays a signal with a frequency of 120 MHz, synchronizes and shows the correct frequency.
6. In general, the oscilloscope is quite worthy for its price range.
-
continuation
-
The signal enters the oscilloscope input through a probe P6100 having a bandwidth of only 100 MHz, which is less than the declared one for the DSO3D12 (120 MHz). I think it significantly reduces overall bandwidth. Therefore, no serious conclusions can be drawn regarding the bandwidth of the oscilloscope.
Thank you for the review. It's true that manufacturers often provide cheap probes to reduce overall price for the oscilloscope. The same situation was with Zoyi 703 where different probes gave better results than the ones the manufacturer provided. At the other hand, I think 90% of those who buy a cheap oscilloscope will never buy expensive probes for it, so it's quite reasonable to test the oscilloscope with the probes that manufacturers supply.
-
Thank you for the review. It's true that manufacturers often provide cheap probes to reduce overall price for the oscilloscope. The same situation was with Zoyi 703 where different probes gave better results than the ones the manufacturer provided. At the other hand, I think 90% of those who buy a cheap oscilloscope will never buy expensive probes for it, so it's quite reasonable to test the oscilloscope with the probes that manufacturers supply.
Yes, such a kit test will give an idea of the characteristics of the purchased product in a stock kit. But speaking about the parameters of the oscilloscope, I would like to get real data on the bandwidth of the device itself. Therefore, it is desirable to monitor signals directly at the input, or to use the same broadband probes for the DSO3D12 and "reference" oscilloscope. I think that those who have the necessary equipment for tests, unfortunately, simply do not pay attention to devices such as DSO3D12.
-
I think that those who have the necessary equipment for tests, unfortunately, simply do not pay attention to devices such as DSO3D12.
Maybe there are tests but we can't find them. Here is a good test: https://www.youtube.com/watch?v=WqH36V-t_7k (https://www.youtube.com/watch?v=WqH36V-t_7k)
Good sine up to 112Mhz with P6100 100MHz probes. Meander up to 25 Mhz looks more or less acceptable.
-
I compared the P6100 and HP2060 (60 MHz) probes, the first one won. In the future I may try the probe from the Tektronix MSO64 kit.
-
Yes, that's right. And so it should be. 5 The 12.5 MHz (62.5 MHz) signal harmonic lies behind the probe bandwidth (60 MHz). Therefore, it is already weakened at the input of the ADC and has a weaker effect on the formation of the oscillogram image.
Here, dear Theodot, posted about the version of the V3.0.7:
https://www.youtube.com/watch?v=DWzrOpkRbSw (https://www.youtube.com/watch?v=DWzrOpkRbSw)
-
I haven't decided what I'll use it for yet, but I'm looking for an oscilloscope around $90. I've found the ZT-703, 2C53T, and DSO2512G in the same price range, but is the DSO3D12 the best?
-
I haven't decided what I'll use it for yet, but I'm looking for an oscilloscope around $90. I've found the ZT-703, 2C53T, and DSO2512G in the same price range, but is the DSO3D12 the best?
Or this: https://www.dreamsourcelab.com/shop/oscilloscope/dstouch-ds4t252/ (https://www.dreamsourcelab.com/shop/oscilloscope/dstouch-ds4t252/)
-Minimum vertical resolution 1mV/DIV
-Maximum storage depth 2Mpts
-Support FFT spectrum analysis.
-Support real-time protocol decoding
-
I haven't decided what I'll use it for yet, but I'm looking for an oscilloscope around $90. I've found the ZT-703, 2C53T, and DSO2512G in the same price range, but is the DSO3D12 the best?
Or this: https://www.dreamsourcelab.com/shop/oscilloscope/dstouch-ds4t252/ (https://www.dreamsourcelab.com/shop/oscilloscope/dstouch-ds4t252/)
-Minimum vertical resolution 1mV/DIV
-Maximum storage depth 2Mpts
-Support FFT spectrum analysis.
-Support real-time protocol decoding
A few days ago I tried one that a friend showed me for a while. Nice and easy interface, the features are also good, overall I liked it.
But I saw a couple of things I didn't like, the oscilloscope wasn't calibrated (it seems you have to do it when you receive it) but since it wasn't mine, I didn't want to touch anything, and have no time to test it too much. The strange things I noticed: the amplitude calibration menu doesn't appear when you press the button to do it, the 20MHz filter seems to attenuate too much a non-noisy signal, and the invert channel function wasn't symmetrical to 0 volts axis.
I repeat that some of these problems, especially the channel inversion function, could be due to the lack of calibration. Anyway, I've ordered one that should arrive soon, but unfortunately I don't have much time to play with these things right now.
The good thing about these chinese oscilloscopes is that they are cheap and portable. But the portability isn't so great when, due to FW bugs and the lack of a quick fix, you need to carry two of them to check with the second one if you see something that doesn't look right.
-
I haven't decided what I'll use it for yet, but I'm looking for an oscilloscope around $90. I've found the ZT-703, 2C53T, and DSO2512G in the same price range, but is the DSO3D12 the best?
ZT-703- the main problem is the trigger issues (https://www.youtube.com/watch?v=1ujmT8KGQHI). It just cannot catch a lot of signals. This is why I'm in this thread now, trying to find out if I really want to buy DSO3D12. Because I wanted to buy 703 the same way a year ago and now I'm not happy with it. It's getting slower and more laggy with every new firmware, but the bugs that were there a year ago still remain... It has a good and rather precise DMM though, if the DMM is more important than the oscilloscope for you.
Fnirsi - it is commonly known that most models have a lot of bugs that are never fixed with new firmware. They just release a new oscilloscope 1-2 times per year, they never have time to fix the bugs in old models :)
DSO3D12 - According to many reviews, it is really a good device for it's price.
DS4T252 - looks promising, but the specs are not too astonishing for it's price in comparison with DSO3D12 (50Mhz, 200MSa/s vs 120Mhz, 250MSa/s + DMM). What's interesting, the firmware is not updated for a long time and it feels like it never will, but I did not see any bug reports yet. It doesn't have physical buttons to control the device, which may be important if you work in a garage with dirty oily hands, imagine what will become of the touch screen :) There is no DMM inside, and you will have to take 2 devices if you go to measure somewhere away. The reason why I don't really like it is that it is not possible to disassemble it in a gentle way to replace the battery - the parts of the device are hold together on a rubber cover that is glued hard and you will have to tear it off to see naked parts without a plastic box under it. So, if the battery dies after 3 years of use, you will throw it away, or make a DIY cover using a 3D-printer if you can :)
I'm choosing between the last two, but I at the moment I think DSO3D12 is better for the price. DS4T252 may be more interesting for those who deal with computers as it has a simple UART, SPI and I2C decoders, but I'm not sure that I will ever need it. I wish somebody could compare these two in the same test conditions, but there are no such reviews at the moment.
-
Hello
Today we have a new FNIRSI 2D15P. Is it expensive?
-
Will it work? Otherwise it has no trigger input.
-
I haven't decided what I'll use it for yet, but I'm looking for an oscilloscope around $90. I've found the ZT-703, 2C53T, and DSO2512G in the same price range, but is the DSO3D12 the best?
Good afternoon. Some thoughts on choosing an oscilloscope. To choose an oscilloscope, you should first determine what tasks you need it for. At least roughly determine the parameters of the signals you want to monitor. Do you need a generator and a multimeter? For example, do you need an oscilloscope with an input frequency of up to 100 MHz or up to 500 MHz? What parameters of the signal do you need to measure? Then, create a comparison table of the parameters of the oscilloscopes you like. Determine which parameters are most important to you. Based on this, choose one or two models beforehand. Then, read online reviews, tests, and feedback on the selected models. This will allow you to assess the accuracy of the manufacturer's specifications. Once you have chosen a model, consider whether you have enough money (almost a joke). If you find it difficult to determine the specific tasks for which you need an oscilloscope, reevaluate your decision.
-
Some thoughts on choosing an oscilloscope.
This is all clear. I mainly use zoyi 703 to check the issues with DIY esp32 devices, so I don't need something expensive. Most oscilloscopes will be OK for me as long as they do what was stated by the manufacturers. The problem is that the features promised by the producers pretty much often don't work the way they should. These Chinese devices can be designed well in terms of electronics but they almost always have some firmware bugs. It's good if a producer listens to customers and fix these bugs, but Zoyi producers are very difficult to address and they always write something like "our stuff is of the highest quality", and rarely do what users ask to fix or add. They release new firmware versions time after time, but they don't fix the bugs that many users asked them to fix a year ago. IDK, mayby Zeeweii has the same FW update policy, but at least, according to this thread, they managed to make the initial firmware more or less reliable, and I cannot say the same about Zoyi...
-
V3.0.7_III file
5.6.6BETA.7 .
There are many
Nice, thanks!
However, they still use their "dirty" font, so will wait for the @taligentx mod.
-
Some thoughts on choosing an oscilloscope.
This is all clear. ...
Everything is clear. You are not a beginner and you can quite make an informed choice. I have not used the oscilloscopes named by you. From digital oscilloscopes, I have FNIRSI DSO PRO and the DSO3D12 discussed. I can only theoretically compare it with the DSO2512G. These are products of the same manufacturer ZEEWEII. The characteristics of the oscillographic part and the generator are identical. The DSO2512G has an image output on TV. The DSO3D12 has a good (according to online reviews) multimeter. I think that the oscilloscope and generator algorithms are also similar. Here is a comparison of the DSO2512G with the Fnirsi 1014D: https://www.youtube.com/watch?v=GwKrOraRL3I (https://www.youtube.com/watch?v=GwKrOraRL3I)
-
Thank you all for your helpful answers. The DS4T252 seems to be carefully made, and I think I will be satisfied with it as an oscilloscope.
The DMM function on the ZT-703 seems easy to use, although the reviews mentioning delays due to firmware updates were helpful.
The DSO3D12 has physical buttons and a DMM, so it seems well-suited for outdoor machine maintenance.
Yes, I understand that the range of requirements for an oscilloscope is so broad that I need to decide what I'll use it for, but I don't have much knowledge so I'd like to gain some experience with my first one.
I found the DSO3D12 to be a good fit for me as it has a DMM and is convenient for outdoor use.😃
-
I have a DSO2512G and it works well and doesn't cause any hassle.
It is what it is, but nothing less. For its price, it's really OK.
Zoyi makes cheap and accurate DMMs, but oscilloscopes are new territory for them. Zeeweii does that better, in my humble opinion.
-
I tried several different types of probes: HP3060 (60 MHz), P6100 (100 MHz), HP3250 (250 MHz), TPP1000 (1GHz). First I tried to compensate all the probes. But there was a failure with TPP1000 - it cannot be compensated at all, and there is nothing to adjust here. Such probes are not suitable for conventional oscilloscopes (Tektronix has a transimpedance amplifier at the input).
-
Then I connected the probes one by one to the output of the pulse generator, using the BNC adapter PF-901 (from the HP3250 probe kit). The generator has a rise time of approximately 2 ns. On the oscilloscope there is a noticeable difference between the 60 MHz and 100 MHz probe. The 250 MHz probe does not provide any improvement. The TPP1000 probe does not work correctly, the amplitude is greatly reduced, the entire signal is raised. There is probably no point in replacing the supplied probes with something more broadband.
-
I agree with you.ZEWEEL will respond to your inquiries about DSO3D12 via email. Products are made by companies and users. Let's demand more from manufacturers.
-
The 250 MHz probe does not provide any improvement..
On the DSO3D12, the difference between the 100 MHz and 250 MHz probes may be noticeable at frequencies of 80-120 MHz. At these frequencies, the P6100's transmission coefficient should gradually decrease. However, the frequency response of the 250 MHz probe should remain linear. The difference should be evident in the greater reduction of signal amplitude with the P6100 probe compared to the HP3250 probe.
-
Hi folks,
I've updated the repo based on the new 3.0.7 firmware, and also updated the new channel math menu and DMM side menu graphics along with a few other minor tweaks - ZeeTweak 3.2:
https://github.com/taligentx/ZeeTweak
[attachimg=3]
[attachimg=1]
[attachimg=2]
Pleasantly surprising to see a manufacturer actively support and add new features in this device/price class!
-Nikhil
-
Hi folks,
I've updated the repo based on the new 3.0.7 firmware, and also updated the new channel math menu and DMM side menu graphics along with a few other minor tweaks - ZeeTweak 3.2:
https://github.com/taligentx/ZeeTweak
Thanks! Now updated successfully with a proper readable font :-+
-
Good afternoon. I tried comparing several oscilloscopes with different bandwidths to see how they display a square wave. The result was expected. The DSO3D12 leads. But the C1-73 surprised me. With a stated bandwidth of up to 5 MHz, it captures the third harmonic of a 9 MHz signal.
-
Hi folks,
'Tis the season for a good ol' fashioned ramble...
So one of the stumbling blocks to checking out the Zeeweii firmware is the partial/missing support in disassembly tools for the C-SKY architecture that the microcontroller is based on. I've been poking around an existing C-SKY module (https://github.com/leommxj/ghidra_csky) for Ghidra (https://github.com/NationalSecurityAgency/ghidra) by writing missing processor instructions (and fixing a few), and it's coming along. So here's my fork of the module that can fully disassemble and decompile the firmware for the W806 chip in the scope (and likely other C-SKY-based chips):
https://github.com/taligentx/ghidra_csky_WinnerMicro (https://github.com/taligentx/ghidra_csky_WinnerMicro)
That's the first bit of news. So now that Ghidra can finally look at the firmware, is there anything useful to do?
We have now requested ZEEWEII to ensure that the pulse width measurement and screenshot numbers do not overlap with the cursor geodetic.
Yep, that's an annoyance - the screenshot count obscuring any cursor measurements or waveforms behind it. @Dmitur (https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg5816255/#msg5816255) already worked out how the counter is drawn so this seemed like a good place to start:
[attachimg=1]
Turns out, moving the counter over to the other side of the screen is a little more involved than just setting the xy position values. The instruction that handles the x position maxes out at 255, and I needed more than that to get to the battery area. To do that, I'd need an extra 2 bytes of code space. Do I really care about knowing how many total screenshots I have? Nope! Wiping that out gained a roomy 54 bytes, and even enough to blank out the battery icon to boot.
That still left some space available. Okay, let's see how the new firmware is handling sending the DMM data over serial. Stream of consciousness: Oh, that's it? Hey wait, that might fit...
So the next news is that the scope now sends the screenshot data over serial. Now, it's not a screenshot per se (not a direct image) - it's a ~2kb chunk of waveform and state/settings data that the scope uses to recalculate and redraw everything when you open an image. Well, if the scope can do it...
% python3 zeetweak.py /dev/tty.usbserial-1410
Waiting for /dev/tty.usbserial-1410... (Ctrl+C to cancel)
Connected, open saved waveforms to trigger capture:
Saved data: Zeeweii_Screenshot_20251216_202613.bin
Saved text: Zeeweii_Screenshot_20251216_202613.txt
Saved image: Zeeweii_Screenshot_20251216_202613.png
[attach=2]
Neat. Initial findings:
- Waveform data is 600 bytes per channel, 2 bytes (min/max) per pixel (graticule is 300 pixels wide).
- The scope saves all measurements (100 bytes per channel), even those not selected when the screenshot was taken. You can pick and choose the measurements you want after the fact.
- State and settings data (340 bytes) has the expected stuff (v/div, timebase, trigger info etc), but also things we don't see otherwise: sample rate, buffer depth, trigger voltage, and even global stuff like the screen brightness, etc.
- Cursor measurement data is recalculated and not stored, so at the moment it's not implemented.
- This also explains why the frequency meter and counter windows are blank in screenshots - it's data coming directly from the FPGA and not saved.
Next, signal generator waveforms. As @timschuerewegen (https://www.eevblog.com/forum/testgear/new-2ch-pocket-dsosg-sigpeak-dso2512g/msg5129679/#msg5129679) worked out for the DSO2512G, most of the waveforms are generated by calculation, but the Sinc function (pattern 7) is 256 bytes of hardcoded data. Hardcoded = replaceable, so:
[attachimg=3]
There's a catch - at least on the DSO3D12 firmware, the compiler seems to have optimized by hardcoding the first sample (0x2D) in the code itself and then reading the other 255 bytes as normal data. Left alone, this would cause a glitch where any custom waveform would have to jump to this sample and then jump back. So I've patched the first sample to be directly centered instead (0x80) and any new waveform can fill in the rest of the 255 bytes for a seamless repeating waveform. I've included a few sample waveforms and the script can also take a 256x256 image and convert it so it's ready to flash.
One more thing...
While digging around the keypress code, I noticed that a particular keypress sequence called an otherwise orphaned function that nobody else called. Here's what happens:
% python3 zeetweak.py /dev/tty.usbserial-1410
Waiting for /dev/tty.usbserial-1410... (Ctrl+C to cancel)
Connected, open saved waveforms to trigger capture:
Receiving data...
Saved buffer dump: Zeeweii_Buffer_20251216_180138.bin (270024 bytes)
Extracted CH1: Zeeweii_Buffer_20251216_180138-ch1.bin (60000 samples)
Zeeweii's secret buffer dump mode:
- Acquire the signal, then press Stop to freeze the sample buffer.
- Press Menu, then Stop so that the channel 1 measurements menu is open.
- Long-press Save - this kicks off the debug dump.
If it's the entire 60k buffer, it'll take ~20s to transfer and the scope will freeze while it's happening. Because for some reason, the firmware decides to convert each sample value into ASCII characters, complete with spaces and line endings so the data is inflated by ~400%. I just ran across this yesterday so for now, the script just extracts and saves the samples for each channel. Out of curiosity, I did toss the files into a quick PyQtGraph script:
[attach=4]
If you zoom in:
[attach=5]
Not sure if I'm a fan of the UI so perhaps there's a better way to handle this data.
Mods, notes, installation etc are at: https://github.com/taligentx/ZeeTweak (https://github.com/taligentx/ZeeTweak)
Happy hacking,
-Nikhil
-
Hi folks,
'Tis the season for a good ol' fashioned ramble...
Good afternoon!
Once again, thank you taligentx for the information, and if I understand correctly, further improvements will be made. Questions arise as to what DSO3D12 users need to do to take advantage of these changes, since many do not do programming:
1. Can the DSO3D12 be flashed with dso3d12_v3.0.7_III_mod_v4.0.fls instead of dso3d12_v3.0.7_III if it currently has dso3d12_v3.0.6_III?
2. How should Python be configured to run the script zeetweak.py?
3. "..zeetweak.py - Tool for screenshot capture, image/text report generation, arbitrary waveform generation, and buffer dump capture. See below for usage.
o Requirements: pip install pyserial numpy pillow matplotlib.."
What needs to be done to meet these requirements?
4. Is it possible to transfer screenshot data in the original dso3d12_v3.0.7_III firmware, or did it appear only in dso3d12_v3.0.7_III_mod_v4.0.fls?
5. Does the oscilloscope itself have ready-made screenshot files (for example, *.BMP) that can be transferred to a computer?
6. Will there be a small detailed guide with explanations for ordinary users (non-programmers) on how to implement all these additions (of course, without any guarantees)?
-
1. Can the DSO3D12 be flashed with dso3d12_v3.0.7_III_mod_v4.0.fls instead of dso3d12_v3.0.7_III if it currently has dso3d12_v3.0.6_III?
That's what I did, so yes.
-
A schematic of the oscilloscope's generator section is provided. The resistor values are approximate. Measurements were taken without desoldering. The amplifier is located under the speaker. It might be useful to someone:
-
% python3 zeetweak.py /dev/tty.usbserial-1410
Waiting for /dev/tty.usbserial-1410... (Ctrl+C to cancel)
Connected, open saved waveforms to trigger capture:
Saved data: Zeeweii_Screenshot_20251216_202613.bin
Saved text: Zeeweii_Screenshot_20251216_202613.txt
Saved image: Zeeweii_Screenshot_20251216_202613.png
Could you please tell me if the command '% python3 zeetweak.py /dev/tty.usbserial-1410' works on Windows 10? Best regards, Trek.
-
Could you please tell me if the command '% python3 zeetweak.py /dev/tty.usbserial-1410' works on Windows 10? Best regards, Trek.
Surely not as dev/tty.usbserial-1410 is a Linux device :) I think there should be something like COM1, COM2, etc in windows, you should find the correct COM port number of the connected device in the device manager. There is python for windows, but I have no idea if this script works in windows because I only have linux.
-
Could you please tell me if the command '% python3 zeetweak.py /dev/tty.usbserial-1410' works on Windows 10? Best regards, Trek.
Surely not as dev/tty.usbserial-1410 is a Linux device :) I think there should be something like COM1, COM2, etc in windows, you should find the correct COM port number of the connected device in the device manager. There is python for windows, but I have no idea if this script works in windows because I only have linux.
Yes, I did that. After that, I started having doubts. I currently have version dso3d12_v3.0.7_III installed. But I think it should still connect. When I issued the command "python3 zeetweak.py COM6" the connection was established, but then errors followed. In one place it seems to complain about the operating system.
After replacing /dev/tty.usbserial-1410 with COM6:
C:\Users\user>python3 zeetweak.py COM6
Connected, open saved waveforms to trigger capture:
Traceback (most recent call last):
File "C:\Users\user\zeetweak.py", line 986, in main
if ser.in_waiting:
^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\serial\serialwin32.py", line 259, in in_waiting
raise SerialException("ClearCommError failed ({!r})".format(ctypes.WinError()))
serial.serialutil.SerialException: ClearCommError failed (PermissionError(13, 'Отказано в доступе.', None, 5))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\user\zeetweak.py", line 1050, in <module>
main()
~~~~^^
File "C:\Users\user\zeetweak.py", line 1040, in main
except (OSError, serial.SerialException, termios.error) as e:
^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'error'
-
Booting ubuntu from a USB stick, and installing phyton3 will be faster. Or just install ubuntu on an SD card or USB stick. For future use.
-
Yes, I did that. After that, I started having doubts. I currently have version dso3d12_v3.0.7_III installed. But I think it should still connect. When I issued the command "python3 zeetweak.py COM6" the connection was established, but then errors followed. In one place it seems to complain about the operating system.
After replacing /dev/tty.usbserial-1410 with COM6:
C:\Users\user>python3 zeetweak.py COM6
Connected, open saved waveforms to trigger capture:
Traceback (most recent call last):
File "C:\Users\user\zeetweak.py", line 986, in main
if ser.in_waiting:
^^^^^^^^^^^^^^
File "C:\Users\user\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\serial\serialwin32.py", line 259, in in_waiting
raise SerialException("ClearCommError failed ({!r})".format(ctypes.WinError()))
serial.serialutil.SerialException: ClearCommError failed (PermissionError(13, 'Отказано в доступе.', None, 5))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\user\zeetweak.py", line 1050, in <module>
main()
~~~~^^
File "C:\Users\user\zeetweak.py", line 1040, in main
except (OSError, serial.SerialException, termios.error) as e:
^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'error'
I don't use Windows so can't test it, but there is a PermissionError at some point, maybe try to run as administrator?
-
Booting ubuntu from a USB stick, and installing phyton3 will be faster. Or just install ubuntu on an SD card or USB stick. For future use.
Yes, that's an interesting idea. I was thinking about a virtual machine. Could you recommend which version would be best to install?
-
I don't use Windows so can't test it, but there is a PermissionError at some point, maybe try to run as administrator?
Thank you, I'll give it a try.
-
Ubuntu 22 or 24 it doesn't matter. You will have to make a bootable USB. Or another friendly linux
-
Ubuntu 22 or 24 it doesn't matter. You will have to make a bootable USB. Or another friendly linux
Thank you, we will continue working.
-
Hi folks,
Here are a few updates for 4.1 at https://github.com/taligentx/ZeeTweak (https://github.com/taligentx/ZeeTweak):
- New: Cursors measurements for rendered screenshots
- New: CH2 50% auto-set level to 0 (originally offset by a few pixels)
- New: Generate waveform CSV files for other applications (works with sigrok PulseView)
- New: Support for DSO2512G screenshot data files (requires @timschuerewegen's modified firmware)
- Updated: Ghidra project 0.3 - all functions are now labeled
- Fixed: Windows serial port handling
- Fixed: Voltage calculations for probes x1/x100 modes
Screenshot with cursors measurements:
[attach=1]
sigrok PulseView with the CSV data:
[attachimg=2]
6. Will there be a small detailed guide with explanations for ordinary users (non-programmers) on how to implement all these additions (of course, without any guarantees)?
Hi @Trek - good point, I've updated the README.md to try to clear up what's meant for actual everyday use vs the developer stuff. The short version is that nearly everything is for daily use, only the Ghidra project is for reverse engineering.
1. Can the DSO3D12 be flashed with dso3d12_v3.0.7_III_mod_v4.0.fls instead of dso3d12_v3.0.7_III if it currently has dso3d12_v3.0.6_III?
Yes! The mod firmware should work with all -III generation scopes. By the way, are there any owners of the previous 1.x generation here? It should be possible to modify that firmware as well if there are willing testers.
2. How should Python be configured to run the script zeetweak.py?
I've updated the README.md to clarify this and tested on Windows - let me know if there are any issues.
4. Is it possible to transfer screenshot data in the original dso3d12_v3.0.7_III firmware, or did it appear only in dso3d12_v3.0.7_III_mod_v4.0.fls?
This is a new feature in the mod firmware - the original firmware only uses the serial port for firmware upgrades and the DMM data.
5. Does the oscilloscope itself have ready-made screenshot files (for example, *.BMP) that can be transferred to a computer?
Nope, the scope saves the waveform data and then reconstructs the display when you open an image so there's no .bmp file to extract. I'm using the same data with matplotlib to create the new screenshots - I personally prefer the new screenshots vs the scope display, but is there a good use case for the original 320x240 scope display?
I ask because there is a potential way to get the entire screen and send it over serial - it would take ~14 seconds per screenshot so it would need to be tied to a button press. Right now the waveform data is sent automatically on every screenshot because it's small enough that there's no obvious delay when switching between screenshots.
-
Looking into the firmware - I've updated the Ghidra project, all of the functions are now labeled so it's easier to see how the firmware works (but all of these are up for debate!) I've also attached the current disassembly listing and decompiled functions here for easier reference without installing Ghidra.
Signal generator voltage setting - zw_siggen_waveform_gen():
menu-set-Hold down "Gen" - alternator voltage change by 3 volts
The firmware starts by generating a fullscale waveform (0-255), downscales it according to the configured setting, and then sends it to the FPGA DAC for output:
Label | Measured | Data ID | Scaling
--------------------------------------------
Vol 3.0V | 3.22Vpp | 3000 | 1.000
Vol=3.0V | 2.91Vpp | 3010 | 0.909
Vol 2.5V | 2.79Vpp | 2500 | 0.867
Vol=2.5V | 2.48Vpp | 2510 | 0.771
So the option that uses the full DAC range is the "Vol 3.0V" setting. The rest are downscaled first and then sent as lower resolution, digitally reduced data to the DAC. Seems like unless you need lower voltage, "Vol 3.0V" is the setting to use (unless there's some distortion from the DAC running rail to rail). I'm interested in feedback, as it's easy enough to set this as the default value. The original default is "Vol=2.5V", which is the lowest resolution but measures ~2.5v.
DMM - zw_dmm_frontend_init():
The DMM has a UART connected via optoisolators at 9600 baud, and the protocol is similar to other DMMs where the value is encoded as the 7-segment digits data that would normally drive the DMM LCD. The firmware then converts this to ASCII text and sends that to the USB serial port, and seems to use a hardcoded 280ms interval. To do: check the data update rate coming from the DMM directly and see if there's data being lost between the DMM chip and the USB serial output. Also to do, look into sending the live data straight into sigrok.
Waveform update rates - main():
The main loop has timers that limit the display refresh rate to ~12.5fps or ~8fps depending on the timebase. I've played around with speeding this up to see how the scope behaves around 30fps, the mod is attached. I like waveform display now, but need to check the power consumption and the CPU utilization - so this mod is experimental. Also to do: look into increasing the FFT refresh rate (music mode is especially useless with the low rate).
Fun with Ghidra:
One advantage of bringing the firmware into Ghidra is wide array of scripts and extensions that get contributed. I've been playing around with https://github.com/starsong-consulting/GhydraMCP - this creates a bridge between Ghidra and your LLM of choice, and lets the LLM explore the entire firmware on its own and try to work out what's happening in the code (trace function calls, follow data, rename functions/variables/data, add comments, even modify and patch instructions). Here's gemini 3 from the terminal (using gemini-cli):
-------------------------------------
> Examine the FFT music mode for its cycle count. What's the remaining margin of the CPU after increasing the refresh rate?
I have analyzed the FFT Music mode and identified its bottlenecks.
FFT Performance Analysis
- Computation Overhead: The zw_fft_compute function implements a 1024-point radix-4 FFT using software-controlled floating-point math (even with a hardware FPU, the overhead of 1024 magnitude and square root calculations is significant). I estimate this math takes roughly 0.5M to 1M cycles.
- Drawing Overhead: The zw_fft_draw_bars_visualizer draws 20 wide bars. While faster than the math, it still adds to the frame time.
- Total Frame Budget: At your new 30 FPS target, the MCU has a window of 8 million cycles (240MHz / 30) per frame.
- LCD Bit-banging (Full screen): ~1.9M cycles.
- FFT Math: ~0.8M cycles.
- Other Scope Logic: ~0.5M cycles.
- Total: ~3.2M cycles.
- CPU Margin: At 30 FPS with FFT on, you have roughly 60% CPU margin remaining.
Why it feels slow: Although the CPU has margin, the measurements_update_timer (at 0x200026a8) was still set to 200ms (5 FPS) and the fft_update_timer (at 0x2000269c) was set to 100ms (10 FPS). This creates a "stuttery" look where the waveform moves at 30 FPS but the frequency bars and measurement text only jump a few times a second.
Plan: I have identified and renamed the relevant timers. I will now patch the initialization in main to sync the FFT and measurement updates to the same 30 FPS rate as the waveform.
measurements_update_timer (0x200026a8): Change from 200ms to 33.3ms.
fft_update_timer (0x2000269c): Change from 100ms to 33.3ms. I will apply these patches now.
rename_data (ghidra MCP Server) {"new_name":"measurements_update_timer","address":"0x200026a8"}
Rename data attempted
set_bytes (ghidra MCP Server) {"bytes_hex":"01 EA 35 82 03 6C","address":"08014ea2"}
Bytes written successfully
set_bytes (ghidra MCP Server) {"bytes_hex":"01 EA 35 82 03 6C","address":"08014eb0"}
Bytes written successfully
I have synchronized the FFT and measurement updates to 30 FPS. All display components (Waveform, Music bars, and Text) should now move with the same fluidity. The CPU remains roughly 60% idle during this operation, so the system will still be responsive to user input.
> Actually, I'm fine with the original measurements timer, no need to increase it. Are the measurements a snapshot every 200ms, or is the calculated value an average of each 200ms window?
I will first revert the measurements_update_timer patch to restore its original 200ms period.
set_bytes (ghidra MCP Server) {"bytes_hex":"01 EA 50 C3 91 39","address":"08014ea2"}
Bytes written successfully
I have restored the measurements_update_timer to its original 200ms (5 FPS) rate.
Analysis: Snapshot vs. Average Based on the code in zw_scope_measurements, the values are instantaneous snapshots. Every 200ms, the function:
- Fetches a single block of samples from the FPGA (or uses the latest buffer in RAM).
- Passes this specific block to zw_scope_measure_vpp_avg_rms and zw_scope_measure_top_base_amp.
- Calculates the results based strictly on the samples in that one block.
There is no running accumulation or averaging of results between timer intervals. This means if you have a noisy signal, the measurement numbers might jump around more than if they were averaged, but it consumes much less memory and CPU.
The FFT, however, is now running at 30 FPS, providing smooth visual feedback for the "Music" and spectrum modes.
-------------------------------------
Well, kind of - the FFT timers got patched but there's some other gate limiting the update rate so I'll need to look into it further. For the 3.0.7 firmware, I had identified about half of the functions and then let the LLM examine the rest. I also tested it on the DSO2512G firmware from scratch (no manually identified data) and it was able to work out the entire firmware. No doubt there will be inaccuracies but overall it was surprising how much it's been getting right. Fun stuff!
-Nikhil
-
Hi friends. I've just received mine from China. The firmware was 3.0.6, I updated it to 3.0.7 successfully. I've made a few fast tests and it seems to work fine, but there's one thing I'm not sure. When I set the internal generator to 2Mhz, the end of the signal kind of doubles. I'm not sure if it's a defected generator or it's normal for all of them. As I understand it, the generator cannot support correct timings on this frequency, so the length of the PWM cycle has slightly different time and this results in this second line in the end. I just want to be sure it's not only mine works so, but all of them.
-
Hi @Trek - good point, I've updated the README.md to try to clear up what's meant for actual everyday use vs the developer stuff. The short version is that nearly everything is for daily use, only the Ghidra project is for reverse engineering.
Good afternoon.
Many thanks to Taligentx for the Windows program improvements and explanations on their usage. By his work on transferring screenshots to the computer, he added one of the most important functions for comfortable use of DSO3D12. I believe the importance and significance of other added functions will be appreciated by those who use them. In any case, they only expand the functionality of DSO3D12.
After his changes to the firmware and script, DSO3D12 connects to a Windows computer and transfers data.
I ran the generator again from 6 MHz to 120 MHz. I was curious about the correlation between sweep time and sampling frequency. Across the entire signal frequency range, the sampling frequency was 250 Ms/s. Interestingly, I had expected it to change. I found no evidence of the use of an "equivalent" sampling frequency.
Another interesting question is whether Sinx/x interpolation is carried out on all sweeps, or if linear (point) interpolation is used at low frequencies?
I am providing examples of the screenshots obtained:
-
No need to worry. The manufacturer warned that at frequencies above 1 MHz, a small jitter may occur. I experience the same.
7.5 Signal generator
……………………………
Square wave can adjust the duty cycle, other waveforms do not work.
Note: When the set frequency is greater than 1MHz, the square wave signal may
show small horizontal jitter
-
Maybe somebody already tried to show 240V AC signal from a household socket in real life? I see some misunderstanding in the manual. It says we shouldn't measure more than 220V AC with the oscilloscope, but it also says that the max voltage is ±400V in the specs page. 220V is only ±311V, while ±400V is 283V. The probe is rated 600V peak. So why shouldn't we measure more than 220V, if it theoretically can handle up to 283V according to specs? Correct me if I'm wrong and report your real experience, can it burn down from 240V?
-
Maybe somebody already tried to show 240V AC signal from a household socket in real life? I see some misunderstanding in the manual. It says we shouldn't measure more than 220V AC with the oscilloscope, but it also says that the max voltage is ±400V in the specs page. 220V is only ±311V, while ±400V is 283V. The probe is rated 600V peak. So why shouldn't we measure more than 220V, if it theoretically can handle up to 283V according to specs? Correct me if I'm wrong and report your real experience, can it burn down from 240V?
Most likely, the manufacturer is just being cautious. There is always a chance of mistakenly setting X1 instead of X10. There was a case described online where the input amplifier was burnt out. They then replaced it with an amplifier from the generator output. They are the same 8091 there. For working on such “dubious” circuits, I bought a P4100 probe, with X100 up to 2 kV. It has no switch. So, as the saying goes, '…better safe than sorry…'.
-
Maybe somebody already tried to show 240V AC signal from a household socket in real life? I see some misunderstanding in the manual.
The manual is clear. It's a CAT I device, not rated for mains measurement.
If you insist on doing it them get a fixed x100 probe so that only 2.4V will arrive at the 'scope and there's no switch to get in the wrong position.
can it burn down from 240V?
Mains can have transients on it that are much higher than that.
(https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/?action=dlattach;attach=2725357;image)
-
I bought a P4100 probe, with X100 up to 2 kV. It has no switch. So, as the saying goes, '…better safe than sorry…'.
I don't usually need to measure high voltage, but it may be useful to see the output of some DC/AC inverters that pretend to generate true sine wave. So I'm not sure if buying P4100 is really needed for me. Previously I used Zoyi-703 for it with a P6100 10x probe and had no problems, so it was interesting to know if Zeeweii is capable of it. I also saw stories that somebody burned it down when tried to measure the AC socket, but I'm not sure if he used a 1x or 10x probe when he did it.
-
I don't usually need to measure high voltage, but it may be useful to see the output of some DC/AC inverters that pretend to generate true sine wave. So I'm not sure if buying P4100 is really needed for me. Previously I used Zoyi-703 for it with a P6100 10x probe and had no problems, so it was interesting to know if Zeeweii is capable of it. I also saw stories that somebody burned it down when tried to measure the AC socket, but I'm not sure if he used a 1x or 10x probe when he did it.
The manual says "Q & A":
4.How to measure 220V mains?
Answer: First remove the USB cable (isolation), then adjust the probe to the 10X
position, adjust the vertical sensitivity to 100V, and adjust the time base to 10ms, and
then connect the probe to the neutral wire and the live wire (be careful!).
240Vrms (24V at the input in 10x) will probably not destroy the device.
In China, they have 220V, which is why they sometimes use this value as a synonym for “mains.”
That's not a strict technical limit, in my opinion. The limit is probably at 282Vrms (10x).
-
240Vrms (24V at the input in 10x) will probably not destroy the device.
I decided to take a risk and measured it. It seems to be OK. The internal voltmeter measured 230.4V. The oscilloscope measured 238V. I don't recommend to go higher than that though, it's really close to the limits...
[attach=1]
-
Hi folks,
'Tis the season for a good ol' fashioned ramble...
......
Happy hacking,
-Nikhil
Good afternoon.
I wish everyone a Happy New Year! Best wishes to all.
I have made some minor cosmetic changes to the screenshot layout. I think the respected Taligentx will not be offended. There are, of course, other suggestions to consider, but I lack the knowledge to implement them. I don't quite know how labour-intensive or difficult it is, and perhaps the author (Taligentx) could consider this possibility. If, of course, there is time and opportunity. This comes from the desire to place two screenshots in one line in a Word editor.
For example:
- display the trigger states at the top of the screen.
- place the measurement results at the bottom of the screen, keeping those from the original screenshot.
- then the right panel could be removed, keeping all measurements in the text document, and both screenshots would fit the width of a standard Word sheet.
- in the proposed version, the font size and style are just an example for layout.
-
- display the trigger states at the top of the screen.
- place the measurement results at the bottom of the screen, keeping those from the original screenshot.
- then the right panel could be removed, keeping all measurements in the text document, and both screenshots would fit the width of a standard Word sheet.
Hi @Trek - thanks for the feedback! It does make sense to add a more compact view, added to the todo list. Perhaps cutting out the right panel entirely and just have the graticule and the bottom channel/timebase info. One issue with data inside the graticule is obscuring the waveforms (especially with up to 14 measurements per channel) - as you mentioned, all of the other info is available in the text file if needed.
To customize the gridlines and border as in your images, you can change these lines:
# Grid
...
for x in x_ticks: ax_grid.axvline(x, color='#444444', linestyle='--', linewidth=0.5, alpha=0.7, zorder=1)
for y in y_ticks: ax_grid.axhline(y, color='#444444', linestyle='--', linewidth=0.5, alpha=0.7, zorder=1)
...
border.set_path_effects([pe.Stroke(linewidth=2, foreground="#666666"), pe.Normal()])
For lighter gridlines, you can change the first two lines to use a color like #cccccc. For a thicker border, change the last line to something like linewidth=10 (more info (https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axvline.html)). Let me know if there are any issues with this,
-Nikhil
-
Hi @Trek - thanks for the feedback! It does make sense to add a more compact view, added to the todo list. Perhaps cutting out the right panel entirely and just have the graticule and the bottom channel/timebase info. One issue with data inside the graticule is obscuring the waveforms (especially with up to 14 measurements per channel) - as you mentioned, all of the other info is available in the text file if needed.
Thank you for the response and information.
As a result of all the actions, I managed to get this result. There are restrictions on the output of measurements (four per channel), but for now this suits me.
Your concerns are valid. If all measurements are displayed, it will take up a lot of screen space. But that is hardly necessary all the time. I displayed 4 measurements in the grid area, the fifth already reaches the frame. But the first measurement can be lifted up (though this is in the script, not by a key in the command). There is an option to start displaying measurements from the bottom. But I am not a programmer, so I won't be able to do this. There is fun for a programmer to explore. It is even possible to organise the creation of a right panel for measurement output optionally in the command.
-
As a result of all the actions, I managed to get this result.
I think it's not really necessary to write the measurements in the graph area unless you need a compact picture. It is made so in the original oscilloscope because the screen is tiny, but as you are not limited to a specific resolution when you generate a picture, I think it would be more reasonable to list the measurements below the graph window, below 1.00V | DC | X10 labels, wouldn't it? This would allow to use the complete screen area to show the graphs. In your example you use only 1/2 of the screen height to show graphs, this is why there is a lot of space to show measurements, but if you set the graph height to the height of the screen, there will be no place to show measurements, they will cover the graph.
-
I think it's not really necessary to write the measurements in the graph area unless you need a compact picture.
Yes, you are right. The measurement results can be displayed off-screen. That is what I mentioned in my reply to Taligentx — that it might be possible to indicate the location of the measurements using keys in the command. It will be interesting to see what he says about this. The on-screen placement was indeed done for compactness.
-
Good afternoon. During further work with the cursors, the following occurred:
-
Here are a few updates for 4.1
Is firmware 4.1 still based on 3.07? It's a bit confusing. And are the changes just for Zeetweak or are there additional changes that are beneficial when using the unit standalone as is?
Thanks!
-
There will be no more firmware updates for the older hardware. Is that why you were asking?
-
No, I'm asking how come TagilentX released firmwares v4.0 and v4.1 on Github considering latest official one is v3.0.7 III and he already released a v3.0.7III mod?
I presume that those v4.x are based on 3.0.7 III as well? And since my understanding is that the changes from official are only cosmetic, what does TagilentX v4.x have that the 3.0.7III mod doesn't?
The Changelog only seems to mention Zeetweak and not what is done to the firmware. I'm currently on 3.0.7III mod so would like to know what v4.x does for me.
Thanks!
-
Hello everyone!
The device looks good, so I'll order one.
Thanks to taligentx for the modification and the software.
I have two questions:
1. Does this device support signal inversion?
2. Does it display measurements in XY mode?
Because I have a DSO2512G but it doesn't support these features.
-
Because I have a DSO2512G but it doesn't support these features.
Good afternoon. Here are the specifications of both oscilloscopes: http://www.zeeweii.com (http://www.zeeweii.com). Nothing is mentioned about signal inversion, so it is absent. Both oscilloscopes have XY mode.
-
Does anyone have a list of all "secret" settings that are not mentioned in the official manual? I remember I saw it in some review that the voltage of the signal generator can be changed, but now I cannot find this information. Also there is nothing about voice control in the manual that I have in the box. Where is the complete manual?
Addon: OK, I found how to change the voltage: menu-set-Hold down "Gen". The generator should be then restarted. But there is a bug in the labels that it shows:
3.0 = 3.27
3.0 = 3.05
2.5 = 2.90
2.5 = 2.58
I use the 307mod, I hope it can be easily fixed in the next version. However, I do not understand why they hide so many features to unknown key presses, it would be more comfortable if all available options could be in one settings menu. Or this voltage setting could be added to the generator window.
-
Good afternoon. I have slightly changed the colour scheme:
-
Taligentx,
Thanks very much to you (and your predecessors) for all the work in making it possible to improve the UI appearance and functionality of this scopemeter!
I won one in a ham-club raffle yesterday, and spent part of this afternoon hot-rodding it with your optimized version of the latest vendor firmware. All went well.
I decided to go a bit further, and customize it with some evidence-of-ownership, by adding my name/callsign/phone to the main menu screen. I had to explore a bit but did get it to work.
- Fired up The GIMP and imported the .bmp version of your default mod for the background.
- Added a text layer/object with the new information, and positioned it into the lower right corner.
- Exported a .bmp version (5/6/5)
- Extracted the last 153600 bytes of the .bmp, storing it as a mod.bin file in a new directory.
- Copied your original mod.bin over into this directory as a new ref.bin
- Used flstweak.py to apply this mod to your dso3d12_v3.0.7_III_mod_4.1.fls
- Used flash.py to write the re-modded .fls file to the meter.
- Rebooted the scopemeter, accessed the menu screen, and noticed that the screen ɹǝɐllʎ pᴉpu,ʇ looʞ ɹᴉƃɥʇ˙
- Compared the .bmp files and saw that the vertical directions were opposed
- Went back into GIMP, flipped the image vertically, re-exported, re-extracted, re-tweaked, re-flashed.
- Rebooted the scopemeter, accessed the menu screen, and smiled happily.
All in all, a fine way to spend part of a Saturday afternoon.
My next task will be to set up some references, and do a proper calibration.
-
Guys, please give me some advice. I have DSO3D12 ver. 3.0.6-III I wanted to flash 3.0.7, but I was faced with the fact that the firmware procedure was impossible to complete. At least, as described in the instructions. When I hold down the Power button for a long time, the oscilloscope turns on and off cyclically. What should I do?
-
You are double posting. I answered in the other thread.
-
Taligentx:
"The DMM has a UART connected via optoisolators at 9600 baud, and the protocol is similar to other DMMs where the value is encoded as the 7-segment digits data that would normally drive the DMM LCD..."
Good afternoon.
Implementation of galvanic isolation between processors:
-
Good evening! How strange that the file dso3d12_v3.0.7_III_mod_4.1.fls has such a small size (184,282) compared to the official firmware (482,228). Is it possible to use it to update Zeeweii DSO3S12 without prior modification? Or is dso3d12_v3.0.7_III_mod_4.1.fls intended for flashing using wm-tools?
-
Good evening! How strange that the file dso3d12_v3.0.7_III_mod_4.1.fls has such a small size (184,282) compared to the official firmware (482,228)
You probably have a defective firmware. The real 4.1 mod is 470.9 Kb. You need to re-download it!
-
Толя, спасибище! Действительно, криво скачал прошивку! Всё, я обновился на 4.1!
-
Good afternoon. Here is an approximate table of the correspondence between scanning and sampling:
-
Good morning. I gathered information from the internet, organised it a little, and it turned out like an instruction manual. Of course, the information is not completely complete and there may be inaccuracies. It would be good to have clarifications, corrections and additions. I believe that collective intelligence can fill the gaps left by the developers in describing the device.
-
For those who can't read Russian, most of the information in this document is available in the original manual in English from the manufacturer's website:
http://www.zeeweii.com/download/zeeweii-DSO3D12_manual_EN.pdf (http://www.zeeweii.com/download/zeeweii-DSO3D12_manual_EN.pdf)
-
Picked up the DSO3D12 oscilloscope on fleabay as not working/for parts for cheap as a challenge. Plugged it in, sure enough, no signs of life. Dead short on the battery terminals. The battery protection worked and it was still at 4.1 volts. Desoldered the IP2312 charging chip (below red button) and the short was gone. Plugged the battery back in and the unit is fully functional (scope, gen, multimeter). Ordered the replacement chip on Ali. It's happens to be the latest hardware version so I will be able to flash the custom firmware :-+
P.S. Good flux and Low melt solder is Magic!
-
Nice :-+
-
I couldn't wait for AliExpress so bought Charging Board IP2312 from Amazon. Transplanted the IP 2312 from it to the DSO3D12. The battery now recharges, first I see the red light when it's done the light turns green. I also added a small heat sink to help out with heat dissipation. Although even charging at 900 milliamps it was barely warm.
Testing out the XY mode
https://youtu.be/TLD76o5OjS8
-
Double nice :-+ :-+
-
Anyone here with automotive diagnostic background?
I have a 2014 Dodge Grand Caravan and I have a rare intermittent problem with the CAN BUS IHS Network. It's so rare that I've never been able to reproduce it and catch it with my test gear when it goes completely down and loss of communication with all the modules. It seems to go down when I activate the power sliding doors. I checked the powers and grounds at the sliding doors and both have less than 0.3 volts drop and the power dips down to 11 volts when the door first pops open. I have captured some waveforms where we see spikes/dips when activating either of the power sliding doors. And there is major noise during engine start. I don't know if it's a bad ground or power related somewhere else. Or maybe the TIPM/Gateway is faulty. Any help is appreciate it.
Thank you.
-
battery power
[attach=1]
-
I am a new user of the DSO3D12. Today I used it to try to troubleshoot an intermittent communication problem on ihs CAN Bus network on a 2014 Dodge Grand Caravan. I believe when the failure occurred I was able to capture this waveform but I'm 100% not sure.
To those who have used this oscilloscope, can you please look at this waveform and tell me if High-Rate enabled would have caused the wavefor to look like this, like two signals are over laying on each other. Or is this really what has happened, which means some module on the network went haywire and started to transmit without regard to the already present signal.
Here is a video that I captured. https://youtu.be/BcrzqEILTEY
-
The simple answer is, this is not the scope to be using to analyze CAN bus and you are seeing what it is capable of showing you.
I'm not saying that there is not a module on the network that went haywire and started to transmit without regard to the already present signal. I'm saying you will likely not be able to tell that with this scope.
This scope has very limited triggering capabilities. You basically have just rising edge, falling edge and level. The CAN bus can, and will, have multiple (2 or many more) sequences traveling through it that either begin or end with the same trigger condition from this scope's perspective. That is almost certainly what you are seeing here.
To properly analyze something like the CAN bus protocol, you'd need a scope that is aware of this protocol and can separate out different communication packets on the bus, trigger on them, and decode them.
All that said, this scope is not malfunctioning. It's displaying what it is capable of displaying.
-
This scope has very limited triggering capabilities. You basically have just rising edge, falling edge and level.
Yes, like almost all handheld or inexpensive scopes.
You could take a single shot, then it would probably look good.
Hantek DSO2000 is perhaps the cheapest scope with detailed trigger options and CAN bus decoding (I've never tested this feature).
Hantek also has a USB scope for vehicle testing: https://www.hantek.com/products/detail/13170 (https://www.hantek.com/products/detail/13170)
-
All that said, this scope is not malfunctioning. It's displaying what it is capable of displaying.
I understand the limitations of the scope. I'm just wondering if the scope is acting as if persistence mode is on. Like it's unable to clear the screen of previous packets. I am using the custom latest firmware and the persistence mode was not enabled. But maybe the scope is unable to clear the screen fast enough for the next packet so overtime it fills in the gaps.
-
I don't think it's persistence, it's just drawing the trace every time it triggers, which could be hundreds or thousands of times a second. Even without persistence turned on, a scope will display the trace for a short while.
Adlo22 suggested single shot trigger mode. That will show generally what the waveform is like. However, you won't know if it's a command or response, or which device it's from.
-
I don't think it's persistence, it's just drawing the trace every time it triggers, which could be hundreds or thousands of times a second. Even without persistence turned on, a scope will display the trace for a short while.
Adlo22 suggested single shot trigger mode. That will show generally what the waveform is like. However, you won't know if it's a command or response, or which device it's from.
I will try to look at the waveform again with the same settings to see if the ghosting effect will show up. Yes a single trigger does show a clean packet. Right now I'm just trying to see if the loss of communication with all of the modules on the IHS can bus is due to the lines being shorted. However if I see clean data packets then I would think this part of the section should be able to communicate. On this 2014 Dodge Caravan the fuse box/tipm acts like a gateway to all of the modules. And the codes I'm getting is it's not able to talk to other modules that are on IHS can Network
System fault code 【Pre-Repair】
The following systems is abnormal:
BCM (Body Control Module - TIPMCGW/FCMCGW)
DTC (15)
1.B2304 Wiper Park Switch Input Circuit Low (Stuck Low) Active
2.U0203 Lost Communication With Door Module Front Left Active
3.U1144 Lost Communication With Power Sliding Door Module - Right Active
4.U1143 Lost Communication With Power Sliding Door Module - Left Active
5.U0197 Lost Communication With Hands Free Phone Module Active
6.U0204 Lost Communication With Door Module Front Right Active
7.U0259 Lost Communication With Wheel Chair Ramp Module Active
8.U0202 Lost Communication With Right Rear Door Module Active
9.U0201 Lost Communication With Left Rear Door Module Active
10.U0164 Lost Communication With HVAC (Heating Ventilation Air-conditioning And Cooling) Control Module Active
11.U0155 Lost Communication With Cluster/CCN (Cabin Compartment Node) Active
12.U0184 Lost Communication With Radio Active
13.B193C Left Power Sliding Door Switch Circuit High Active
14.U0010 CAN Interior Bus Stored
15.B1940 Right Power Sliding Door Switch Circuit High Stored
SRS (Supplemental Inflatable Restraint System - ORC (Occupant Restraint Controller)) DTC (2)
1.U1213-00 Lost Communication With Left Door Track Impact Acceleration Sensor Active
2.U1214-00 Lost Communication With Right Door Track Impact Acceleration Sensor Stored
CCN (Cabin Compartment Node - Instrument Cluster)
DTC (4)
1.U0197 Lost Communication With Hands Free Phone Module Active
2.U0141 Lost Communication With IPM (FCM/TIPM - Front Control Module/Totally Integrated Power Module) Active
3.U0184 Lost Communication With Radio Active
4.U0010 CAN Interior Bus Stored
HVAC (Heating Ventilation Air-conditioning And Cooling)/AC (Air onditioner)
DTC (2)
1.U0141-00 Lost Communication With IPM (FCM/TIPM - Front Control Module/Totally Integrated Power Module) Stored
2.U0155-00 Lost Communication With Cluster/CCN (Cabin Compartment Node) Stored
HFM (Hands Free Module)
DTC (3)
1.U0184 Lost Communication With Radio Active
2.U0155 Lost Communication With Cluster/CCN (Cabin Compartment Node) Stored
3.U0019 CAN B Bus Stored
DMFL (Door Module Front Left)
DTC (3)
1.U0141 Lost Communication With IPM (FCM/TIPM - Front Control Module/Totally Integrated Power Module) Stored
2.B21A1 ECU Reset/Recovery Occurred Stored
3.U0010 CAN Interior Bus Stored
DMFR (Door Module Front Right)
DTC (3)
1.U0141 Lost Communication With IPM (FCM/TIPM - Front Control Module/Totally Integrated Power Module) Stored
2.B21A1 ECU Reset/Recovery Occurred Stored
3.U0010 CAN Interior Bus Stored
DMRR (Door Module Rear Right)
DTC (1)
1.U0141 Lost Communication With IPM (FCM/TIPM - Front Control Module/Totally Integrated Power Module)Stored
DMRL (Door Module Rear Left)
DTC (4)
1.U0141 Lost Communication With IPM (FCM/TIPM - Front ControlmModule/Totally Integrated Power Module) Stored
2.B210D Battery Voltage Low Stored
3.B210A System Voltage Low Stored
4.U0204 Lost Communication With Door Module Front Right Stored
RPSDM (Right Power Sliding Door Module)
DTC (2)
1.U0141 Lost Communication With IPM (FCM/TIPM - Front Control Module/Totally Integrated Power Module) Stored
2.U0259 Lost Communication With Wheel Chair Ramp Module Stored LPSDM (Left Power Sliding Door Module)
DTC (2)
1.U0141 Lost Communication With IPM (FCM/TIPM - Front Control Module/Totally Integrated Power Module)Stored
2.U0201 Lost Communication With Left Rear Door Module Stored
The following systems are OK:
1.PCM (Powertrain Control Module)
2.ABS (Anti-lock Braking System)
3.WCM (Wireless Control Module)/TPMS (Wireless Control Module - Tire)
4.SAS (Steering Angle Sensor)
-
I understand the limitations of the scope. I'm just wondering if the scope is acting as if persistence mode is on. Like it's unable to clear the screen of previous packets. I am using the custom latest firmware and the persistence mode was not enabled. But maybe the scope is unable to clear the screen fast enough for the next packet so overtime it fills in the gaps.
It doesn't really matter whether it looks like persistence or just jumps around.
The fact is that it can't trigger an irregular signal the way you expect it to.
Take a look at the screenshots from my Hantek.
The first screenshot uses an edge trigger. That's exactly what it does, trigger at every edge, which is why it seems unstable with this signal.
The second screenshot only triggers after a “gap” with the pulse trigger. The image is stable there (same signal as above).
The question is whether that helps you with your CAN signal.
-
So it turned out the hirate mode was enabled to cause the ghosting effect which I thought was a problem with a can bus. Turning it off gave me a clean waveform.
Sample video
https://youtu.be/d-4bL4QZDHk
-
@taligentx
First thanks a lot for the custom firmware.
*4.1
New: Cursors measurements for rendered screenshots
How do I get this to work? Is this just the cursors are saved in the screenshot or can actually activate cursors to measure the waveform on the screenshot?
-
Good morning. I gathered information from the internet, organised it a little, and it turned out like an instruction manual. Of course, the information is not completely complete and there may be inaccuracies. It would be good to have clarifications, corrections and additions. I believe that collective intelligence can fill the gaps left by the developers in describing the device.
Спасибище!
-
this model is good enaugh for repairing Computer and laptop?
-
Re: the Zeeweii scope, I just used the DSO3D12 to troubleshoot an input 'attenuator' channel of an Agilent 54831M scope and lots of other things and have many far more sophisticated scopes that could have been used, simply put I like my Zeeweii for it's compact size and convenient capable operation!
As far as the included function generator and the DMM, to me they are never used and could just as well be deleted by Zeeweii.
The included DMM and F-Gen could be useful for someone needing a comprehensive low performance instrument suite for education or a low cost highly portable solution, but an $18 Uni-T DMM [my go-to] and a cheap ebay function generator would probably offer at least equal and more convenient performance.
-
As far as the included function generator and the DMM, to me they are never used and could just as well be deleted by Zeeweii.
I agree with you. Zeeweii also has this device: DSO2512G.
-
As far as the included function generator and the DMM, to me they are never used and could just as well be deleted by Zeeweii.
If you can make do with a single channel, the DSO1C81 is the stripped-down version.
https://www.aliexpress.com/item/1005007394192248.html (https://www.aliexpress.com/item/1005007394192248.html)
-
There is something about the Zeeweii DSO3D12's look, feel and ergonometrics [including the DVM inputs I don't use], that makes me want to put it under my pillow at night.
If I were dreaming and could add to it's features I would put an external scope trigger on it, a waveform gen trigger [maybe just one connector, select-able], a cheap glass screen protector, keep the nice wide spaced BNC's, increase/scale-up the package size maybe about 1 inch wider and 3/4 inch higher with an accordingly larger screen, add another BNC for some other function [counter maybe], move the ground and compensation terminals to the side, add a knob or two, and maybe more things I'd have to think of, ---and sell it for $40 more!
But wait! Now we are moving to the Fnirsi 2D15P form-factor that also tickles my jimmies but i rarely use because the Zeeweii is so damn handy and I can set it on the instrument or device I'm working on and see what I'm probing and the screen simultaneously.
I bought a used Zoyi but have never used it, the form-factor is too much like a DMM instead of a scope and I am too emotionally driven to envision it as a 'real' scope.
If I had to pick a small scope to replace the Zeeweii unquestionably it would be the Fnirsi 2D15P with it's few warts that seem to trigger many, and I can't believe they didn't add a grounding terminal for the scope next to the calibration terminal [maybe for 'safety' reasons considering the built-in DDM].
The styling of the Fnirsi 2D15P is nothing short of amazing to me considering the price [and having designed the front panels of most of my products years ago, incl copying HP's colors LOL!]. It's mix of buttons and knobs is really well thought out [always room for improvement],
I have no interest in [except to be anxious to see reviews of] Fnirsi's latest scope released about 2 weeks ago, that in some ways mimics and hopelessly competes with Rigol's series of small DHO scopes, ---the DHO802 I purchased and rarely use because the information on the screen is too hard and cluttered to read, and I have to plug it in, although it is mounted on a post and arm using the Vesa mount and with a 10" monitor above it.
We are fortunate to live in a time when basic functional scopes can be purchased for the price of a few fast-food dinners for 2 people, in some places of the world.
-
If it's DSO3D12, I'd like it to be 4-channel. I don't need DMM.
I want to measure the three-phase AC waveform of a motorcycle.
-
A means but inconvenient, to measure 3 phases of an alternator, could be to sync on channel one on the "first phase", and then look at the 2nd and 3rd phases in turn.
A possible cheap product someone could offer might be a module that connects to the 2nd and third phases per above and -to keep it simple and robust- use a reed relay to alternatingly select the second and third phases in sequence and connect them to channel two, maybe every 200 ms or so, even every second would work, so the observation of all three waveforms can be viewed simultaneously.
The waveform gen in the handheld scopes could be used to drive the relay for a simple portable solution.
Or a couple mosfet gates or something could be used to replace the relay.
For really fast waveforms a mercury wetted relay could be used ;D
-
this model is good enaugh for repairing Computer and laptop?
It depends what you are looking at. If you are troubleshooting the power supply, then the DMM and scope would be of help to see if voltages are right, or seeing if there is a short somewhere.
If you are looking at computer from the 70's, 80's and up to up to the early 90's, then yes, the scope would be able to show you waveforms. If you are talking about modern computers, then you will not be able to see waveforms. Modern computer run in the GHz. Just probing an address line or data line, even with the probes set to 10x, would cause a modern computer to malfunction.
Most of us here would probably rather buy a new car or put a decent down payment on a house for what it would cost to buy an oscilloscope that would do a decent job troubleshooting a modern computer by analyzing waveforms.
-
As far as the included function generator and the DMM, to me they are never used and could just as well be deleted by Zeeweii.
I use the DMM. If I'm using this scope, I'm away from my bench and going back to get a meter, if required, is not always convenient. The built in one does come in handy. I have never used the FG, except just to check it out
-
... it would be the Fnirsi 2D15P with it's few warts that seem to trigger many ...
Yeah, some people are easily triggered. It seems they went looking for things they personally don't like, then claim the whole thing is useless because of them. :palm:
I picked one up to play with and "went looking for the warts" only to find they are either not significant at all, or are just more personality than problem. It's bigger screen and more friendly UI make it nicer to use than the Zeeweii. The Zeeweii still has better bandwidth and a little more accurate amplitude across the BW range. Not by much, but a bit better. All in all, I think, for me anyway, the FNIRSI is going to supplant the Zeeweii.
-
Now we are moving to the Fnirsi 2D15P form-factor that also tickles my jimmies
After looking at the marketing material, I'm not getting one of those, there seem to be some problems with it!
-
Now we are moving to the Fnirsi 2D15P form-factor that also tickles my jimmies
After looking at the marketing material, I'm not getting one of those, there seem to be some problems with it!
I don't know, it looks like the 12 volt shock absorber is within tolerance....
-
I don't know, it looks like the 12 volt shock absorber is within tolerance....
It's the nearfield divining probes focusing in on the battery chakras that's making it all happen... :-+
-
cool......
-
It is! :-+
What are the steps to reproduce?
-
https://github.com/taligentx/FLSTweak (https://github.com/taligentx/FLSTweak)
https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg6135774/#msg6135774 (https://www.eevblog.com/forum/testgear/another-dsodmm-zeeweii-dso3d12-claimed-120mhz250msps/msg6135774/#msg6135774)
:)
-
The DSO3D12 has a memory function.
1 channel stores one phase in memory.
Furthermore, I displayed two phases on channel 1 and three phases on channel 2.
The phase shift is due to the generator's rotation speed not being stable, but it can be used in a simple manner.
Thank you for the wonderful advice. from Japan
-
Hi
I recently purchased a Zeeweii DSO3D12 whilst they were on special offer.
It arrived with firmware version v3.0.7-III, which appears to be the latest on the Zeeweii site.
Everything seems to work as expected, and for the price the DSO3D12 is a handy little portable unit to have.
There have been many reviews posted already, so I will only cover a few points.
- The added feature to export raw Oscilloscope or DMM data via the USB-C serial port could be quite useful.
Both options appear to work as documented in the firmware instructions, although it is not clear the format of the oscilloscope raw data.
Interestingly, it is now possible to use the DMM (in full screen mode) whilst charging or connected to a PC, although safety precautions would need to be observed.
I would only use this feature for low voltage applications.
- The additional DMM shortcut menu with the five-button selection is a neat feature.
Shift > DMM > Menu
[attach=6]
- Analogue front end bandwidth
For complex waveforms, both amplitude and phase response are important, along with the sampling rate and interpolation used to display the waveforms.
Although the DSO3D12 will display a reasonable sinewave up to 120 MHz (single channel mode) and 60 MHz (dual channel mode), it will only show a representative square-wave up to around 25 MHz.
With fast rise/fall times at the input, the resultant displayed waveforms will not be so accurate, since the sinc interpolation relies on the signals being band limited.
For interest, I measured the behaviour of the analogue front end to estimate the -3dB bandwidth for a sinewave input.
At high frequencies, the measurement is using the aliased sample values, which should still give a reasonable approximation of the magnitude performance.
[attach=1]
-- CH1, BW Limit OFF, CH2 disabled
Sampling rate 250 MSa/s (Two interleaved ADC channels sampling at 125 MSa/s)
Estimated front end -3dB bandwidth = 150 MHz
[attach=2]
-- CH1, BW Limit OFF, CH1 & CH2 enabled
Sampling rate 125 MSa/s for each channel
Estimated front end -3dB bandwidth = 150 MHz
[attach=3]
-- CH2, BW Limit OFF, CH1 & CH2 enabled
Sampling rate 125 MSa/s for each channel
Estimated front end -3dB bandwidth = 150 MHz
[attach=4]
--CH1, BW Limit ON, CH2 disabled
Sampling rate 250 MSa/s
Estimated DSP filter -3dB Bandwidth = 20 MHz
The DSP filter seems to meet the specified 20MHz, although it does not have a very sharp roll off.
[attach=5]
-
Good day. You conducted very interesting tests. Many are curious about the actual bandwidth. I have a few suggestions:
1. Unfortunately, it would be nice (if possible) to have better image resolution (quality). Tables and charts are hard to read.
2. You assume that the signal amplitude at the oscilloscope input is equal to the output of the generator. However, this does not take into account signal attenuation by the connecting cable. Accuracy of measurements can probably be increased by monitoring the signal directly at the DSO3D12 oscilloscope input with a reference oscilloscope with a bandwidth of at least 300 MHz. Of course, if there is a technical capability.
Best regards, Trek.
-
Hi,
Yes, sorry about the images. I have now exported a pdf from the spreadsheet that I used (please see attached).
I agree that there may be some inaccuracies in the results, but the objective was to get an estimate of the effective analogue bandwidth of the front end.
The pass-band values shown on the DSO3D12 are quite close to the expected voltage based on the tinySA output level of -7dBm into 50Ω.
Kind Regards,
Dave
-
Thank you for the quality pictures. If I understood correctly, it turns out that even with the influence of the cable, the bandwidth at the 3 dB level corresponds to the manufacturer's declared 120 MHz. If so, then good.
-
Hi,
The analogue front-end bandwidth is greater than the specification.
Based on the sampling rates of 250 MSa/s (single channel) and 125 MSa/s (dual channel), the maximum theoretical input frequency can be around 120 MHz and 60 MHz respectively before aliasing will occur.
However, as previously stated, with fast rise/fall times at the input, the resultant displayed waveforms will not be accurate, since the sinc interpolation which is used for the displayed waveform relies on the signals being band limited.
An example capture from another user shows the ripple before the rise/fall edges due to the sinc interpolation when showing a square-wave that has fast edges. In this case the display waveform is not a real representation of the input signal.
[attach=1]
In an ideal case there should be switchable analogue filters at the front-end of the ADC, but this would not be practicable for such a budget device.
-
Hi everyone! Based on the work and findings of @taligentx, I have consolidated firmware flashing, dump and snapshot reading, into a single GUI application. Builds for macOS, Linux, and Windows are available here: https://github.com/rssdev10/wm-tools/releases/tag/v0.2.0.
I welcome any feedback you may have, but please note that the current implementation is a POC only.
-
An example capture from another user shows the ripple before the rise/fall edges due to the sinc interpolation when showing a square-wave that has fast edges. In this case the display waveform is not a real representation of the input signal.
(https://www.eevblog.com/forum/index.php?action=dlattach;topic=382345.0;attach=2843182;image)
What, you don't like Bart Simpson's hair style?
More seriously, it you are looking at signals with significant harmonics beyond 120 MHz (fast rise/fall edge square waves, etc..), you should really be using a more capable scope. Even if you enabled filtering to get rid of the Bart Simpson hair, you might get a "smoother" looking display, but it's still not going to be an accurate representation of the input signal as you would be filtering out significant parts of the signal's spectrum.
-
Hi Bill,
Yes, I agree for an accurate display of fast edge signals, the sampling rate should be higher.
Users just need to be aware that if the input gets fast edge signals, the displayed waveform is not accurate.
For interest, the images below are with a 10MHz square wave signal with approximately 4ns rise/fall times.
The BW Limit function for both is 20MHz, on the DSO3D12 it is implemented in DSP, I am not sure if the Rigol is done in hardware or DSP.
Note: The signal is directly connected from the signal generator via coax and terminated at the oscilloscope input with 50Ω.