Based on a pair of Baofeng UV-3R Mark II radios and the smallest UHF duplexer I could find. The power supply shown is too expensive, as I'm still waiting for the cheap one to arrive. Total system cost: < $200. Antenna/feedline NOT included, but could be if one chose to use a 1/4 wave copper wire as an antenna.
Cleaned up version:
The radios are mechanically screwed into the duplexer using the holes available on the duplexer plate, and the strap screw on the UV3Rs. The little DC/DC power converter is double-sided-taped to the duplexer plate. I'm not wild about this, but saw no other easy way of mounting in the space available. It seems to be holding up, and doesn't get very warm during transmit.
Here is the duplexer frequency reponse:
Measured sensitivity of a UV-3R with 1kHz tone, 4kHz deviation @ 12dB SINAD is -121dBm. With the about 1.6dB insertion loss of the duplexer, this should be down to -119.4dBm sensitivity. Isolation is pretty good at about -91dB as long as you associate the repeater's TX with the deeper of the two notches. This ends up being a negative shift config for users. Further performance can be achieved if the duplexer is staggered by more than 5MHz, but I wanted to stay somewhat standards compliant.
The signal wiring diagram for the setup:
Beyond that, you just need to wire the regulator to the battery pads on the rear of the PCB/radio. Since you can't solder to the springy contacts directly, you have to remove the back of the radio to expose the PCB contact pads that these springy contacts press against. Then solder blob your +V/GND there.
Detailed view of final version signal wiring, click the little magnifying glass to embiggen:
Please note that the RX is on the right side, and TX is on the left.
The Switching Regulator used is of this variety:
And is based on the LM2596 chip.
Latencies in the system:
As it turns out, the UV-3Rs are not a great repeater radio. There are several latencies along the chain which degrade user experience. Let's start by looking at the latency between the transmitting radio getting a PTT signal and an actual RF signal leaving the unit:
Trace C2 is the PTT signal (active low), and trace C1 is the antenna port coming out of the radio showing RF signal. You can see there is a latency here between C2 going low and C1 starting to oscillate. The actual latency is about 130ms, measured here:
The important field to read is "delta x" which shows the difference between the X1 and X2 markers. Since we're examining TX latencies let's wrap up by looking at the key-up or PTT-disengage latency. You can see C2 goes high but the RF keeps on coming on C1:
This latency is about 300ms, but does not tend to affect repeater users too much.
On the receive side there are more latencies to deal with:
Trace C2 is an active-high control signal to an RF signal generator. The generator has a latency of about 2.5us between getting the control signal and emitting RF. Since this latency is so small, we will disregard it. Trace C1 is the audio output of a UV-3R unit hooked up to the signal generator. There is some natural noise on the audio-out line of the radio, but the first big spike on C1 represents the click you hear when the radio opens squelch in response to seeing RF coming in. The RF level was set low enough that some static was audible when the squelch was open. This is seen as the increased randomness of the C1 trace under the active-high C2 region. The latency between RF being present and the unit opening squelch is measured here:
This is about 60ms. But this is not a very good measure since after the squelch starts to open the first thing you hear is a loud click. The intelligible audio signal only appears on the output after the click has passed, so here's a better measure of RX latency, between RF presence and intelligible audio being available:
This is much longer than just squelch at about 150ms. Finally, for completeness, there's also a latency between RF disappearing and the squelch closing:
This is about 170ms, but just like TX tail action, it does not tend to negatively affect repeater operation.
So adding these TX+RX figures together one would expect about a 130ms+150ms=280ms of latency through the repeater system. Indeed this is not awful, but the story is not so simple! In order to access the repeater let's also assume people are using UV-3R radios. This will automatically double the projected latency to 560ms. This is starting to get bad, and users will have to be conscious of holding PTT for a while before starting to speak. Here is the actual real-world measure of a 4-radio system with UV-3R client radios and UV-3R repeater radios:
Trace C2 is the active-low PTT signal going into the TX user radio, but due to the non-dummy-load ambient RFI, you can also see the carrier riding that signal. Please ignore it. Trace C1 is the audio-out line from the user's RX radio, also with some RFI superposed. The important data here is the difference between PTT going low on the C2 trace and that initial click of squelch opening on the C1 trace:
So the actual measured latency between PTT being pressed and intelligible audio being present is about 480ms. This is 80ms faster than the 560ms prediction! I attribute this speed-up to the fact that PTT in the repeater is triggered by the RX LED tap and not by VOX.
So, we have a 480ms total latency in a cheap repeater system. Not awful, but certainly noticeable. Sadly the story gets worse. Most repeaters don't run on RF-squelch. They tend to employ CTCSS or DCS squelch control to prevent false triggering. So now both the RX radio in the repeater and the RX radio in the user's hand has to decode those squelch signals. First, let's look at the real-world measured latency of a CTCSS squelched repeater system:
And we're up to 890ms! Ouch! This implies that each RX radio takes an extra (890 - 480) / 2 = 205ms to do CTCSS squelch processing on top of the regular RF squelch. Next, let's look at the DCS squelch system:
Here we're waiting for a full second for the audio to be available at the other end! DCS processing overhead is therefore (1050 - 480) / 2 = 285ms per radio.
A final contributor to the latency story in the repeater system is the hang-timer. The proposed design calls for a 1000uF capacitor which gives about 7s of hang time. But discharging this capacitor when a PTT (active-low) signal comes in takes some finite amount of time, shown here:
This is about 60ms in the worst case. TX may be activated well before PTT line falls to zero, but since I didn't measure exactly where this is, we can just safely assume 60ms is the upper bound on extra latency given this hang timer capacitor value. Larger capacitor values are not only dangerous in terms of possibly blowing up the puny SOT23 discharge transistor, but they'll also add more latency into the repeater system chain.
For the true EE nerds in the audience, notice the nearly-linear discharge curve of this capacitor. This is not what you'd expect from a simple RC discharge scenario. This is due to the discharge transistor experiencing negative feedback when it enters its saturation region. The discharge current is nearly constant through the entire discharge cycle due to this feedback. We can calculate what that current is from this curve. Initial charge is Q=CV -> Q=1000*10^-6 * 2.5=2.5mC. Q=It -> 2.5mC=I * 60ms -> I=2.5mC / 60ms=41.7mA. Due to the negative feedback action this current is not likely to increase with a larger valued capacitor, but the length of time the transistor is exposed to this current may become a problem. These are tiny transistors after all. 60ms seems like a really safe value, and >7s of hang timer seems pointless.
Finally, it should be mentioned that the presence of the hang timer greatly improves repeater latency when users are talking back and forth quickly on the repeater. That is, when transmissions are within the hang timer's window. This keeps both the TX radio of the repeater keyed up, as well as the RX radios of the users, eliminating both those latencies! The only remaining latencies would be PTT latency of the TX users (130ms) and RX latency of the repeater's RX radio, which varies with the squelch control scheme as examined above. For convenience the values are: RF-Squelch=150ms, CTCSS=150ms+205ms=355ms, DCS=150ms+285ms=435ms. The RF-Squelch value has purposely not been corrected by the 80ms RX LED tap speed gain since that signal advantage only serves to key the TX radio faster. But in the hang-timer-is-active scenario the TX radio is already keyed, and the only important RX latency in the repeater is the one between RF being present and intelligible audio coming out of the RX radio.
Power Consumption
Mode | mA @ 12V | Watts |
RX (Idle) | 60 | 0.72 |
TX (High Power) | 520 | 6.24 |
TX (Low Power) | 370 | 4.44 |
Note to self: update page with transmit power readings.