Hantek DSO5000 series oscilloscope modifications. Part 1 – doubling the bandwidth of DSO5102B.

Hantek DSO5000 screen

Hantek DSO5000 screen

Some time ago I realized that I need to add digital oscilloscope to my set of instruments. DSO is handy for measurements and taking screenshots and this is what I have been doing a lot lately. After comparing specs of current models from several manufacturers I picked Hantek DSO5102B scope. The main reasons to choose this model were cost, screen size, and rich potential for hacking – in no particular order.

Hantek DSO5000-series scopes come in 3 bandwidth variants – DSO5062B(60MHz), DSO5102B(100MHz), and DSO5202B(200MHz). They are identical or nearly identical (early production scopes of different bandwidth had different value resistors soldered in analog front end but that’s the only difference), and making one from another is a simple matter of editing certain configuration files inside the scope. In addition to that, many other modifications can be made, including fan speed, low jitter ADC clock, low noise power supplies, and many others (see the EEVblog thread – the first link in the list at the end of this post). Newer benchtop DSO/MSO oscilloscopes from Hantek are based on the same hardware and there were successful attempts to make a MSO from this scope by adding a logic analyzer PCB.

As is often the case with Chinese products, the oscilloscope is also available under brand names Tekway, Voltcraft and some others with model numbers different from Hantek. The firmware has been originally developed by Tekway and uses Tekway model numbers – DST1062B(60MHz), DST1102B(100MHz), DST1202B(200MHz). Out of many brand names, Hantek seems to be the cheapest. Also, where I live (the US) Hantek can be bought locally. When I was shopping around, 60MHz models were more expensive than 100MHz so I ended up buying DSO5102B from Hong Kong for $388.88 shipped by UPS Global Express.

After receiving the instrument I checked the functionality. The scope worked well, the screen was large, and bugs were tolerable. I then proceeded to “modify” the device to 200MHz model; what follows is the detailed description of the steps I took to implement the mod outlined in EEVblog thread (Tinhead, you are the man!) – proceed at your own risk! The instrument has no “warranty void” stickers and I’m assuming that from the warranty standpoint opening the case is OK but I never bothered to actually check this assumption. In the worst case the instrument would have to be shipped to the seller/manufacturer for repair or replacement. Also, the procedure involves operating the device with power supply exposed – please be careful!

Continue reading Hantek DSO5000 series oscilloscope modifications. Part 1 – doubling the bandwidth of DSO5102B.

Adjusting inverter control in Tektronix 7104 oscilloscope power supply

Access to 109V test point

Access to 109V test point

In this short article I want to share a trick that I learned today while checking the power supply of my trusty Tektronix 7104 oscilloscope. Step A2 of calibration section of the manual calls for measuring/adjusting of pre-regulated 109V voltage on TP1326 test point. Typically, test point access for this step requires removing power supply cover which takes time and exposes high voltages. The test setup presented on a title picture( click on it to make it bigger) shows how to access this test point leaving power supply cover in place.

The power supply cover is at ground potential so don’t try to reach the test point with non-insulated probe. I used Tektronix Klip Chip IC probe threaded through nearby ventilation hole to grab the test point post. The post is clearly seen through a larger hole, through which an adjustment potentiometer R1293 is usually accessed. A flashlight is handy.

Next picture shows the closeup of the test connection. A test probe is supported by a “Third Hand” thingy – I wanted to observe voltage fluctuations in the course of two hours to make sure it stays within limits.

I’m hoping this trick will be useful for somebody dealing with similar power supply.


Troubleshooting Arduino USB Host Shield

USB Host Shield in a test fixture

USB Host Shield in a test fixture

[EDIT]This article covers revision 1 of the shield. Current revision (2.0.x) is slightly different and works under different software. The following test routine shall be used to test the board and generate test signals.[/EDIT]

Making electronic devices requires close interaction with parts – reversing supply polarity, overloading inputs, and inadvertently shorting pins with test leads. Consequently, occasional destroying of parts is natural and shall be anticipated. I have been in correspondence with several electronics enthusiasts helping them getting their shields fixed and since their problems look similar to what I see when doing post-manufacturing quality control I decided to share my testing procedure along with some pictures.

In the past, it was customary to include schematic with every electronic device documentation. Complex devices, such as oscilloscopes, spectrum analyzers and other test instruments used to have service manuals containing detailed calibration and repair procedures. At some point, service manuals and schematics disappeared from the documentation for various reasons – equipment users were left to deal with manufacturer’s support or rely on their own reverse engineering skills. With open source movement and general understanding that sharing information is beneficial, manufacturers resumed publishing schematic diagrams of their creations. This article presents next logical step – a service manual for Arduino USB Host Shield, sort of.

Much of the testing is performed using board test sketch, available from examples section on github. Two files are necessary – board_test.pde and board_test.h containing diagnostic messages. The sketch tests 4 major parts of the circuit – SPI interface, general purpose input/output pins (GPIO), quartz crystal oscillator, and finally USB SIE. The main loop is written so that any test can be turned off if necessary by commenting out a single line. GPIO lines are checked using a loopback adapter – a thing that connects GPIN0 to GPOUT0, GPIN1 to GPOUT1, and so on. This test is made optional – if you don’t connect GPIO lines as described, the test will print an error message and continue with the next test. Also, GPIO test is placed between short and long SPI tests. The reason for this is that due to MAX3421E internal organization both short SPI test (reading REVISION register) and GPIO read/write doesn’t require working crystal oscillator, whereas long SPI test (reading/writing any other register) will fail and stop if crystal is defective. Therefore, when I see short SPI and GPIO tests passed and long SPI test fail I know that it’s actually a crystal which is dead, not SPI.

In addition to board test program, you will need a multimeter with thin sharp test leads to measure voltage and resistance between board elements. Some of them are quite small so a magnifier is also handy. Certain steps of the test procedure call for time-base instrument. Modern digital mixed-signal oscilloscope is the best choice, however, since very few people can afford one, a method of visualizing SPI traffic with plain analog oscilloscope will also be demonstrated. Logic analyzer is handy, but optional. For testing USB transactions you will also need some sort of device connected to shield’s USB connector. I usually use USB flash drive as a test device.

The article as well as board test program is written for worst-case scenario, i.e., shield which was built from scratch or came from major rework like MAX3421E replacement due to applying 5 volts to 3.3V pin. The test program works the same way with all four configurations, however, manual tests are shown only for “Simple” configuration, i.e. one with level translators and receiving both 3.3V and 5V from Arduino Duemilanove or similar (no DC-DC converters). Testing other configurations is slightly different and will be noted in the text. Also, “Minimal” configuration calls for specific type of test device – I use digital camera.

Continue reading Troubleshooting Arduino USB Host Shield

Repairing front panel buttons of Tektronix 7904 oscilloscope.

Front panel interconnect board of Tektronix 7904

Front panel interconnect board of Tektronix 7904

I am a proud owner of several Tektronix 7000-series mainframes. Among them, 7904 500MHz 4-compartment oscilloscope is my bench workhorse. The screen is big enough, the bandwidth is adequate for majority of tasks I do, and absence of cooling fan makes it pleasantly quiet. In addition, the instrument is lightweight comparing to other 7000 mainframes and has legs mounted on the rear panel making it possible to put scope on the floor in a vertical position.

I became annoyed by malfunction of right buttons of both vertical and horizontal mode selectors (they failed to lock in place) and decided that my scope deserves some TLC. Besides fixing the buttons I also wanted to replace some dead illumination bulbs with LEDs. Mode switches are dual, with one switch in the pair dedicated to turning light bulb on/off. Bulbs are powered by 5V and dimming is implemented by means of two diode drops. So the 3V LED restricted to 10ma by a resistor shall work fine and even be able to dim a little. In addition, LED power is comsumption about 8% of a bulb.

The front panel buttons are mounted on a narrow PCB (called “A3- Front Panel Interconnect Board” in the service manual) running across the middle of the front panel. It can be easily accessed after removing side panels. There are several cables connected to the board on both sides, it is good idea to mark them before disconnecting. The title picture shows left side of the board (one close to horizontal bay “B”) with my marks on it. After pulling out cables I moved the PCB carefully towards the rear and to the side. The board bends easily and is somewhat accessible form the top of the instrument.

The button assembly is held in place by screws also used to mount upper plug-in guide bars in the plug-in compartment. Picture below shows location of the left ones (holding vertical mode buttons). After unscrewing four Phillips-head screws I pulled the vertical mode buttons out of the chassis, carefully guiding it around cables, structural members and dead mice.

Continue reading Repairing front panel buttons of Tektronix 7904 oscilloscope.