Some potentially useful information that cannot be found with a single Google search.
Specifications of some commonly used varactors:
- Motorola MVAM108 25-500pF; –pF@9v; 30pF@8v; 40pF@7v
- Motorola MVAM109 30-460pF; 30pF@9v; 35pF@8v; 50pF@7v
- Motorola MV209 5-40pF; 12pF@9v; 14pF@8v; 16pF@7v
- Toshiba 1SV149: 25-500pF; 20pF@8.5v; 25pF@8v; 30pF@7v
Power across 50 ohm loads
7dBm (drive required by SBL-1) is 1.4V peak-peak. The full table is here.
Displaying an s-meter (or other meter) on a LCD screen with Arduino code can be done with the following method. Define 5 custom chars with 1, 2, 3, 4 and 5 vertical lines filled using this page:
Copy the byte definitions into the script. Determine how many LCD characters the s-meter will be (a full width meter would be 16 but you might want to make it smaller, say 8). Using a sequence of partial and full block chars you can render a line of 0 to n*5 segments where n is the number of allocated characters. So for an 8 char meter you have 40 segments to play with. Scale the analogue value read from the s-meter pin (0-1024) by n, and experimentally weight it as a crude form of calibration.
The Arduino lcd library allows a cursor to be set under a VFO frequency digit for emphasis, such as to illustrate the current step size. Use
SA630D solid state RF switch
The SA630D is a SPDT 50 ohm RF switch suitable for small signal switching in homebrew rigs and projects. It is ideal as a relay replacement, for switching BPFs (not LPFs) in a multiband rig, switching between IF filters, and small signal T/R switching. Summary from SA630D NXP datasheet:
1. General description
The SA630 is a wideband RF switch fabricated in BiCMOS technology and incorporating on-chip CMOS/TTL compatible drivers. Its primary function is to switch signals in the frequency range DC to 1 GHz from one 50 ohm channel to another. The switch is activated by a CMOS/TTL compatible signal applied to the enable channel 1 pin (ENCH1). The extremely low current consumption makes the SA630 ideal for portable applications. The excellent isolation and low loss makes this device a suitable replacement for PIN diodes. The SA630 is available in an 8-pin SO (surface-mounted miniature) package.
2. Features and benefits
Wideband (DC to 1 GHz)
Low through loss (1 dB typical at 200 MHz)
Unused input is terminated internally in 50 ohms
Excellent overload capability (1 dB gain compression point +18 dBm at 300 MHz)
Low DC power (170 uA from 5 V supply)
Fast switching (20 ns typical)
Good isolation (off channel isolation 60 dB at 100 MHz)
Low distortion (IP3 intercept +33 dBm)
Good 50 ohm match (return loss 18 dB at 400 MHz)
Full ESD protection
Digital transceiver front-end switch
SA630 RF switch for bandpass filter selection vk3hnMay 26 9:07 AM
I have sketched out a PCB for switching a bunch of band-specific BPFs for a homebrew receiver project. I am intending to put a decent quality Omron surface mount relay at each end of each BPF. Conventional stuff. No DC wetting but I don’t think I will use this receiver long enough for that to be a problem.
Last night I remembered I had a strip of SA630Ds and wondered if anyone has used these RF switches in amateur homebrew projects instead of solid state or relay switching. The datasheet is here:
They seem like a good option for small signal switching around receiver RF and IF stages. And they are dirt cheap at 10c a piece. Any opinions or experience?
Looks like those should work well. On the BPF board<http://wb6dhw.com/For_Sale.html#BPF> that I sell, I use the 74FST3251 analog mux. I see about 0.5 dB of loss through the switch. The surface mount inductors add 3 to 5dB more. Each board holds 6 filters and use 2 of the 74FST3251 chips.
Dave – WB6DHW
Arduino C: convert float/double to string for display
snprintf(destinationBuffer, bufferSize, formatString, data…)
destinationBuffer is a character string to hold the formatted data, bufferSize is the size of the destination buffer (using sizeof() is very useful for this variable), formatString is the normal “printf” style format string, and “data…” is the data to format and place in the buffer.
Can replace sprintf() to avoid risk of overwriting the destination buffer resulting in memory corruption.