Posted on Leave a comment

Test Equipment Upcycling – Variable Attenuator Module

A while back I found myself in the need of an adjustable RF attenuator capable of high-GHz operation. As luck would have it I had an old Spectrum analyser on the shelf at work, which we had retired quite some time ago.

Spectrum analysers being quite capable test instruments, I knew that the input attenuation would be done with a standalone module that we could recover for reuse without too much trouble.

The attenuator module

Here’s the module itself, with the factory drive PCB removed from the bottom, showing the solenoids that operate the RF switches. There are test wires attached to them here to work out which solenoid switches which attenuation stage. In the case of this module, there are switches for the following:

  • Input select switch
  • AC/DC coupling
  • -5dB
  • -10dB
  • -20dB
  • -40dB

For me this means I have up to -75dB attenuation in 5dB steps, with optional switchable A-B input & either AC or DC coupling.

Drive is easy, requiring a pulse on the solenoid coil to switch over, the polarity depending on which way the switch is going.

Building a Control Board

Now I’ve identified that the module was reusable, it was time to spin up a board to integrate all the features we needed:

  • Onboard battery power
  • Pushbutton operation
  • Indication of current attenuation level

The partially populated board is shown at right, with an Arduino microcontroller for main control, 18650 battery socket on the right, and control buttons in the centre. The OLED display module for showing the current attenuation level & battery voltage level is missing at the moment, but it’s clear where this goes.

As there weren’t enough GPIO pins for everything on the Arduino, a Microchip MC23017 16-Bit I/O expander, which is controlled via an I²C bus. This is convenient since I’m already using I²C for the onboard display.

Driving the Solenoids

A closer view of the board shows the trip of dual H-Bridge drivers on the board, which will soon be hidden underneath the attenuator block. These are LB1836M parts from ON Semiconductor. Each chip drives a pair of solenoids.

Power Supplies

The bottom of the board has all the power control circuitry, which are modularised for ease of production. There’s a Lithium charge & protection module for the 18650 onboard cell, along with a boost converter to give the ~9v rail required to operate the attenuator solenoids. While they would switch at 5v, the results were not reliable.

Finishing off

A bit more time later, some suitable firmware has been written for the Arduino, and the attenuator block is fitted onto the PCB. The onboard OLED nicely shows the current attenuation level, battery level & which input is selected.

Posted on Leave a comment

DIY 75Ω Matching Pads

Recently I found the need to do some measurements on 75Ω CATV equipment, only having 50Ω test equipment to use. For this, matching networks exist to convert 50Ω to 75Ω, but they’re fairly simple, so building them was a viable option.

Matching Pad Schematic
Matching Pad Schematic

Above is the very simple schematic to create the 75Ω match. To help keep any parasitics down, this circuit will be built directly onto the back of BNC connectors, that are soldered back-to-back, before being covered in shielding tape.

Resistors Soldered
Resistors Soldered

Here’s the first 50Ω BNC connector, with the resistor network soldered on. I’ve used 4x 360Ω resistors in parallel to create the 90Ω to ground, and a single 43Ω series resistor on the centre pin.

End View
End View

This end view of the arrangement shows the 4 resistors evenly spaced around the centre pin & soldered to the shell.

BNCs Soldered
BNCs Soldered

The centre pin of the 75Ω BNC connector is trimmed down to match the length needed to touch the end of the series resistor, and it’s soldered in place. It’s a bit tricky, soldering within the gap between 2 of the ground pins!

Completed Matching Pads
Completed Matching Pads

Finally, the internals are shielded with copper tape, soldered at the seams.

Posted on Leave a comment

NanoVNA-Qt Raspberry Pi AppImage Build

There’s quite a nice desktop app for the new NanoVNA v2, NanoVNA-Qt. It’s released as an AppImage for Linux, but unfortunately there is no version to run on a Pi supplied. The version below is built to run on the latest version of Raspbian (as of writing this, 2020-05-27).