Month: August 2022

Agilent E4432B Signal Generator Repair


About a year ago, I bought an Agilent E4432B ESG-D Series Signal Generator on eBay. Those signal generators are used in the area of analog and digital wireless communications system testing. The frequency range of my model goes from 250 kHz up to 3.0 GHz, the maximum radio frequency (RF) power output into a 50 Ω termination is in the range from +17 dBm  to -136 dBm. This instrument will be useful in a different project of mine where I need a good spectral quality sinewave at frequencies of about 80 MHz for mixing RF signals. Another very useful feature is the ability to modulate the carrier frequency (AM or FM) which can be demodulated by a Software Defined Radio (SDR). It can be automated via GPIB and synchronized to a 10 MHz reference. Due to its high broad frequency coverage and level accuracy, it would be useful to test my (currently broken) spectrum analyzers, too. Unfortunately, my eBay score had a flaw which I want to talk about.

Fig. 1: Agilent E4432B ESG-D Series Signal Generator

Problems with the Step Attenuator

The unit I received is about 15-20 years old and had already approx. 61000 operating hours (equals to ~7 years of 24/7 operation) and 770 power cycles. It was overall in a good shape although one of the external input BNC jacks was loose and had a slightly damaged thread. After turning the signal generator on, I ran the diagnosis and no faults or errors occurred. I tried to set up an RF signal output at different frequencies and I noticed a very uncommon behavior: there was a sinewave at set frequencies in the range from 250 kHz up to 400 MHz (max. analog bandwidth of my oscilloscope) but the signal wasn’t present at certain amplitude levels. I checked the different amplitude levels noticed some kind of a strange pattern (see Table 1).

Table 1: Tested amplitudes at 10 MHz. The plus sign (+) indicates a present signal, minus sign (-) represents “no signal”
Amplitude (dBm) -60 -55 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0
Signal present? ? + + + + + +

The signal at -60 dBm and lower amplitudes was too weak for my oscilloscope to detect but the pattern indicated a problem. Luckily I’ve seen a repair video by Shahriar of TheSignalPath  some time before acquiring this signal generator where he had a similar unit on the healing bench with identical symptoms. This kind of problem seems to occur in HP/Agilent test equipment (e. g. Types HP 8648A or E4400 Series signal generators or HP spectrum analyzers) where mechanical attenuators are actuated by solenoids. The detailed construction and working principle of the mechanical step attenuator is well explained in Shahriar’s video. There is also a very good repair video from YouTube user idpromnut where I got many useful repair tips.

Fig. 2: Aging O-rings as error source inside of the Agilent 33322-60014 step attenuator. Image credit: YouTube/TheSignalPath

While changing the attenuation range in steps of 5/10/20/40/60 dBm, the corresponding solenoid exerts a force on very small rubber O-rings which are used as an interface between a metal plate and plastic plungers (see photos). The plastic plungers are connected to metal strips which are pushed onto resistor traces in order to make electrical contact with a corresponding attenuation resistor. Over time, the O-rings lose their flexibility, become brittle and are either crushed by the actuating mechanics or just fall off their spot. This impairs the ability to switch the attenuator levels properly. Checking the instrument diagnosis revealed over 660k attenuator cycles which supports the faulty O-ring assumption. Luckily, this fault is  easily repairable to a certain degree without having to disassemble the delicate RF parts. Buying a new attenuator wasn’t an option because the current prices on eBay are in the order of $500 per attenuator. The signal generator is worth $700 – $1200 depending on measurement capabilities/installed options so replacing the attenuator would hurt the hobby budget.

Fig. 3: Schematic drawing of the attenuator mechanics and O-ring

In order to repair the attenuator, the O-rings have either to be replaced or glued with a flexible epoxy according to TheSignalPath video. I’ve chosen the replacement method since I don’t have proper epoxy glue. However, idpromnut showed in his attenuator repair video the replacement procedure of O-rings on a similar unit. He suggested to buy “Wrist watch clock Crown-O-Rings” on eBay from RUIHUA No. CO-12. It’s a set of O-rings in different sizes used by watchmakers. I ordered mine from XIAOJIA for approx 9 EUR. The replacement O-ring size is “2.0mm 1.0×0.5” (2.0 mm outer diameter, 1.0 mm inner diameter and thickness 0.5 mm).

Fig. 4: XIAOJIA No. 0220 Watch Crown O-Ring set. I used the 2.0mm 1×0.5 O-Rings in order to replace the faulty ones inside of the Agilent 33322-60020 step attenuator

Repair Attempt

Fast forward to August 2022. Back in June 2021 I didn’t have the right lab equipment and spare time. It wasn’t a high priority repair so more than a year passed by. Meanwhile I acquired enough lab equipment to start a repair attempt. My basic tools were: screwdriver with hex/torx bits, flashlight, magnification glass, tweezers and a 1 Nm torque wrench for the SMD connectors. I was a bit paranoid concerning electrostatic-sensitive devices (ESD) so I used an ESD mat and ESD-compliant tools during repair. Wearing latex gloves proved to be useful because of ESD matters and avoiding contamination of sensitive parts and metal surfaces with grease or fingerprints. I had access to other tools like torque screwdriver and a stereo microscope for additional delicate work which weren’t necessary for this repair. I cleaned my lab prior to this repair attempt in order to remove as much dust as possible to mitigate the contamination of the (ESD-)sensitive electronics. I’ll post some pictures showing the repair steps. I’ve uploaded many more pictures into my Piwigo Photo Gallery. Check them out if you want to see more high-resolution images.

Fig. 5: Agilent E4432B after removal of the covers
Fig. 6: Photograph of the RPP (reverse power protection) module. The step attenuator is located just behind the RPP
Fig. 7: After removing two cables, unscrewing the rigid coaxial connectors and removing two screws, the RPP/attenuator assembly can be lifted out very easily
Fig. 8: Further disassembly of the RPP and Agilent 33322-60020 step attenuator
Fig. 9: Screwdriver used to open up the Agilent 333222-60020 step attenuator. The +20 screws on the top (covered by the Agilent label) were not removed, only the screws on the left and right hand side covers
Fig. 10: Agilent 333222-60020 step attenuator close-up. After removing the side cover, broken O-ring fragments fell out
Fig. 11: Agilent 333222-60020 step attenuator after removing the shield/housing
Fig. 12: Visual inspection of rubber O-rings and plastic plunger inside of a Agilent 333222-60020 step attenuator. One can see clearly a brittle O-ring in the center of the image which will fail somewhere in the future. However, this attenuator stage is still in a working condition
Fig. 13: Close-up of the faulty attenuation stage Agilent 333222-60020 step attenuator). The yellow/brown-ish plastic plunger is moved by the metal plate up and down. At a certain point, the O-ring became brittle, opened up and got stuck to the metal housing. The other O-ring (not seen in the picture, hidden behind the silvery screw) already fell apart and crumbled away

At this point, the visual inspection showed one attenuator where O-rings were missing. Other stages were in a decent working condition. However, the impending failure was clearly visible. I decided not to disassemble the whole unit and try to insert new O-rings. This had to be done by fiddling around with tweezers and trial-and-error. It took me about two hours to insert two O-rings. In the end, they fitted perfectly.

Fig. 14: I was trying to use sharp tweezers and push the O-ring into its place. The O-ring slipped many times and I had to start all over again
Fig. 15: Photograph of the attenuator stage after a successful replacement of the failed O-ring. The newly installed O-ring can be seen on the top of the metal plate (the metal plate is “sandwiched” by two O-rings)
Fig. 16: Faulty parts after repair of the Agilent 33322-60020 step attenuator. The rubber O-rings have dried out, become very brittle and failed. The outer diameter of the circular O-ring is approx. 2.0 mm
Fig. 17: The assembly was done in the reverse order. It’s important to use a torque wrench for the SMA coaxial connectors. A torque of approx. 1 Nm or 9 in-lbs is necessary according to the service manual. Applying correct torque is needed to prevent damage of the connectors. It also affects the RF performance in the GHz range
Fig. 18: Testing of the repaired unit. The signal at 0 dBm amplitude wasn’t present prior to this repair attempt. After repair, all amplitude settings worked without problems!

Summary and Conclusion

I would consider this repair as “easy” thanks to TheSignalPath and idpromnut‘s detailled repair videos. I couldn’t do it by myself because I’m not an RF test equipment expert and I haven’t done such repairs before. It’s just another hobby and I’m relying on some help from the outside. However, this repair was very rewarding and only temporary. The visual inspection showed the impending failure of the remaining O-rings. Servicing this unit will surely be necessary somewhere in the future. I’ll have to replace every O-ring to be sure they won’t fail again for the next few years.

Also one has to consider post-repair procedures as the service manual suggests. I haven’t checked the amplitude over the frequency range because of limited measurement capabilities. I just recently acquired a RF power meter which has to be calibrated first. My spectrum analyzers only cover the frequency range up to 1…1.8 GHz and aren’t very trustworthy. I’ll also have to check the post-repair performance of the step attenuator with a Vector Network Analyzer (e. g. NanoVNA V2 Plus4) in order to be sure the unit is working properly.

Bicycle Tour 2022

I really love bicycle touring. My last bike tour was back in July 2019 and took like 16 days and approx. 1000 km. The past two years have been very difficult for travelling due to COVID-19 restrictions. The camping sites either closed or the COVID-19 rules were very restrictive and differed from site to site. Travelling in 2020 and 2021 was really difficult and risky. Luckily, the situation changed in 2022 and due to vaccinations, declining COVID-19 pandemic situation and reopening of the tourism and travelling sectors in Germany, it was possible to travel again.

I took the chance and organized a little bike tour during my vacation. My original plan was something like this: travel by bike and tent for 6 days from Hanau to Braunschweig, Germany. It was coupled with a visit to my relatives in Hanau – a mid-sized town near Frankfurt am Main in the state of Hesse. The daily tour distance should be something like 60-80 km and the total distance from Hanau to Braunschweig should be approx. 400 km. Planning the route by was pretty easy but I missed two important factors: the terrain and total weight of me and my bike. While the terrain in Lower Saxony is mostly flat and very easy to manage – this isn’t the case in the hills of Hesse, especially when one has a 40 kg packed travelling bike and approx. 120 kg of muscles fat riding the bike. So yeah… I kinda underestimated the effort which was punished later 😉

However, I was preparing this tour for about a week. Riding approx. 30 km per day helped to build condition and to get used to sitting on a bike for 2+ hours.

Day 1: Hanau – Gelnhausen – Schlüchtern

The tour started on the hottest days of the month. This wasn’t planned at all. The temperatures were around 37-39 °C and there was not even one cloud from early morning until sunset. This was definitely not my cycling weather. Cycling the first 40 km was easy until the heat drained my powers. The last 20 km were exhausting but I managed to reach Schlüchtern. My first camping site was about 3 km outside of Schlüchtern – “piece of cake” I thought. The camping site was on a hill of approx 250 m height. My mistake was using the Google Maps guide. The suggested route was closed and I spent 2 hours in the woods and hills pushing my 40 kg bike at 12% upward slopes. I finally managed to reach the camping site Hutten-Heiligenborn at 8 pm and was wrecked. The camping site was very nice and I was welcomed by the site manager. Tent, shower, dinner, sleep, RIP.

Day 2: Schlüchtern – Fulda – Schlitz

The cycle route downhill was really nice! I was able to go at 40-50 km/h for about 7 km. 26 km later, I reached the city of Fulda. Fulda was very inviting due to very good cycling roads. I visited the central train station involuntarily because I got lost few times due to bad road signs. Nevertheless, the temperatures rose higher and higher up to 39 °C and my performance dropped steadily. In the village of Kämmerzell I got lost again but this was really bad. The route got me into a 7 km lasting agony of steep hills (remember? 12% upward slope at 39 °C and 160 kg of total mass?) which lasted for like 3 hours. Luckily, I was pushing my bike on forest roads where most places were in the shadows at 35ish °C but that’s it. This unintentional route killed my schedule and I was unable to reach my planned camping grounds.  My provisions have been spoiled by the hot weather and I had to resuppy it on the next day. Luckily, there was a small camping site in the city of Schlitz (where I got lost again, thanks Google Maps). Later at night, there was a thunderstorm but this was no problem for my Hilleberg Unna tent!

Day 3: Schlitz – Bad Hersfeld – Melsungen

I think this was the best cycling day I had in a long time. Due to the thunderstorm and colder weather, the temperatures dropped significantly from 39 °C to a cloudy 23 °C. This was like heaven for cycling – the heatwave was gone and the temperatures were ideal for cycling. My performance on this day was OK: my muscles and my butt didn’t hurt much and I was able to cycle 95 km total. I still wasn’t able to catch up to my schedule because I was like 40 km behind. When reaching the city of Melsungen at 7 pm, I thought I had enough power to make it the next 40 km but as soon as I saw the next camping site, I knew it was time to get some rest. Cycling at night in unknown terrain can be dangerous (you get lost very easily, bad sight during night). So I stopped on a small camping site near Melsungen and it wasn’t a bad decision at all.

Day 4: Melsungen – Kassel – Hann. Münden – Hemeln

Oh yeah, I overdid it on Day 3. The daily goal was set to 90-100 km but I managed to get only 78 km total. The weather was very good (cloudy, 25 °C) and I was progressing very well until I reached the city of Kassel. Here I got lost multiple times due to construction sites and spend like 2-3 hours cycling through Kassel. I stopped here and there to take photographs but wasn’t able to do a sightseeing tour. Kassel was very stressful because I had to take routes on busy roads for a while until I found the correct cycling route. This set me further back in my schedule. The route from Kassel to Hannoversch Münden was very nice and relaxing. I met another elder cyclist which cycled with me for about 12 km. Having company was nice because we were very fast and could talk about the usual stuff (small talk). Hann. Münden was a very nice city – this is the place where the rivers Fulda and Werra combine into the river Weser. I wish I could have stayed there longer. However, I left Hann. Münden at 2:30 pm and at about 3:30 pm, my performance started to decline due to muscle and rear pain. I didn’t want to ignore the pain signs and I visited a camping site in a village called Hemeln. Good decision (as usual). I needed some rest and as soon as my tent was up, I went inside and slept for like 2 hours. Then shower, dinner, sleep 8h.

Day 5: Hemeln – Höxter – Holzminden – Stadtoldendorf – Braunschweig (by train)

Unfortunately the final cycling day. I got up very early in the morning and left the camping site at about 8 am. All the muscle pain was gone and I was able to cycle at a fast pace again. The weather wasn’t very bad and this got me excited because I felt like I could do 100+ km on this day. My goal was Seesen, a small town near the Harz mountains. The distance was calculated at about 140 km. Since 100 km are no problem, an extra 40 km should be possible, too. Wrong! The first 60 km weren’t bad at all. My speed was OK but the temperatures started to rise again. By noon, the temperature was at 28-30 °C and my rear started to hurt every few kilometers. So I had to push the bike for a while until the pain went away but this set me back in my schedule. After visiting few cities such as Bad Karlshafen, Höxter and Holzminden, I left the Weser cycling route and set the route towards east (R1). At 80 km distance, I was really exhausted and had to take breaks every few kilometers. I reached a place called Stadtoldendorf at 4 pm and still had to cycle 50 km to Seesen. At 13 km/h, this would have taken 4 hours at least. I resupplied my water and food in Stadtoldendorf and I got lost again due to a major construction site. Unfortunately, Google Maps calculated a wrong route directing me into steep hills and I gave up.

I re-routed Google Maps to the next train station and started the adventure back home to Braunschweig by train. Luckily, I was able to travel with my 9-EUR-Ticket and the trains were not full at the time. After spending 3 hours in regional trains, I was able to reach home safely. My daily distance was 110.95 km, my new personal record (my highest was at 110.68 km in the year 2019). I must admit, I had to use Ibuprofen due to muscle pain.


It was a very interesting and adventurous cycling tour 2022 (as usual). I’ve seen many wonderful landscapes and places, cycled about 425 km total. The weather was good and bad and I got lost many times (as always). I learned a bit about planning routes and learned a lot about my cycling performance. Using petroleum jelly for skin lubrication was a winner. I packed the wrong stuff which I never used on tour (gas stove, blanket, accessories, food) but which added to the total weight. My provisions got spoiled by the hot weather so this is an important issue to consider for future routes. I hope to reduce my body weight by winter so I’ll be able to do another cycling tour at the North Sea. I’ve done this before and it was one of the best cycling tours I had so far.

I would recommend everyone to participate in such cycling tours. If you’re not a cyclist, go hiking instead! It’s a challenge to travel alone over the course of many days. For me it’s important to realize that travelling from A to B takes time and effort. Sure, one can drive into holidays or fly by airplane with little to none effort. This behavior has two negative effects: people just don’t realize how hard it is to move things from A to B and we take many modern things for granted. Cars and airplanes may be the foundation stone of our modern civilization but our civilization will have to change significantly in the next few decades or we’ll have really difficult times here on earth (climate *cough* change).