IZ7BOJ Blog is online

It has been a long time since I wanted to publish a personal Hamradio Blog, and now, finally I’m online!

I have not so much time for hamradio, but I want to share my few experiences with other hamradio entusiast.

I hope you can enjoy this sharing and find something useful.

Best 73

Alfredo IZ7BOJ

sco-software-hamradio2

Advertisements

SPF5189Z LNA measurements on VNA

Since January 2019, I’m sharing a simple satellite receiving station on SATNOGS network, based on a RTL2832 USB SDR dongle and a home-made turnstile antenna.

The RTL2832 Noise Figure is not so good (on the internet I read about 7dB), so one way to increase the receiver performance is to place a LNA as near as possible to the antenna.

I searched on the internet, and I’ve found the LNA4ALL a very good  solution. It also has an internal bias tee in order to be powered directly on the coax cable.

Nevertheless, it’s not very cheap and the shipment expenses are too high, then I decided to try first a SPF1589Z LNA for few euros from ebay, then decide if throw it away or keep it.

foto

It arrived in about three weeks from China, then I wanted to test it on a Vector Network Analyzer, in order to compare the real gain with the datasheet.

Once the LNA has been powered at 5V, the current absorption is 90mA, perfectly aligned with the datasheet range.

Here below, the S21, S11 and S22 plots are reported between 50MHz and 3GHz (the LNA reaches 4GHz but the VNA not).

I palced these 4 markers:

  • 144MHz
  • 435MHz
  • 1GHz
  • 2GHz
S11
Out
S21
Gain 50MHz-3GHz
S22
Output Return Loss 50MHz-3GHz

When I downloaded the datahseet, I saw that the SPF5189Z has two possible configurazion:

  • Optimized matching at 900MHz
  • Optimized matching at 1900MHz

From ebay description and board P/N, it’s not possible to understand the frequency optimization.

Here below, I reported a comparison the datasheet (green line) and the measurement (red line) data, for both configurations. The frequency range of the datasheet is smaller than my measurements, sto the comparison is only on the datasheet frequencies and not wide-band.

900MHz_measured_vs_datasheet1900MHz_measured_vs_datasheet

The gain seems to be 1dB less than the datasheet on both configurations, while the input matching shows better results on 900MHz range.

At the end, the LNA is quite wide-band and is a compromise between the 900MHz and 1900MHz configurations.

In the next days, I will install the LNA near the antenna and I’ll let you know the improvements on the receiver.

Best 73′

Alfredo IZ7BOJ

APRS: how to automatically monitor a group of Digipeaters and I-Gate

In the early 2000’s , together with Piero I7IGX, an APRS digipeater was installed in Trani, my Town. For about an entire decade, the Digipeater IZ7BOJ-11 was almost alone in the region, but..starting from 2016, thanks to my dear friend Luigi IZ0YAY (now back in zone 7 for QRL), the interest for APRS increased again!

Luigi involved other OMs and other digipeaters were installed. A beautiful technical exchange started between the sysops, and sometime we had to announce temporary down-time of our nodes on a whatsapp group.

Most of us are very busy for QRL, so it’s not easy to constantly monitor the state of our node, then I thought to an automatic monitoring system, whit these two simple purposes:

  1. Gather information of all nodes of the group and show the situation in a simple (possibly graphical way)
  2. Sends alerts on whatsapp or telegram in case of technical problems on the nodes.

The first concern was: how it’s possible to determine the status of a Digipeater or I-gate, in terms of vitality? Well, the first idea is to use the most powerful database in order to see the “last heard” time. This is possible thanks to aprs.fi and its API, which allow the direct connection of a custumer application directly to the database.

The second concern was: given that the method to determine the vitality is the “last heard time”, which is the right timeout before declare a problem on a station? Well, this parameters has been tuned experimentally.

I then developed a simple web interface in php, and emedded a view of all apulian station in APRSdirect (I had some problem trying to enclose aprs.fi into a view).

Here below a picture with a tipical situation.

The website is hosted at http://iz7boj.dyndns.org/aprsdash/aprsdash.php

schermata-2019-03-04-alle-11.59.53.png

The main query is the following:

https://api.aprs.fi/api/get?name=.$stationsquery.&what=loc&apikey=.$apikey.&format=json

which returns, for every station declared in $stationsquery,  its basic location and other basic data, including “last heard” in JSON format (see aprs.fi api help for furher details)

The variable “$stationsquery” is declared inside the config.php file.

The output of the query is then parsed and the last time converted from Unix Time to a human readable format, then compared to the timeout.

The source of the packet (TCP-IP or RF) is also showed. This information is useful in order to understand if a compound station Digi+Igate has problem on RF side.

The sources are available at: https://github.com/IZ7BOJ/APRS_dashboard .

If you want to use the dashboard, you must have php libraries and a web server installed. Copy the content from Github to your web server folder, then edit config.php file with the following informations:

  1. stations to observe
  2. aprs.fi APIkey (you must have an account or aprs.fi)
  3. timeout (default is 30min)

Well, now we have gathered all the necessary information to a dashboard. This is helpful, but you will never now that your node has a problem, unless you open the dashboard. For this reason, I thought to an automatic systems which sends alerts to our smartphones. Telegram is the easiest choise, since is an open-source  and well documented Application.

Preferrably, the criteria for the vitality should be the same of the dashboard (last heard) and the database should be aprs.fi again.

After some researches on telegram BOTs under python, I found a very useful library to install to my raspberry for sending notification: the library is “telegram-send“.

You can install telegram-send with pip:

sudo pip3 install telegram-send

then, depending by the destination of your messages, you can choose:

  • telegram-send –configure if you want to send to your account
  • telegram-send –configure-group to send to a group
  • telegram-send –configure-channel to send to a channel

The source code can be found here:

https://github.com/IZ7BOJ/aprs_station_monitor

Note that the daemon should continuously run in background, since it stores the status of the nodes (in terms of “dead/alive”) and sends messages only when a state change is triggered (from dead to alive and viceversa).

This daemon runs and sends notifications since summer 2018 and no problems are detected.

Here below, a screenshot of some messages received on telegram is reported, for example only:

telegram_screen_aprs

Best 73’s

Alfredo IZ7BOJ

Brief history of my Packet Radio and Wi-Fi activities

I’m going to describe my hamradio activities in the early 2000’s, particularly in area of packet radio, which was my preferred.

I became a member of local ARI (Associazione Radioamatori Italiani) club in 1997, when I was only 17 years old and I was attending the school (Technical Institute for electronics and telecommunication). In that period I knew Piero I7IGX,  one of the first packet radio experimenter in my zone, who managed the local packet node IR7BA. In those years, internet was weakly entering in people houses by slow telephone modems (33Kbps or 56Kpbs).

When I became familiar with packet radio, thanks to I7IGX, I helped the local ARI club to improve and add features to the packet node IR7BA, and I learned with I7IGX how to work with TCP/IP over AX25, with the famous Softwares JNOS (DOS).

A lot of TCP/IP routing experiments  were conducted together with Raffaello Di Martino (ex IW7CHV, now IZ0QWM), and his brother Raffaello (ex IW7EAS, now IW2OHX), between IR7BA and Bari Nodes.

Also and a FTP, HTTP and mail servers were activated and a simple website with basic information was developed for IR7BA.

The increasing number of users of BBS, the frequent file downloads through YAPP protocol and the curiosity for packet radio, highlighted the real bottleneck of the packet network: the speed.
IR7BA had two main access ports: VHF@1200baud and UHF@9600baud and there was no internet connection in the first period.

In 1990, Dr, Matjaz Vidmar S53MV (a true idol among packet enthusiasts) published on “CQ Elettronica” Magazine some projects for home-made Wide-Band FM Radios and Modems, capable of 38400baud packet traffic at 430MHz. They were very innovative projects: even stripline technology was used for the RF sections!

In Italy and Slovenia, a fast network called “Supervozelji” was growing thanks to these 38400baud radios. Some years later, Matjaz Vidmar published a project for 1,2Mbps radio and the Italian Backbone was consequently upgraded. The early 2000’s represented, for me, the golden age of the Italian packet radio.

Here below, a picture of me, IW7BNO, IW7DWL, IW8DDV and other Apulian packet radio enthusiast at the bottom of IR7GRA node (Gargano, Apulia):

ir7gra

I7IGX proposed to me to build a couple of radios and modems, at 435MHz and 1,2GHz. In those years, I was attending the University (Electronic Engineering) and the free time for the hobbies was very limited. I started to build the radios, although I didn’t have all the necessary theory and practice.

Thanks to the help of Lorenzo IW6OCM, the UHF radio was successfully built and tuned, together with the Manchester modem and a SCC (Serial Communication Controller) PCI card, which was necessary for an efficient serial flow control between the modem and the PC.

Here below, a picture of 70cm radio is reported:

dsc_0127.jpg

Thanks to this radio, IR7BA was successfully linked at 38400bps to IR7GRA, owned by Angelo IW7BNO, another packet-radio enthusiast who managed several packet nodes in my region.

I built another UHF radio on the same frequency of IR7BA, and I reached another important milestone:

The first audo/video-call, using Microsoft Netmeeting, was done from my house Piero I7IGX, which was connected via ethernet on IR7BA. It represented the fulfillment of an old dream.

Here below, you can find a picture of IRBA equipment. I built all the equipments in the aluminum boxes 🙂

ir7ba

Being very proud of these first results, together with Fabio IW7DWL, I finalized the 1,2GHz radio. In those years, the RF instruments were very expensive and were difficult to find for a ham use. With courtesy of one my professors, I was able to use, only for few hours, the spectrum analyzer of my Technical School, and finally me and IW7DWL got our radios working. The link was established at few Kilometers, from me to Fabio’s house, but the link was good.

Here below, a picture of 23cm WBFM radio is reported:

dsc_0120.jpg

I was very satisfied, because in those years I was studying electronics and telecommunication at university, I could do practice on the hardware! I spent a lot of time and a lot of nights soldering, building and making tests in my lab.

In the 2003/2004, IR7BA was equipped with an internet connection and became an internet-gateway.

After some years of experiments with these radios, the Wi-Fi started to spread among the ham world, and the packet network was slowly upgraded with wifi links, especially the backbone links.

In the same years, together with Piero I7IGX, Nicola IK7SMY and Mauro IW7AVY, we developed a Bi-quad antenna for 2,4GHz and we enclosed a D-Link DWL-900AP+ access point in an outdoor box with a home-made power-over-ethernet system. Another important success was reached in 2003: the first local link upgraded to Wi-Fi!

Here below, some pictures of the home-made wifi outdoor box:

For furher details of the outdoor box project, see this website (italian, developed in 2003)

In the next years, other antennas were developed, built and installed on IR7BA: a vertical collinear, and a 3D-corner reflector, for longer links.

Here below, some pictures of 3D home-made corner reflector antenna (thanks to Mauro, IW7AVY for the nice manufacturing of copper parts):

In the next years, domestic access to internet became very fast and cheap, thanks to the ADSL connection. The interest for packet radio started to decrease and I had to move to Rome for work. IR7BA continued to live until 2010, when a thunderstorm and other technical problems on the equipment arised and there were not enough users to justify the effort for the system maintenance.

I continued my experiences with hamradio TCP-IP on 5,7GHz. I experimented mesh-networks and OLSRD protocol, joining ninux group (one of th world’s most active mesh neworks group) end applying hamradio IP numbering (44.x.x.x) on the nodes.

Here below, me after succesfully installing a Wifi link between me and IZ7YDL (about 20km distance):

wifi

Nowadays, the packet radio is limited to aprs and other simple applications, but while I wrote this article I felt very nostalgic of this beautiful period of my life, when every information was not so easy so find because it was not ready on google, when it was necessary to keep in touch with other colleagues much more than today in order to increase the technical knowledge and to find solution to the technical problems, when I spent entire nights just to see packets decoded on my CRT screen and, yes..it had the taste of a fantastic conquest. yes, I know that I’m getting old 🙂

Alfredo IZ7BOJ

ESEO GNURadio decoder optimization

After the launch of ESEO, at the end of 2018, Daniel Estevez released his beautiful GNURadio decoder: https://destevez.net/2018/12/decoding-eseo/

I started to use it and tried to do some optimization.

After some hours spent in “trial and error” I’ve found this two tricks to improve the success of decoding satnogs recording files:

1) Decrease the “Multiply Const” from 1 to 0,7 (Daniel Estevez already talked about the big gain of satnogs recording)

2) Increase the cutoff frequency of Lowpass Filter from original 4,8KHz to 5,2KHz (sometimes 5,3KHz)

Moreover, Dr. Chris Bridges suggested me to add a HighPass filter with a cutoff-frequency of 50Hz.

Cattura

I tried this modifications with this satnogs observation: https://network.satnogs.org/observations/439335/ and the decoded packets increased from 235 (original configuration) to 322 .

I hope this suggestions can be useful to other people who want to use eseo decoder.

73’s

Alfredo IZ7BOJ

Double Turnstile construction for satellites receiving in 435MHz Band

I’m going to describe the construction of a double turnstile antenna suitable for receiving the satellites in 435MHz band.

The original design is developed by Ivo I6IBE:

turnstile_i6ibe

 

I found many pictures on the web which uses different materials and techniques.

Here below I describe my personal interpretation, which uses very common materials like PVC boxes and tubes, and threated bars.

The Bill of Material is:

  • N.2 threaded metal bars, 4mm x 100mm
  • N.1 10cm x 10cm square PVC Gewiss box
  • N.1 85mm circular PVC Gewiss box
  • N.1 joint from 20mm PVC tube to box
  • N.1 PVC tube 20mm diameter
  • RG58 and RG59 coax cables (see lengths in the first picture)
  • N.4 ring contacts , 4mm diameter
  • N.1 “N” flange connector
  • 4mm wahser and nuts
  • Cable ties
  • Insulating tape
  • Silicon sealant

First of all, I started from a 10cmx10cm PVC box. I made a central hole for placing the 20mm box-tube junction and one hole for every side of the box.

Then I cut 4 pieces of 16,3cm threated metal bars and installed with two nuts and washers:

 

At this point, I cut a piece of 1meter of PVC 20mm diameter tube and I made 4 holes for the reflectors, at 13,8cm from the radiators:

IMG_9659

Now it’s time to cut the pieces of coax cables. We should refer to I6IBE lengths (see picture at top of the article).

Then I separated the shield and the central pole, then I soldered ring contacts at the ends:

 

I soldered together the balun coax pieces:

Then I installed the ring contacts inside the top box, to the radiators elements. I made two holes on the bottom of the box to let the cables exit from the box:

IMG_9670

Then the most difficult part is to solder together the coax coming from the radiators and the coax of the balun:

At this point, we should put adhesive tape on the solder joints. Also some sealant or glue could be used to prevent water enter in the joints. Now we can build the box which will enclose the N connector. We can use a flange connector and make a hole on the cover of a circular 85mm PVC box.

At the end, we can put all the pieces together:

We can hold the circular pic box on the main tube using cable ties.

The final installation will look like this:

IMG_9677

I checked the ROS and it’s perfect on 435MHz band. If some adjustment is needed, we can cut the radiator elements (it’s better to cut the elements a little bet longer than the design dimensions).

I tried the antenna with RTL-SDR dongle and I perfectly received Bugsat-1 satellite:

bugsat1_20181202

Happy receiving to everyone!

73′ de IZ7BOK Alfredo

Telemetry of MMDVM repeater: how to visualize it in the DG9VH Dashboard

I was looking for a simple telemetry sistem for my MMDVM repeater, wich is not in my house, so for me is very useful to check it remotely.

I fixed some requisites before starting the research of this system:

  • It should be compatible with the raspberry Pi;
  • It should read repeater voltage, current, temperatures, and it should check the presence of 220V, in order to detect a power blackout and prevent the UPS discharge;
  • Easy to embed the readings in the MMDVM Dashboard, possibly using gauges or similar nice graphic indicators.

After some research on the internet, I found something almost ready, but it was quite expensive and was not easy to customize.
So I started to think to a “DIY” solution. I searched for ready-to-use ADC boards, and I found a lot of sulutions on amazon or ebay, but most of them provides only 4inputs and 4 outputs, but I’m not interested at outputs channels, and 4 inputs were not enough for my purposes.
At the end of my researches, I bought the IC MCP3008, by Microchip, that is a 8 inputs, 10 bit Analog to digital converter equipped with and an SPI output interface ( http://ww1.microchip.com/downloads/en/DeviceDoc/21295C.pdf ). The IC could be powered directly from the 3,3V or 5V of the raspberry, and a python library is also available for this ADC ( https://github.com/adafruit/Adafruit_Python_MCP3008 ).
The ADC inputs can directly read temperature sensors and repeater main voltage (the maximum input is Vcc, so the voltage must be divided through a pair of resistors, obviously).
For the curren telemetry, I found a very simple and cheap hall effect sensor IC, the ACS712 series, by Alegro (see_datasheet).
The chip is available in SOIC8 SMD package, but the complete PCB with screw terminals are available on the ebay.
I bought a pair of ACS712-05 (5Ampere full scale) and a pair of ACS712-20 (20 Ampere full scale) form a Chinese supplier, and finally I got it after a 3 weeks.

acs712_1
I built a simple prototype board with L-C filters on the input and a voltage dividers on ch0, which is dedicated to the 12V acquisition.

Here below the very simple schematic diagram:

mcp3008

Here below prototype picture:

IMG_8416

IMG_8415

Note: in the picture some 3-way screw terminal are present, despite of 2-way terminal of schematic diagram. I simply brought the 5V on the third terminal, if a powered sensor is used (e.g. the current sensor board must be externally powered with a 5V).

The connection between the prototype board and the raspberry are done by female square pin wires, following the pinout of raspberry pi. The pinout is reported hereafter:

mcp3008pinoutThere are two possibilities to connect the IC to the raspy: the Software SPI or the hardware SPI. I choose the second one, so the connections are:

  • MCP3008 VDD to Raspberry Pi 3.3V
  • MCP3008 VREF to Raspberry Pi 3.3V
  • MCP3008 AGND to Raspberry Pi GND
  • MCP3008 DGND to Raspberry Pi GND
  • MCP3008 CLK to Raspberry Pi SCLK
  • MCP3008 DOUT to Raspberry Pi MISO
  • MCP3008 DIN to Raspberry Pi MOSI
  • MCP3008 CS/SHDN to Raspberry Pi CE0

The Raspberry Pi3 pinout is reported here below:

raspy pinout

For the first check of the interface, I put a 5V on one of the cannels, then I installed the adafruit python library and examples, following this procedure (see references for the complete guide):

sudo apt-get install build-essential python-dev python-smbus git
cd ~ (or directory where you want to install the package)
git clone https://github.com/adafruit/Adafruit_Python_MCP3008.git
cd Adafruit_Python_MCP3008
sudo python setup.py install

Then, if the installation is successful, we can go into the Adafruit directory and edit the file simplest.py. In order to use the Hardware SPI, the first part must be commented and the second part must be uncommented. The code will look like this:

# Software SPI configuration:
#CLK = 18
#MISO = 23
#MOSI = 24
#CS = 25
#mcp = Adafruit_MCP3008.MCP3008(clk=CLK, cs=CS, miso=MISO, mosi=MOSI)
# Hardware SPI configuration:
SPI_PORT = 0
SPI_DEVICE = 0
mcp = Adafruit_MCP3008.MCP3008(spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE))

I saved the simpletest.py, then I connected a pair of power supply at a random voltage between 0 and 5V on ch0 and ch1 of my prototype board, just for test. I launched the test file (sudo python simpletest.py) and I got the correct channel acquisition:

sensors_Screenshot_from_2016-02-09_02_30_13.png

I tested all the channels providing a 5V to each input, and I verified the decimal value was near 1024, which is the full-scale range for a 10bit ADC.
Ok, it was the easier part of the work, but now…I want to show data on the MMDVM dashboard, which is written in PHP by DG9VH.
I tried some library available on the internet, but I had no time and knowledge to study and customize them.
In particular, the Calcinai PHPi library is very interesting, but it’s not ready for use. The user should create a ‘worker’ which runs in the background and is connected to via websockets (or similar).  It may not even need to be that complex if you’ve already got a database layer to cache the readings. If someone wants to work on it, please have a look at https://github.com/calcinai/phpi-websocket).

So I decided to try the quickest solution, although it’s very dirty and most of SW developers will dislike it.
I decided to run a python script through the “exec” command in php code, which execute shell commands. Once the python script has been executed, the 8 ADC readings are stored in a vector, then any conversion fron decimal to voltage/current/temperature is possible in php.

Once the date is acquired, it should be shown in a pleasant way on the dashboard. I searched for some beautiful and simple gauge and I found “coffeegauge”: http://bernii.github.io/gauge.js/

For the implementation of the acquisition routine and the gauge parameters, I followed the following steps:

1) Start from “example.py”, under the examples directory, and modify it in order to read the inputs only once (I deleted the cycle inside). Save it as “read_adc.py” in var/www/html/ directory.

import time
import Adafruit_GPIO.SPI as SPI
import Adafruit_MCP3008
# Hardware SPI configuration:
SPI_PORT = 0
SPI_DEVICE = 0
mcp = Adafruit_MCP3008.MCP3008(spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE))
#read and print all ADC channels
value=[0]*8
for i in range(8):
value[i]=mcp.read_adc(i)
print(value[i])
time.sleep(0.1)

2) Give execution permission on the script:

chmod +x read_adc.py

3) Check the correct execution of the script:

python read_adc.py

see the output values on the screen and check they report the correct decimal value if compared to the input voltages present at the channels.

4) Download the script file gauge.min.js from http://bernii.github.io/gauge.js/ and copy it in the /var/www/html directory (or the root file declared in your html server config file)

5) Insert the following code inside var/www/html/custom.php file, which is executed and shown in the dashboard , under the section “custom info” (remember to enable int in the dashboard config file). Only ADC ch1 is reported, but you can copy-paste for every channel:

#Execute the python script and store channels readings into a vector
exec("sudo python ./read_adc.py", $adc);
#calculate the power supply voltage (4.35 is the resistive divider factor)
$ch1=floor($adc[0]/1024*5*4.35*100)/100;
#create the canvas gauge_V and show ch1 value
#POWER SUPPLY VOLTAGE
<canvas width="200" height="150" id="gauge_V"></canvas>
#recall the script .js file
http://gauge.min.js
<script type="text/javascript">
#set gauge options
var opts_V = {
  angle: -0.2, // The span of the gauge arc
  lineWidth: 0.1, // The line thickness
  radiusScale: 0.8, // Relative radius
  pointer: {
    length: 0.6, // // Relative to gauge radius
    strokeWidth: 0.033, // The thickness
    color: '#000000' // Fill color
  },
  limitMax: false,     // If false, max value increases automatically if value > maxValue
  limitMin: false,     // If true, the min value of the gauge will be fixed
  highDpiSupport: true,     // High resolution support
  staticZones: [
   {strokeStyle: "#30B32D", min: 0, max: 12}, // Green
   {strokeStyle: "#FFDD00", min: 12, max: 14}, // Yellow
   {strokeStyle: "#F03E3E", min: 14, max: 24}  // Red
                ],
staticLabels: {
  font: "10px sans-serif",  // Specifies font
  labels: [0,12,24],  // Print labels at these values
  color: "#000000",  // Optional: Label text color
  fractionDigits: 1  // Optional: Numerical precision. 0=round off.
                },
};
var target = document.getElementById('gauge_V'); // your canvas element
var gauge = new Gauge(target).setOptions(opts_V); // create sexy gauge!
gauge.maxValue = 24; // set max gauge value
gauge.setMinValue(0);  // Prefer setter over gauge.minValue = 0
gauge.animationSpeed = 32; // set animation speed (32 is default value)
gauge.set(); // set actual value

Note: The “floor” function is used to decrease the decimal digit to 2.

6) Try the final effect loading custom.php in the browser or the complete index.php page.

If everything is ok, you should see the gauge 😉

The user can customize almost everything of the gauge (colors, aspect, dimensions, speed, angles, ecc..). For more details you can go to http://bernii.github.io/gauge.js/

The final effect is reported in the following screenshot:

custom_dashboard

The real dashboard can be reached at this address: http://iz7boj.ampr.org

Note1: the python script is executed only when the dashboard is loaded on the browser, so the current value is sampled in the moment of script execution and mantained until the browser is refreshed!
If the radio is transmitting, you’ll see something about 3,8Ampere, otherwise you’ll see abut 150mA, which is the consumption in receive mode.

Note2: that the 220V presence is not exactly the voltage at the plug. I simply connected a 5V power supply to one of the inputs.
Then, I inserted the following “if” case in custom.php:

$RETE=0;
if ($ch5>4){$RETE=220;} else {$RETE=0;}

In other words, if the 5V is present (V>4V), then I’ll show 220V in the indicator.
In my “to do list”, I’ll build an voltage divider that will ready the 220V..

The source code that I pasted for ch1 could be obviously repeated for every channel, and any math formulas can be implemented for other type of signals.

I hope someone can found some interesting trick to built is own telemetry interface!
It’s a “quick&dirty solution”, but I’m an HW man and have a basic php knowledge. Every software developer can do something better than me for sure 🙂

Best 73’s
Alfredo IZ7BOJ

REFERENCES:

https://learn.adafruit.com/raspberry-pi-analog-to-digital-converters/mcp3008

http://bernii.github.io/gauge.js/

http://ww1.microchip.com/downloads/en/DeviceDoc/21295C.pdf

Testing of 409Shop UHF Diplexer

Hello OMs,

I’m going to share some measurements made on my UHF Diplexer that will be installed on my MMDVM equipment for the upgrade from simple hotspot to a repeater, using a Diamond X-510 antenna.

I bought this very cheap Diplexer from the Chinese e-shop “409Shop”, at only 97$: http://www.409shop.com/409shop_product.php?id=104460

SGQ-450D-N

caratteristiche

It’s a 6 cavity Diplexer (2 notch + 1 bandpass for each path), so I expected a very good out-of-band attenuation, which is a very interesting feature in installation sites with strong RF signals coming from other transmitters.

I choose the 50W version, because the price difference between the 35W and 50W was only 14$.

For the payment, I used paypal, without any problem. As suggested on the site, I specified the Low and High Frequency of my repeater in the order notes.

The Diplexer arrived very quickly. The order dates are the following:

  • Order and Payment: 14 November 2017
  • Order Confirmation: 15 Novemver 2017
  • Shipment confirmation and Tracking Number: 18 November 2017
  • Arrival: 01 December 2017

Before the installation, I took some measurement with a Vector Network Analyzer, at ambient temperature and at cold and hot temperatures, in a climatic chamber, in order to verify the tuning made by the seller, and the temperature drifts, which affects the low-cost Diplexers.

I choose +55°C and -25°C as worst case temperature, although my region has a very mild climate.

Note: during every measurement, the third port (not connected to the VNA) is connected to a 50ohm dummy load.

The frequency of my repeater are:

  • Low (TX): 430.325 MHz
  • High (RX): 435.325 MHz

The more interesting measurements are:

  • Attenuation from Antenna port to RX port;
  • Attenuation from TX port to Antenna port;
  • Matching at RX, TX, and Antenna ports;
  • Isolation between TX and RX ports;

Here below, the ambient temperature measurements are reported:

P1antP2high_3

P1lowP2ant_3

MATCHING_TX

MATCHING_RX

MATCHING ANTENNA

P1lowP2high_3

Considerations about performances at ambient temperature

  • The isolation between RX and TX ports is >70db, as declared on the datasheet
  • The loss from ANT to RX port and from TX port to ANT is <1dB
  • The resonance at RX and TX ports are slightly different from the desired frequencies, but the matching is very good anyway (>20dB)
  • The matching at antenna port is good (>20dB)

 

Here below, the temperature drifts of the main measurements are reported:

P1antP2high_hot_cold_1

Note: the attenuation @435.325MHz is 1.2dB at +55°C and 1.1dB at -25°C

P1lowP2ant_hot_cold_1

Note: the attenuation @435.325MHz is 1.1dB at both +55°C and -25°C

P1lowP2high_2_HOT_COLD

Considerations about performances at cold and hot temperatures

  • In all the cases, the responses moves up in frequency when the temperature increases.
  • The isolation is still >=70dB also at hot and cold temperatures.
  • The attenuation from ANT to RX port and from TX to ANT increases slightly (1.2dB),but is still very good, even if the curves move in frequency.

Conclusions

Here below, I judged and assigned a score for every aspect of Diplexer, from 0 (min) to 5 (max):valutazioni

Considering the cost, this Diplexer is a good compromise between cost and performances, and I suggest this product for hamradio applications.

The out-of-band rejection is good as well as the temperature stability, so it can be used also in mountain sites or in RF polluted sites.