GW Instek GDS2204E review and testingThe reason I was looking for an oscilloscope is because I wanted an extra oscilloscope to bring to customers. No way I'm going to bring my Agilent DSO7104 to some factory floor! Especially since my other oscilloscope fell from a table during some tests. My basic requirements are 200MHz-ish, reasonably deep memory, serial protocol decoding (including CAN) and easy to transport.
So time to grab something cheap... I have been looking at other (used) oscilloscopes as well like the Agilent/Keysight DSOX2k or 3k series. I didn't like the R&S and Lecroy offerings because while the oscilloscopes are not terribly expensive you have to pay through the nose to get the serial decoding options. Rohde & Schwarz charges over 3000 euro (ex. VAT!) for UART, CAN, SPI and I2C for their RTM1500 series; Lecroy is slightly cheaper but still in the same ballpark. At least the Agilent/Keysight scopes have the possibility to liberate the options or spend around $800 on an option bundle. Rigol would have be an option too but lack of cheap 4 channel >=200MHz models, decoding only what is on screen (utterly useless!) and slow bug fixes put me off. The same goes even more for Siglent which has been struggling for two years already to get their SDS2000 series oscilloscopes on the rails and there is still no light at the end of the tunnel.
So the search went on... After looking around on various websites the GW Instek GDS2204E caught my eye. The GDS2204E (which is the top model in the GDS2000E range) is a 4 channel 200MHz oscilloscope which comes standard with I2C, SPI and CAN/LIN decoding, LAN (ethernet), USB, segmented recording for around 1290 euro / $1450 (ex. VAT). Now that looks like a good deal! I am not going to take it apart because Dave already did some teardowns of some GW Instek scopes and I doubt the GDS2204E will be much different (A Xilinx Zync + DRAM board and analog front-end) . Besides that I have it for evaluation and at the first sign of serious problems it goes back! I got my GDS2204E from a local dealer called Eleshop. Oddly enough it got shipped to me from Good Will Instruments Europe directly which turned out to be located in the Netherlands. Unfortunately they did not install the latest firmware on it (V1.20 at the moment of receiving it). Also the calibration certificate is dated from January 2015 so this scope has been in their warehouse for a while! Updating the firmware is described in the firmware update guide but it is not very clear. After the firmware update the scope says it needs to be turned on/off but after that the GW Instek logo remains on the screen. After 15 minutes I decided to power cycle it again and this time it started. Pfew!
During my testing I ran into some issues and GwInstek has send me version 1.21b to test with. The update from 1.20 to 1.21b2 went smoother; the oscilloscope started by itself after a short while. After I found a few more issues they send met version 1.21b6 to test with. In the end this review went through a few rewrites to update it with the fixes. Also the update manual is not very clear on whether the update procedure must be run twice (update the kernel and then the firmware itself) or not. Better safe than sorry so I loaded each new firmware file twice.
OK! Let's see how the Taiwanese build oscilloscopes...
First impression: lots of function keys around the screen and it also has a 'force trigger' button. Very handy to get some lines on the screen to help adjusting the trigger level. Others complained about the position of the 'Autoset' button. I think I'll have to agree with them because it is very close to the 'run/stop' and 'single' buttons. To add to the insult the 'Default' button is below the 'single' button. The top-right corner is definitely a danger zone for pressing buttons without looking and messing up the settings because there is no undo button. For the rest the layout of the buttons seems pretty standard. Each channel has it's own control but I don't really care whether each channel has it's own controls or you have to select a channel first. BTW most scopes need extra 'virtual channel' buttons to control math and bus (decoding) traces so you you still have channels without dedicated controls. Some rotating knobs are push buttons (channel offset, trigger level, horizontal position). Pushing them makes the control go back to zero. What GwInstek did right was putting a seperate select/enter button next to the rotating knob (called 'variable') for changing values. On other scopes pushing a rotating knob very often results in selecting a different option. On the GDS2204E the rotating knobs respond well and the accelleration is just right for selecting single items or change a large number quickly. Even the on-screen keyboard (which I tend to hate in general) for entering text and numbers is easy to use compared to other on-screen keyboards I have come across!
The GDS2204E also has the ability to choose whether to expand the signal from the trigger point or from the time-base offset. The selection is slightly hidden in the acquisition menu but it is a very handy feature to zoom in on part of a signal quickly without needing to scroll left & right to get the point where you want to look at on screen again. On other oscilloscopes the way to do this is to set the trigger point somewhere along the horizontal axis. On my DSO7104 I can choose between left, centre or right and on my Yokogawa DL1740 I can set it freely.
Another interesting point are the available languages, As far as I can see the scope supports English, Taiwanese, Chinese, Japanese, Korean and Russian. No German, French, Italian or Spanish which would be important to support for the European market since the people in those countries are notoriously bad at speaking other languages than their own!
Test planBased on past experiences I have made a test plan with items I wanted to test. I want to take the GDS2204E through it's passes thouroughly to make sure I don't get burned again by an incomplete and bug infested oscilloscope. Tests in random order:
- Bandwidth / aliasing
- Memory length versus number of channels enabled since this wasn't specified very clearly
- Samplerate versus channels enabled (again not specified very clear)
- FFT function
- Filtering
- Protocol decoding and especially how much of the memory is decoded
- Saving images and data
- Saving / recalling setup
- Cursors
- AM modulation signal distortion problem Dave spotted in the GDS2304A
- Operating / using the scope
- PC software
- Networking abilities
- Signal noise floor
- Fan noise level
- Peak detect and roll mode
- Segmented recording and decoding
- Retaining settings
- Storing waveforms
The secondary goal is to use the oscilloscope for a couple of hours in order to spot stability problems.
Memory / Operating / using the scopeThe GDS2204E oscilloscope has 10Mpts per channel which isn't shared and not used for double buffering so each channel really has 10Mpts unless FFT is enabled which can be used up to 1Mpts (I have carefully avoided the word limited here because a 1MPts FFT is anything but limited!). The samplerate is 1Gs/s with up to (any!) 2 channels enabled and 500Ms/s with 3 or more channels enabled. The fan produces a low humming sound but it is not extremely loud but there is also a high pitched whining noise coming from it which could become irritating in a quiet environment. The fan noise level is pretty much similar to my Agilent DSO7000 and doesn't become annoying. Each channel has a 1-2-5 selectable probe division factor with a range from 0.001x to 1000x (nice!) and the channels can be switched between Volts and Amperes. When set to Amperes the division factor also shows Volt per Ampere. There is also a dedicated function key to select the 10x factor directly as this is the most used value. After playing a little with the various functions and buttons it has become clear to me that the firmware is a general purpose one that GW Instek uses among other oscilloscopes. There are greyed out options for digital channels, function generator options, etc and it seems they can also add extra (paid) options to future firmware versions. The protocol decoders for example are listed as software options. Besides the decoders there are also applications for enabling digital filters on channels, data logging and a voltmeter. One neat feature is that this oscilloscope also has internal storage so you aren't required to bring a USB stick along for storing images or some data. The internal storage is 32MB which is enough for lots of screendumps but not for storing serious amounts of waveform data (10MPts results in a 244MB CSV file per trace). When browsing through files it shows a thumbnail of images. The firmware developers obviously had some time to spare on small details like these! When creating a screendump by pressing the hardcopy button the process is remarkably quick. Not some progress bar showing it is doing an image dump for several seconds. The GDS2204E pops up a message with the filename which has been saved almost immediately after pressing the hard copy button.
Another fun fact is that the frequency for the probe calibrator signal output can be adjusted. Perhaps they guessed it can also serve as a simple signal generator.
After the firmware update I ran the self calibration procedure. There is a calibration signal output BNC for this purpose which needs to be connected to an input when the oscilloscope says so. Additionally there is also an SPC (signal path compensation) procedure which can only be run after the scope has been on for at least 30 minutes.
One quirk so far: when in stop mode the oscilloscope goes into acquisition when the 'zoom' button is pressed. WTF? This doesn't happen if you press the 'pause/playback' button so the 'pause/playback' button is the safe route into zoom mode without starting an acquisition. Oddly enough this only happens with acquisition lengths set to 1Mpts or 10Mpts. According to GwInstek this is due to a limit in the hardware but since the 'pause/playback' button sometimes allows to get into zoom mode while staying in stop mode I'm not so sure... For example the workaround doesn't work when decoding is enabled though.
I also tested peak detect in roll mode and the GDS2204E has no problems showing a 16ns pulse in 2s/div so that is good. On the other hand the roll mode scrolls a bit jerky which gets worse with more channels enabled. The response to controls also slows down when it needs to do calculations on long acquisitions.
Screen layoutThe screen layout on the 800x480 display isn't too crowded though I wish they went for a 12x8 or 14x8 graticule with squares instead of 10x8 rectangles; it would make better use of the wide screen. There is a dedicated menu-off button to get rid of all the menus so no drama there. What I like is the frequency counter in the bottom right corner which seems to be based on number of edges the trigger sees. It is always handy to have a quick idea about the frequeny of a signal. This frequency counter keeps working while in stop mode.
Retainging settingsI can be short about this: the settings are retained between power cycles. Even the input filtering settings are retained. Let's mark that as OK.
Bandwidth and acquisition modesI measured the bandwidth for each channel with the reference level at 10MHz (the generator I used doesn't go lower) and using a BNC T with a 50 Ohm terminator to make the inputs 50 Ohm-ish. All channels have an equal bandwidth of 290Mhz but they start to roll-off from 70MHz so it seems the anti-aliasing filter isn't very sharp. OTOH a sharp anti-aliasing filter will cause more phase shift and peaking so pick your poison. When having 3 or more channels enabled (500Ms/s samplerate) the useable bandwidth is 200MHz. Above that frequency there is all kinds of aliasing but that is to be expected. But there is something odd: with peak detect enabled the 20MHz sine wave gets distorted when having 3 channels enabled! There is a 2ns (1/500MHz=2ns) delay between the distortions so perhaps it is trying to display 2 peak values next to each other as one waveform which isn't going to work. Actually I think the peak-detect mode should disable itself at certain time base settings where there are less samples than (horizontal) pixels on the screen!
When in stop mode and expanding a waveform with peak detect on (in the area of 5ms/div) there are aliasing distortions as if it doesn't do peak-detect at all. Are these phenomena to be expected? Yes, it all has to do with limits of sampling systems! GW Instek has send me some screenshots from a Tektronix scope they use and it shows exactly the same behaviour at low time/div settings with peak-detect enabled. When doing similar tests on my Agilent DSO7104 it also shows similar behaviour but to a lesser extend. I guess at some point a trade-off between screen update speed and going through all the memory has to be made.
Noise levelThe minimum volts per division setting is 1mV and with the inputs open the noise is around 0.5mV (using a 50 Ohm terminator makes no difference). When a channel is set to GND the ADC value is clearly overwritten by 0.