I’ve always been fascinated with leveraging the benefits of computing and electronic communications without consuming too many resources in the process. I feel, deep inside, that if it isn’t sustainable, that it will likely go away. Think Rome.
With that said, I recently built a Michigan Mighty Mite transmitter for 40m according to the outline here: http://www.qsl.net/wb5ude/kc6wdk/transmitter.html Honestly, to be sure I understood the schematic which has some quirks (at least to my lightly trained eye), I had to read lots of other blogs and watch some videos. The information about winding the air core inductor was the weakest. I think some of the lightness of documentation is because it will most likely work somewhat even if you mess it up pretty badly. So, this marks my first ever homebrew transmitter!
Testing it involved my first homebrew dummy antenna (or dummy load, depending on your vernacular) a pair of 100 ohm resistors in parallel inside a 6oz tomato paste can.
Then my first homebrew low pass filter to attenuate the higher frequency harmonics. I followed the recipe for 40m here: http://www.gqrp.com/Datasheet_W3NQN.pdf
The one site on the Michigan Mighty Mite I encountered suggested the input voltage be between 10 and 14v. Mine didn’t work when I first assembled it on the breadboard so I wondered if maybe my 9v battery wasn’t enough to start the oscillator (noobs, huh?). I was pretty sure that wasn’t true, but not understanding the theory enough yet, I couldn’t rule it out. So I threw together a homebrew LM317 based linear power supply. I set the voltage to 10.7v and it still didn’t work.
Then I got down to the business of triple checking my connections and trying a little rearranging of some connections to shake things up a bit. When I triple checked every connection and made sure I was following the schematic 100%, sure enough, I got it to work. One homebrew project turned into four. Now I have four interchangeable modules that can be put to use in other projects and I’ve learned a lot while refreshing some of my skills like reading datasheets, soldering, and translating schematics to a breadboard.
Bottom line: this was an adventure and, since I knew it would take some hard work and time, I did not get frustrated. I just set my mind to work through each challenge and learn from their solutions. This was a HUGE success for me.
What’s more, I feel a strong push to follow this super low power ethos and see where it takes me. I’m used to thinking of low power as laptop vs. desktop. Raspberry Pi vs. Laptop. Baofeng vs 100watt desktop transceiver. The thing I was reminded of here is that fundamental, empowering, and exciting communications can take place with mW and mA from small dc power supplies (ex. very small solar panels or 9v heavy duty batteries).
Here’s the parting shot of my fully prototyped transmitter
In this post, I will share some info about the tx/rx computer interface cable I made for my Baofeng radios that is compatible with the Direwolf software TNC and probably others. Here’s a peak at the mess I have made (that actually works):
But first, a little background…
Now that I’m receiving beacons in Direwolf and I’ve setup a Raspberry Pi to send and receive APRS, it is time to begin the holy grail of 2 way testing with two APRS nodes — one RPi and a laptop. Then I will be able to experiment with more advanced messaging capabilities of APRS as well as a BBS system. BPQ is looking like the top contender right now (Thank you Joe DeAngelo AG6QO for the suggestions and excellent packet BBS implementation log!)
My first radios where a pair of 2m VHF radios from a thrift shop. I like those HTX-202 radios. However, I believed that the VOX feature on newer radios would make it easy for me to send packet data as well as receive it so I bought a couple Baofeng radios. I bought the super cheap UV-5R VHF/UHF (about $25) and the BTECH UV-5X3 VHF/1.2m/UHF (about $65).
So how did that work out for me? I found early on that the VOX feature, does not seem to function well. I can’t find much about others having the issue. Am I the only one who is either confused or has two radios with a poorly functioning VOX? I’ve tried setting VOX as low as 1 and as high as 9 (just for giggles). I’ve tried both the UV-5R and the UV-5X3; both have the issue! When I yell, close to the mic, the VOX detects audio and enters transmit mode. Less than a yell and it stays in receive. Worst of all, I haven’t found an output level from my packet software TNC (Direwolf) that will trigger transmit. No dice!
So, that felt raw. I bought those radios mainly for VOX but they wouldn’t work that way. Consolation: I have two more radios (reasons stated above), I have two more frequencies 1.2m and 0.7m. Overall, I’m happy with them. I may have just expected a little too much for my money.
VOX isn’t reliable for transmitting packets
Moving forward, I know that the VOX solution was not the best solution to transmitting packets with a radio. Just think about it: The radio VOX circuit must hear the audio of the packet to determine it needs to turn on, before it is transmitting. That means that the start of the packet, no matter how fast the detection and switching, must miss somewhere between microseconds and milliseconds. That would require more workarounds depending on the detection and switching time.
The best solution is to have the software TNC (or hardware if that’s what you’re using) actually activate the PTT circuit. That will place the radio in transmit mode prior to transmitting the packet. Perfect.
The homebrew interface
Eventually, (a month later…) I accepted this reality and committed myself to building an interface for my laptop. This is different than the way I setup the Raspberry Pi since my laptop does not have easily accessible GPIO pins. It turns out, it is only a little bit more challenging the the RPi interface — score! I’ll share my RPi setup later. However, for now, suffice it to say that the RPi setup is very well documented especially inside the Direwolf documentation. Here is a bad pic, just for the curious:
The biggest difference between the RPi and the laptop PC interface is the need to control the on/off state of a wire to turn on the PTT circuit when it is time for Direwof to transmit. One common way to do this is by plugging in a USB<->Serial (RS-232) adapter and using one of the pins that are part of hardware handshaking in the RS-232 protocol like RTS (Request To Send). If you have an old enough computer, it might just have one installed already. This is a DB9 or DB25 connector that looks like this
I was able to cobble this interface together to connect my Baofeng radio to my PC soundcard’s mic and headphone jacks for transmitting and receiving APRS packets using a transistor, a capacitor, some wires, an old PC board, and an USB<->RS-232 serial adapter. I was back on the trail of something good — transmitting digital packets!
As I refine it, I’ll provide more detail. For now, I just wanted to share some of the things I learned along the way.
If you plug the radio’s speaker output into the mic of your computer sound card and the mic input of the radio into your computer’s speaker y0u will activate PTT and the radio will go into transmit mode constantly.
The solution is to prevent DC current from flowing between the ground wire of the PC line out (headphones, etc.) and radio line in (mic).
Solve this by placing a capacitor in series with the ground between pc line out and radio mic. You will probably see an initial PTT activation when you first plug it in due to the initial flow of current to charge the capacitor. You should see the transmit turn off quickly (1-2 seconds). If not you’ll have some troubleshooting to do 🙁
Test your transmissions on a VHF or UHF frequency that you have the privilege to transmit on and does not have activity on it. Use the lowest power possible.
Use a NPN transistor with a 2-5k ohm resistor between the base and the RTS pin to trigger PTT. I’ve seen 2N2222 recommended. I didn’t have one handy and I grabbed one I did have. It was this one
The configuration for Direwolf that initiates PTT using the RTS pin of the USB serial port looks like this:
# If not using a VOX circuit, the transmitter Push to Talk (PTT)
# control is usually wired to a serial port with a suitable interface circuit.
# DON’T connect it directly!
# For the PTT command, specify the device and either RTS or DTR.
# RTS or DTR may be preceded by “-” to invert the signal.
#PTT COM1 RTS
#PTT COM1 -DTR
PTT /dev/ttyUSB0 RTS
Finally, here is a crude schematic of my circuit when I wired it for my Raspberry Pi. The one I’ve “crafted” for PC is identical except the RCA jacks are replaced with 1/8″ male stereo plugs and the “GPIO25” pin is replaced with RTS on a USB-Serial adapter. YMMV
I was waiting to share on this new blog as a new Ham, amateur radio operator until I sorted out some more things. However, the time has come to just blog about what drives me as new ham radio operator, what challenges I encounter, and what solutions or decisions I arrive at along the way.Welcome!