Microbit RemoteRig 1216H Webswitch Command Set

https://www.webswitch.se/wp/?page_id=342

http://ws.microbit.se:82/

e.g.

http://ws.microbit.se:82/relaycontrol/on/1

|000|OK|1|1|

http://ws.microbit.se:82/relaycontrol/off/1

|000|OK|0|1|


Version 1.20 and newer has improved and extended support for controlling the relays(including Nexa remote switches), getting the status of the digital inputs as well as reading temperatures from 1 wire sensors via HTTP GET URLs. Version 1.23 adds the possibility to read the state of the relays.

Turn on all relays and Nexa remote switches:
http://%5Bwebswitch address]/relaycontrol/on/all

Turn on only one relay or Nexa remote switch using an index number:
http://[webswitch address]/relaycontrol/on/[a number]
[a number]: 1-5=built-in relays, 6-10=extension relays, 101-125=Nexa remote switches number 1-25, version 4.0-> 201-225=local 1-wire digital outputs,  version 4.31 HOME Denkovi 8 > 256-456

Turn on only one relay or Nexa remote switch using its name:
http://[webswitch address]/relaycontrol/on/[relay/Nexa name]
[relay/Nexa name] has to be URL encoded.

Turn off all relays and Nexa remote switches:
http://%5Bwebswitch address]/relaycontrol/off/all

Turn off only one relay or Nexa remote switch using an index number:
http://[webswitch address]/relaycontrol/off/[a number]
[a number]: 1-5=built-in relays, 6-10=extension relays, 101-125=Nexa remote switches number 1-25, version 4.0-> 201-225=local 1-wire digital outputs,  version 4.31 HOME Denkovi 8 > 256-456

Turn off only one relay or Nexa remote switch using its name:
http://[webswitch address]/relaycontrol/off/[relay/Nexa name]
[relay/Nexa name] has to be URL encoded.

Home:
Pulse a relay high(on) for a selectable duration in seconds:

http://[webswitch address]/relaycontrol/pulse/high/[relay/Nexa name/number]/[duration in secs]
See above for [relay/Nexa name/number]

Home:
Pulse a relay low(off) for a selectable duration in seconds:

http://[webswitch address]/relaycontrol/pulse/low/[relay/Nexa name]/[duration in secs]
See above for [relay/Nexa name/number]

Get current relay/Nexa state using its name:
http://%5Bwebswitch address]/relaystate/get/[relay/Nexa name]
[relay/Nexa name] has to be URL encoded.

Get current relay/Nexa state using an index number:
http://%5Bwebswitch address]/relaystate/get/[a number]
[a number]: 1-5=built-in relays, 6-10=extension relays, 101-125=Nexa remote switches number 1-25

Turn on two or more relays or Nexa remote switch using  index numbers:
http://%5Bwebswitch address]/relaycontrol/on/[a number]$[a number] etc
[a number]: 1-5=built-in relays, 6-10=extension relays, 101-125=Nexa remote switches number 1-25

Example: Turn on relays 2, 3, 5 and Nexa 1:
http://%5Bwebswitch address]/relaycontrol/on/2$3$5$101

Turn off two or more relays or Nexa remote switch using index numbers:
http://%5Bwebswitch address]/relaycontrol/off/[a number]$[a number] etc
[a number]: 1-5=built-in relays, 6-10=extension relays, 101-125=Nexa remote switches number 1-25

Example: Turn off relays 1 and 4:
http://%5Bwebswitch address]/relaycontrol/off/1$4

Getting relay state by index, multiple relays:
http://[webswitch address]/relaystate/get2/[a number]$[a number] (and so on)

The answer will be something looking like:
1,0
2,0
5,1
for an url looking like this: http://[webswitch address]/relaystate/get2/1$2$5

Ham/Home
http://%5Bwebswitch address]/relaycontrol/pulse/[relay]
relay=1-10

For reading digital inputs:

Input 1:
http://[webswitch address]/input/get/1

Input 2:
http://[webswitch address]/input/get/2

Local 1-wire inputs:
http://[webswitch address]/input/get2/[a number]
[a number]: 1-25=1-wire input number 1-25

Note that since it’s a dual input devices the answer will look like this:
|[3-digit status code]|[Message in text]|[value]
With [value] being formatted as A,B for input A and B, for ex. 1,0 means input A=1 and input B=0

Reading by index:
http://[webswitch address]/temperature/get/[1-25]

Added in version 3.7:
Reading “temperatur.nu” temperature:
http://[webswitch address]/temperature/get/26

Reading by sensor name:
http://[webswitch address]/temperature/get/[sensor name]
[sensor name] has to be URL encoded.


Reading by index:
http://[webswitch address]/temperature/get2/[1-25]

Added in version 3.2:
Reading by index, multiple sensors.
http://[webswitch address]/temperature/get2/[1-25$1-25$1-25] (and so on)

The answer will be something looking like:
2,24.4
3,21.4
4,23.8
for an url looking like this: http://[webswitch address]/temperature/get2/2$3$4

Reading by sensor name: 

http://%5Bwebswitch address]/temperature/get2/[sensor name]

[sensor name] has to be URL encoded.

Added in version 4.17:

Reading max temperature by index:
http://[webswitch address]/temperature/get/[1-25]/max

Reading min temperature by index:
http://[webswitch address]/temperature/get/[1-25]/min

Reading max temperature by sensor name:
http://[webswitch address]/temperature/get/[sensor name]/max
[sensor name] has to be URL encoded.

Reading min temperature by sensor name:
http://[webswitch address]/temperature/get/[sensor name]/min
[sensor name] has to be URL encoded.

Added in version 4.21:

Resetting max/min temperatures:
http://[webswitch address]/temperature/reset/now

Getting date/time for last reset of max/min temperatures:
http://[webswitch address]/temperature/reset/last
Example of reply:  |000|OK|2015-09-17 14:49|

Reading by index:
http://%5Bwebswitch address]/rh/get/[1-25]

Reading by sensor name:
http://%5Bwebswitch address]/rh/get/[sensor name]
[sensor name] has to be URL encoded.


Reading by index:

http://%5Bwebswitch address]/rh/get2/[1-25]

Reading by sensor name:
http://%5Bwebswitch address]/rh/get2/[sensor name]
[sensor name] has to be URL encoded.

Added in version 4.81

Reading by index:
http://%5Bwebswitch address]/rh/get/[30-32]

Get the state of the car heaters:

http://%5Burl%5D/carheaterstate/get

See below for the reply format.

Set the state of the car heaters:
http://%5Burl%5D/carheatercontrol/set/override/%5Bheater name]/[command]
[heater name]: name of the heater
[command]: disabled, off, on

http://%5Burl%5D/carheatercontrol/set/override/%5Bheater name]/[command]/[hour]/[minute]
[heater name]: name of the heater
[command]: today or tomorrow
[hour]: hour of departure time in format 0-23
[minute]: minute of departure time in format 0-59

Get the state of the Auto Control Programs:
http://%5Burl%5D/acpstate/get
See below for the reply format.

Set the state of an Auto Control Program Override:
http://%5Burl%5D/acpcontrol/set/override/%5BACP name]/[command]
[ACP name]: name of the Auto Control Program
[command]: disabled, off, on

http://%5Burl%5D/acpcontrol/set/override/%5BACP name]/[command]/[hour]/[minute]
[ACP name]: name of the Auto Control Program
[command]: off, on
[hour]: hour to turn on or off
[minute]: minute to turn on or off

Set the state of an Auto Control Program itself:
http://%5Burl%5D/acpcontrol/set/program/%5BACP name]/[command]
[ACP name]: name of the Auto Control Program
[command]: disabled, enabled

Get the state of the Auto Control Programs, including disabled programs
http://%5Burl%5D/acpstate/get2
See below for the reply format.

Getting/setting rotator state:

Get current position in degrees:
http://%5Burl%5D/rotatorcontrol/get

Reply format:
”|000|OK|[degree]”  ([degree]=0-359 or >= 360 if no valid readings are available)

Set current position in degrees:

http://%5Burl%5D/rotatorcontrol/set/%5Bdegree%5D

Abort current operation:
http://[url]/rotatorcontrol/set/stop

Set current position using presets:
http://%5Burl%5D/rotatorcontrol/set/preset/%5B1-8%5D

Set power relay on/off:

http://%5Burl%5D/rotatorcontrol/set/power/on

http://%5Burl%5D/rotatorcontrol/set/power/off

Set aux relay on/off:

http://%5Burl%5D/rotatorcontrol/set/aux/on

http://%5Burl%5D/rotatorcontrol/set/aux/off

Get rotator setup:
http://%5Burl%5D/rotatorcontrol/get/setup
See below for the reply format.

Get current position, etc:
http://%5Burl%5D/rotatorcontrol/get2

Reply format:
”|000|OK|[degree],[preset],[power relay],[Aux relay],[Page timeout],[Status message]”

[degree]=0-359 or >= 360 if no valid readings are available
[preset]=Active preset 1-8 or 255 if no active.
[power relay] = Power relay status: 0=Off, 1=On, 2=Not supported.
[Aux relay] = Aux relay status: 0=Off, 1=On, 2=Not supported.
[Page timeout] = Page time out: >0 = page active, 0 = page inactive
[Status message] = Latest status in text format.

Every field, except [Status message], contains only digits.

General format of replies:

General replies are done with Mime type “text/plain” via HTTP in the following format using | as field separator:

|[3-digit status code]|[Message in text]|[status/value]

”|000|OK|[status/value]”
“|100|Unknown command|[status/value]”
“|101|Unknown relay: [id]|[status/value]”
“|102|Unknown input: [id]|[status/value]”
”|103|Not a temperature sensor: [id]|[status/value]”
”|104|Invalid temperature sensor index: [index]|[status/value]”
”|105|Invalid temperature sensor name: [name]|[status/value]”
”|106|Unknown pulse command:[command]|[status/value]”
”|107|Invalid pulse length: [length]|[status/value]”
”|108|Pulsing already active: [relay]|[status/value]”
”|109|Unknown status: [relay]|[X]”
”|110|Unknown car heater: [name]||”
”|111|Invalid time: xx||”
”|112|Not a humidity sensor: [id]|[status/value]”
”|113|Invalid humidity sensor name: [name]|[status/value]”
”|114|Invalid Auto Control Program Override time|[status/value]”
”|115|Unknown Auto Control Program: [Program name]|X| ”
“|116|Invalid rotator preset index|X|”
“|117|Rotator power already on/off||”
“|118|Unknown rotator power command|X|”
“|119|Rotator aux relay already on||”
“|120|Rotator aux relay already off||
“|121|Unknown rotator aux relay command|X|”
“|122|Rotator aux relay command not supported||”
“|123|Invalid rotator set command|X| ”
“|124|Invalid rotator command|X|”

Temperatures: A number in Celsius degrees, for ex: 23.3000
Relative humidity: An integer, for ex: 45

For xml formatted replies the Mime type “text/xml” is used.

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<carheaters>

<carheater>
<name>[Name of first heater]</name>
<relay>[Used Relay]</relay>
<temperature>[Current temperature]</temperature>
<relaystate>[0=Off, 1=On, X=Unknown]</relaystate>   <!– Added in version 3.0 –>
<tempunit>Celsius/Fahrnheit</tempunit>  <!– Added in version 3.0 –>

<engagetime>
<hour>[Hour for engage time in format 0-23 or 255 if N/A]</hour>
<minute>[Minute for engage time in format 0-59 or 255 if N/A]</minute>
</engagetime>

<disengagetime>
<hour>[Hour for disengage time in format 0-23 or 255 if N/A]</hour>
<minute>[Minute for disengage time in format 0-59 or 255 if N/A]</minute>
</disengagetime>

<tomorrowsdeparturetime>
<hour>[Hour for tomorrow’s departure time in format 0-23 or 255 if N/A]</hour>
<minute>[Minute for tomorrow’s departure  time in format 0-59 or 255 if N/A]</minute>
</tomorrowsdeparturetime>

<override>
<mode>[Override mode, one of: disabled, on, off, today or tomorrow]</mode>
<hour>[Hour for override time if mode today or tomorrow in format 0-23 or 255 if N/A]</hour>
<minute>[Minute for override time if mode today or tomorrow in format 0-59 or 255 if N/A]</minute>
</override>
</carheater>

<carheater>
<name>[Name of second heater]</name>
<relay>[Used Relay]</relay>
<temperature>[Current temperature]</temperature>

<engagetime>
<hour>[Hour for engage time in format 0-23 or 255 if N/A]</hour>
<minute>[Minute for engage time in format 0-59 or 255 if N/A]</minute>
</engagetime>

<disengagetime>
<hour>[Hour for disengage time in format 0-23 or 255 if N/A]</hour>
<minute>[Minute for disengage time in format 0-59 or 255 if N/A]</minute>
</disengagetime>

<tomorrowsdeparturetime>
<hour>[Hour for tomorrow’s departure time in format 0-23 or 255 if N/A]</hour>
<minute>[Minute for tomorrow’s departure  time in format 0-59 or 255 if N/A]</minute>
</tomorrowsdeparturetime>

<override>
<mode>[Override mode, one of: disabled, on, off, today or tomorrow]</mode>
<hour>[Hour for override time if mode today or tomorrow in format 0-23 or 255 if N/A]</hour>
<minute>[Minute for override time if mode today or tomorrow in format 0-59 or 255 if N/A]</minute>
</override>
</carheater>

</carheaters>

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<carheaters>

<carheater>
<name>Car Warm Up 1</name>
<relay>CH 1</relay>
<temperature>23.6875</temperature>

<engagetime>
<hour>255</hour>
<minute>255</minute>
</engagetime>

<disengagetime>
<hour>255</hour>
<minute>255</minute>
</disengagetime>

<tomorrowsdeparturetime>
<hour>8</hour>
<minute>7</minute>
</tomorrowsdeparturetime>

<override>
<mode>disabled</mode>
<hour>255</hour>
<minute>255</minute>
</override>
</carheater>

<carheater>
<name>Car Warm Up 2</name>
<relay>Nexa 6</relay>
<temperature>23.6875</temperature>

<engagetime>
<hour>8</hour>
<minute>20</minute>
</engagetime>

<disengagetime>
<hour>9</hour>
<minute>35</minute>
</disengagetime>

<tomorrowsdeparturetime>
<hour>9</hour>
<minute>5</minute>
</tomorrowsdeparturetime>

<override>
<mode>disabled</mode>
<hour>255</hour>
<minute>255</minute>
</override>
</carheater>

</carheaters>

For xml formatted replies the Mime type “text/xml” is used.

<?xml version=”1.0″ encoding=”ISO-8859-1″?>

<acp>
<programs>

<program>
<no>[Program number]</no>
<name>[Program name]</name>
<relayname>[Relay used by the program]</relayname>
<relaystate>[Current relay state]</relaystate>
<override>
<mode>[Override mode]</mode>
<time>[Omitted, override time]</time>
</override>
</program>

<program>
<no>[Program number]</no>
<name>[Program name]</name>
<relayname>[Relay used by the program]</relayname>
<relaystate>[Current relay state]</relaystate>
<override>
<mode>[Override mode]</mode>
<time>
<hour>[Override hour]</hour>
<min>[Override minute]</min>
</time>
</override>
</program>

</programs>
</acp>

<?xml version=”1.0″ encoding=”ISO-8859-1″?>

<acp>
<programs>

<program>
<no>1</no>
<name>Light control</name>
<relayname>light</relayname>
<relaystate>0</relaystate>
<override>
<mode>disabled</mode>
<time></time>
</override>
</program>

<program>
<no>2</no>
<name>Heat control</name>
<relayname>heat</relayname>
<relaystate>1</relaystate>
<override>
<mode>on</mode>
<time></time>
</override>
</program>

<program>
<no>3</no>
<name>Fan control</name>
<relayname>fan</relayname>
<relaystate>0</relaystate>
<override>
<mode>off</mode>
<time>
<hour>14</hour>
<min>10</min>
</time>
</override>
</program>

</programs>
</acp>

Format of reply for command /acpstate/get2:

The format is the same as for /acpstate/get with the addition of this field:

<state>[Program state]</state>

which is repeated for every program.

[Program state] = 0 = program is disabled.
[Program state] = 1 = program is enabled.

Format of reply for command /rotatorcontrol/get/setup:

For xml formatted replies the Mime type “text/xml” is used.

<?xml version=”1.0″ encoding=”ISO-8859-1″?>

<rotor>
<presets>
<pre>
<no>[Number}</no>
<text>[Text]</text>
<deg>[Degree]</deg>
<active>[Active]</active>
</pre>
</presets>
<aux>[Aux relay mode]</aux>
<pwr>[Power relay mode]</pwr>
<type>[Rotator type]</type>
</rotor>

There will be 0-8 <pre> tags. Presets without texts are skipped.
[Active] will be 0 or 1.
[Aux relay mode] will be 0,1 or 2. 0=Off, 1=On, 2=Not supported.
[Power relay mode] will be 0,1 or 2. 0=Off, 1=On, 2=Not supported.
[Rotator type] will be a number according to the following list:
0=Analogue.
1=Prosistel D.
2=Array switch.
3=Green Heron RT21.
4=DCU 1.
5=Yaesu GS232B.
6=Alfaspid RAK.

WSPR Station

Project 5 of 7 for October, 2020 – projects to keep sane during Covid-19 Lockdown

Status: Completed and on the air as of June, 2021

WSPR has been played with for so long it has gone through may iterations. As of May, 2022, the latest attempt is to use a TAPR WSPR board on a Raspberry Pi. This runs 200 mW on one designated band. In our case, 10 meters. Watch for progress. Continue reading below to learn about earlier attempts.

The object of building a WSPR station is to be able to see signals first hand real time that are coming into this qth. A band to operate on can be chosen more quickly and more efficiently. WSPR per se is explained here: https://en.wikipedia.org/wiki/WSPR_(amateur_radio_software)

While it would be great to have a WSPR transmitter as well as receiver that is not feasible at the remote site or at home. The radiated signal from WSPR would cause interference to other services. A reasonable alternative exists and that is to receive only. Stations decoded will be posted to WSPRnet.org which shows a map of where those stations are located.

Hardware and software is about as simple as it can get. All parts are already in place and just need to be connected and configured. A computer that is already on site can run the WSJT-X software. An antenna that is already on site, the DXEngineering RF-PR-1B Active Magnetic Loop, can provide a signal on multiple bands. A receiver that will work well is the SDRPlay. The new model RSPdx is on site and is an excellent choice because of it’s additional bandpass filter on the low bands. It will enable monitoring of 630 meters all the way up to 10 meters. Virtual audio channel software will need to be installed to provide a software connection between the SDRPlay and the WSPR decoder. Virtual com port software will be needed for cat control to change frequencies. Power budget will be low because the pc and the receive loop already run 24 hours a day. The SDRPlay is the only additional power draw and it is insignificant. It plugs into a usb port on the pc and draws power from the pc.

Updates to follow as the project is implemented. Example display of WSPRnet.org is below.

It’s working! Check it out at wsprnet.org. Running on 30 meters alone provides this result.

All it needed was to reload SDRUno with the latest version, vspn port emulator software, and vb basic virtual audio cable software. A YouTube instruction video by the SDRPlay technical department helped a lot.

Final step will be to open up all bands, not just 30 meters. That works but the whole WSPR operation is not at all stable. This project is not done. It is stable so long as it is not disturbed but accessing the pc with remote desktop. That disturbance stops the WSPR operation.

It has been stable for more than a day by starting the applications on site and not using remote desktop. This is not a solution because we need remote desktop to reach other applications. Work in progress.

Currently working on an antenna on the house back in Denver to become the beacon antenna. How long before the HOA notices?

Update – June, 2021: Relocated to the site of the remote base, using Hustler 6BTV vertical antenna and Yaesu FT-817 transceiver. Running 1 watt on 80,40,30,20,15,10, and 6 meters. The computer is an Intel NUC i3 running Windows 10 and WSJT-X 2.4.1. Here is a typical example of performance. The best spot is Iceland hearing W0QL with it’s 1 watt and a vertical.

Above is an example of 30 meters early one evening. One watt and a vertical is amazing.

A Case For Thunderstorms Causing Sporadic E on 6 Meters.

The mechanism that generates Sporadic E clouds is somewhat mysterious.  In Propagation and Radio Science, Eric Nichols explains one possible mechanism is thunderstorms that are strong enough to break electrons free forming a cloud of free electrons.  A good example presented itself on the evening of May 24, 2019  as documented by two maps of the United States taken simultaneously.  The first is a radar map showing a line of thunderstorms along the Kansas/Missouri border.  The second is a map of PSKREPORTER showing W0QL reports.  W0QL is located in Colorado and the reports are located precisely on the opposite side of the thunderstorms and no where else (except local).  Theorizing, the sporadic E cloud is above the thunderstorms and the signal from W0QL is bouncing off that cloud.

2019-05-24

2019-05-24 (1)

See Propagation and Radio Science, Exploring the Magic of Wireless Communication by Eric P. Nichols, KL7AJ, ARRL Publications, 2015.

Terrain Profiles

How well our signals will emanate from this new location can be estimated by using software called HFTA (High Frequency Terrain Analysis – from any recent ARRL Antenna Book ) to produce a map of the terrain.  It looks promising because we slope down toward the northeast, which is direction of Europe.  This screen snap is what the terrain looks like as we look to the northeast, or 45 degrees, using a dipole on a 60 foot tower.  Slopes down for 2 miles.  Nice.

screenshot-2016-11-25-21-06-58

Next is a plot of Colorado to Europe using a dipole at 60 feet elevation.  Looks good but could be better.  About 5 dBi gain at the take off angle where most of the Europeans stations come in.   The dipole peaks at 15 degrees, a good all around takeoff angle and very usable but not optimum for Europe.  Four or five degree take off angle is perfect but not likely attainable at this installation.

screenshot-2016-11-25-21-07-02

 

Not So Fast

This morning 20 meter European DX is rolling in like crazy but not a single station I call comes back to me.  It’s not the old test tone problem because pskreporter shows stations spotting me in Europe.  I can only conclude my antenna isn’t big enough.  What about a hex beam?  It would get out a lot better and still be a top hat for the low band vertical.  The seed of thought has been planted.  Maybe I could get some of this juicy DX to hear me.

Screenshot 2016-04-22 08.24.04

Examine what was happening above a little deeper.  I heard a Czech station call CQ and I called back.  At the same time, another U.S. station was calling him, KD2EIP which we can see and apparently one we can’t see in Russia, RV3DBK.  The Czech heard the Russian and came back to him.  My signal was clobbered by a New York station and a Russian station.  A bigger antenna might not have made any difference.  Probably nothing I could do here could overpower two stations closer to the Czech Republic.  I have to learn to think of it as a DX pileup where finesse and operating skill are the best way to beat out big gun stations (for example, “tail ending”).  OK, back to the pileup. Hex beam is on hold for now.  JT65 has become so popular every day seems like a weekend contest.  It’s not like the early days when I once worked England with 100 mw.  Here’s another example from this morning.

Screenshot 2016-04-22 08.44.25

OZ1DSD, Denmark, calls CQ and I call back.  Apparently KK5AA calls him, too, and the Denmark station comes back to KK5AA.  I lose out.  Next SQ5WAF, Poland, calls CQ and I call him back.  So does a station in Spain, EA3ATJ, and the Polish station comes back to the station in Spain.  I lose out again.  Next a station in Bulgaria, LZ5UF calls CQ and I call back.  And he doesn’t come back to anybody. He calls CQ again and I call and he comes back to no one.   I lose again.  Born to lose.  But I’ll keep trying and maybe just maybe a little bigger antenna could compensate for being so far west.  Sorry about the whining.

Remote Base Breaks The Rules

An interesting phenomenon has occurred.  It appears the remote base is making contacts above the Maximum Usable Frequency.  MUF is 18 MHz and the remote base just worked two different stations on 21 MHz using JT65.  Refer to the screen snaps below.  In the first frame notice the lines highlighted in red.  Those are packet exchanges with the WOQL Remote Base.  Clearly good contacts with excellent signal reports with time stamps between 2143Z and 2156Z.

Screenshot 2016-04-18 15.59.56

Here is a screen snap of the Digisonde Ionogram at Boulder, Colorado at 2150Z, the same time as the contacts, showing the MUF is 18 MHz.

Screenshot 2016-04-18 16.00.33

Any explanation?  This needs to be dug into deeper.  Is JT65 that good?  Was the MUF in South America higher at the time than it was in Boulder?  Does MUF need to be redefined?  Is it just all magic anyway?

 

September, 2017 Followup:   QST article calls this phenomenon “an above-the-MUF mode of propagation”. October 2017, page 46 by K9LA.

Happy Sunday

Finally the stars have aligned and we are having a happy Sunday afternoon watching the DX come in on 20 meters and seeing our signals posted over a large part of the world. This is only on 20 meters because we are still using only the PAR/LNR EF-20 end fed half wave vertical while we ponder antenna improvements.

Screenshot 2016-03-27 15.03.49

Hill Top Smill Top

I tried to operate from the top of a hill on the property temporarily but I could never get the test working.  Meanwhile I had been wanting to perform an HFTA as described in the ARRL Antenna Book.  HFTA stands for High Frequency Terrain Analysis.  That software program might tell me if I should move the setup to the hill top permanently.  After an evening of working with HFTA I concluded moving would not make a significant difference. In the directions of DX like Europe and Africa the terrain continues to slope down even though I’m not at the top of the hill.  In fact it slopes down toward Europe for more than a mile.  That sounds like a pretty good location.  Here are the two terrain plots toward Europe (45 degree azimuth).  Terrain drops off at a sharp angle.

Screenshot 2016-03-25 14.37.15

Figure 1 – Terrain toward Europe as seen from hill top ( red diamond is dipole at 39′ up).

Screenshot 2016-03-25 15.02.52

Figure 2 – Terrain toward Europe as seen from original location ( down the hill about 45′).

My conclusion: there is a downward slope toward Europe at both locations so it doesn’t matter.  HFTA is a fantastic tool. I must make note of the peak at 10,000 feet out.  It is much more of a concern when I am at the lower position.  This concern might be a reason to go up the hill later if performance isn’t what I hope for.

Sample of receiving results – March, 2016

Here is a screen snap showing a sample of what we’re seeing printed on JT65 at 7:30 am on 20 meters. Absolutey fabulous.  Beyond my wildest dreams.   I can’t wait to be able to transmit and see if I can work some of this delicious DX. All corners of the globe, Asiatic Russia, Netherlands, Germany, Sweden, Australia, and Indonesia all within the same minute. Now THIS is what I’m talking about!

Screenshot 2016-03-02 07.39.23