So, as pointed out in my last post, I got some HX1 transmitter modules, and hooked them up, however, it appears that the deviation is kinda funky when it comes to APRS. In this line of thinking, I decided to actually make a test of it, and feed the HX1 with a function generator. So that’s what I did.
My test setup was the following, a signal generator, outputting a 2V P-P sine wave audio signal, feeding into the HX1 radio module, connected to a dummy load, being received by a Yaesu FT-8900R transciever, which has the external speaker port connected to an oscilloscope.
A couple of notes about the test setup.
1.) The amplitude of the signal generator was a constant 2V P-P through the frequency range (confirmed with the oscilloscope).
2.) I have no way to get a good reading on the actual deviation of the HX1 using only the audio level of the 8900. All numbers are relative rather than absolute.
3.) I can confirm that the 8900 audio response good at least through 2200Hz as looking at local APRS signals shows the 1200 and 2200Hz tones to have the same amplitude.
4.) Values in the spreadsheet are approximate. They’re pretty close. Also, like I said, they’re relative rather than absolute. So don’t use them for anything!
Enough of the stupid disclaimers. Here’s the results.
As you’ll note. The audio response peaks at about 400Hz, and slopes off as the frequency increases. You’ll also note that the chart starts at 300Hz. That’s because the radio module did not seem to be stable, or would not output anything near a sine wave below about 300Hz.
You’ll also note that for Packet Radio use, this is rather unfortunate, as at 1200Hz the output was at 0.6V and at 2200Hz the output was at 0.215V. With some crappy, lazy, head math tells me that the 2200Hz high tone of the Packet protocol only has about 1/3 the deviation of the 1200Hz low tone. Not a very good setup…
Anyway, here’s the spreadsheet in xlsx format. Do with it what you will. Spreadsheet
Hello, your data for this test is quite interesting and I would wish to receive similar results when testing the HX1. I am new to this device and although I have some previous experience with electronics I am having a hard time finding an appropriate schematic to test my Radiometrix transmitter.
That being said do you have any available resources or suggestions on how I should go about wiring my HX1 to an Arduino board and testing it before I solder the components together?
Thanks in advance!
Amir,
After testing this particular model (HX1-144.390-3), I contacted the radiometrix support address, and they recommended I use the HX1-144.390-10 model instead. It has a bit wider bandwidth, but is the same module. I’ve purchased a couple of these other modules, and plan to do similar testing on them.
As for interfacing with an Arduino, I would recommend just using a decoupling capacitor on the TXD line. I’ve used values from 0.1uF to 2.2uF and they seem to provide essentially the same results.
I would assume you’re planning on using the trackuino project code. While I haven’t used that code specifically, others have said it works well, and I have tested this module with a square wave input (rather than a nice sine wave) and the module’s filtering does seem to take care of the harmonics pretty nicely.
Thanks for commenting!
Nigel
Nigel,
Thanks for the advice!
Although I’m going to be stuck with the HX1-144.390-3 for the moment I will definitely try out the decoupling capacitor with hopes of better results.
Thanks again,
Amir
The -3 version will probably be fine. In my initial testing, it’s looking like where in the -3 version the 2200Hz tone is approximately 1/3 the level of the 1200Hz tone, the wider -10 version brings that up to about 1/2. So it’s better, but it’s not really as good as I think it should be.
Like I said though, you should be fine. With a decoupling capacitor, I have been successful in decoding packets from both the -3 and -10 models.
A couple other notes of advice, if you have a scope or some other way to measure the baud rate, I would do so. Some decoding programs/hardware (digipeaters) will not decode if the baud rate is more than a few Hz off. I also don’t know if you plan to modify the trackuino code much, but I would recommend testing with fairly pristine code first. AX.25 is not tolerant of ANY errors in the transmission, and a transmission with one bit out of place is as good as a transmission with every bit out of place. None at all.
Hey I know this was posted a long time ago but I couldn’t find you email address. I’ve got an HX1-144.390-3 and im trying to run the trackuino code. I’m getting the familiar APRS output but no decode. I’ve tried everything I can think of, I have a 1.1uF decouple ceramic on TXD. I’ve tried different power sources, antennas, like I said everything I can think of. I’m hoping you might have some knowledge on this.
Hello Marcel,
Really, it could be one of a million reasons why it’s not decoding properly. I’d suggest breaking it down to the basics. Try wiring the audio output of your arduino to your line in input on your sound card. Can your software decode the packets then? If not then it’s entirely unrelated to the radio. The other thing to try at this point is different software to decode packets. I’ve found different software has very different success rates. AGWPE, while a popular choice, doesn’t really decode well in my experience. I prefer to use something like MixW. It’s not free, but it does an excellent job decoding and gives you other helpful information like what it measures the baud rate of your packets are. You can use this to help tune your packets to be as close to 1200 baud as possible.
If all that is working, then I’d guess your deviation isn’t right. When you listen to your own packets over the radio, do they sound louder or harsher than other people’s packets? Do they sound quieter? If either is the case, you may be feeding too much or too little voltage into the TXD pin of the HX1 from the arduino. I’m not intimately familiar with the trackuino software, but I recall people I know mentioning that you can adjust the amplitude of the sine waves.
Last thing is checksums, even if everything else is absolutely perfect, you won’t see packets if they don’t have the correct checksums. Try testing with the base trackuino code with no (or as few as is needed to get it to work) modifications. This will help test if any changes you may have made would be causing the checksums to be invalid. This is extremely important, and at the same time very troublesome. I’ve only found one piece of software to try and decode packets even with an invalid checksum, and it’s an iPhone/iPad app called “Packet” by Black Cat Systems. In the setup menu there’s an option to allow Bad CRC Packets.
Hopefully something here will get you moving down the right road. Good luck!
Awesome, I bought ARPSDroid for android and my packets were decoded from the microphone very well, 100% of the time and my radio wasn’t even close or turned up loud. However, no such luck on PC yet I even got MixW and im still tinkering with it, I am decoding local APRS traffic but not mine. Going to keep tinkering and see where I can get. Hope is not lost!! Thanks so much. What path should I take to make sure checksums are ok? Any other leads possible to try and get this data working on pc. I just want to make sure I, and other repeaters/digipeaters/igates can decode reliably.
Ok well I guess I’ve narrowed it down to the HX1. I suspected it, but didn’t really know enough about electronics/etc to say it was. But I tried as you suggested and run the output from the arduino right into my line-in on my pc, and MixW decodes every time.
Funny how my phone running a 200kb app can decode with 100% accuracy with a microphone 3 ft away… But using a cable from the radio to my pc and using a much faster cpu and software with tons of bells and whistles, config settings to no end, and it doesn’t get a single packet decoded…
Well my knowledge on this pretty much has come to and end, I will continue to aimlessly troubleshoot but I have no idea what I’m going to do to correct the problem with the HX1.
At this point I would highly lean towards deviation being your issue. Try reducing or increasing the voltage sent to the TXD pin with a potentiometer. Remember that a potentiometer is just a changeable resistor divider.
Connect one end to the arduino side, the middle to the capacitor which connects to the HX1, and the other end to ground. Adjust the potentiometer and watch MixW to see if it starts decoding packets.
Deviation is very important, and if you feed too much or too little voltage to the HX1’s TXD pin, the RF signal won’t be clear coming out the other end.