How to adjust your parabolic antenna for QO-100 / Es’Hail amateur radio geostationary satellite

VIDEO. How to adjust your dish for QO-100 geostationary satellite:

  • Find Astra 28,2 degrees (strong signals in Northern Europe and Central Europe) with a low cost satfinder with sound / analog meter
  • This is one of the most eastern TV satellites that are very strong, so you can start east and move towards south until you find the first strong satellite on your satfinder (you should find Astra 28,2)
  • Now move a slight bit more to the south until you are out of the strong Ku band lobe of the Astra 28,2
  • You should point in the correct direction (elevation is the same in practice)
  • If you have a generic LNB the IF should be on 739,7 MHz. Your SDR should be able to tune to that QRG

Join our FB group (exclusively for licenced radio amateurs by the respective government administrations) https://www.facebook.com/groups/252645695661305/members/

Quatar Oscar 100 Geostationary Satellite / QO-100, Es’Hailsat, new Facebook Group for licensed radio amateurs

There is a new Facebook group for Quatar Oscar 100 Geostationary Satellite. (QO-100, Es’Hailsat). Licensed radio amateurs are welcome to join via the link below! (Exclusively for licenced radio amateurs by the respective government administrations).
Members typically discuss equipment, design of equipment, antenna designs, post QSO videos and sound recordings etc.   https://www.facebook.com/groups/252645695661305/

cover photo, No photo description available.

Securing your node-red editor and dashboard on the Raspberry Pi

If you leave your node-red installation on your rpi running without a password you will be hacked and soon owned by people using your rpi as a bit coin mining device. It is easy to set a password for the editor and for the dashboard!:

Node-red is installed in /home/pi/.node-red (the . dot in front means you will normally not be able to see the directory as the dot means it is hidden. Therefore, set up your file manager to show hidden files. Alternatively, if you are using the terminal you can use ls -a or ls -al in the /home/pi directory to see all that is there).

Edit the settings.js file with

nano settings.js

Uncomment this section in the settings.js file:

adminAuth: {
type: "credentials",
users: [{
username: "admin",
password:"xxxhash key is pasted herexxxx",
permissions: "*"
}]
},

You will need to generate a hash with node-red-admin and type the hash-pw command. The hash key you paste above in the field xxxhash key is pasted herexxxx (keep the ” ” signs and dont mess up the [ ] {} , stuff).

You will probably have to install the node-red-admin tools (google how to do that with npm) to be able to use node-red-admin

For the dashboard you do the same procedure but you now un-comment this line

httpNodeAuth: {user:"user",pass:"xxxxdashboard hash key is pasted herexxxx"},

Make sure to keep all commas etc!
If you are uncertain to what directory your rpi reads the settings.js file from, you can start the node-red with node-red-pi and look at the messages in the console. It will report the location and file it uses. Dont edit the wrong settings.js file … there are several installed on your pi it seems

Restart the node red
IMPORTANT! CLEAR THE CACHE of your web browser. If not you will not see the password on the editor and the dashboard, as node-red uses cache quite heavily. See https://support.mozilla.org/en-US/kb/how-clear-firefox-cache for how to clear Firefox cache

How to check for a NAN (Not A Number) in C++ in embedded systems without exception handlers

Sometimes there are bugs or special corner conditions that makes a NAN (Not A Number) occur in code compiled from a C++ source and executed on an embedded systems without memory to run exception handlers.

Here is what @Jalf writes over at StackExchange:

According to the IEEE standard, NaN values have the odd property that comparisons involving them are always false. That is, for a float f, f != f will be true only if f is NaN.

Note that, as some comments below have pointed out, not all compilers respect this when optimizing code.

For any compiler which claims to use IEEE floating point, this trick should work.

If you inplement a function in a separate .cpp file , how do you access objects instantiated in main from functions implemented that file?

Sometimes there is a need to spread code into several .cpp files to avoid clutter (for example main.cpp, other1.cpp, other 2.cpp) . So if you implement a function in a separate .cpp file, how do you access objects instantiated in main?

Solution: use extern

other1.cpp:

extern ObjectType objectname

void doSomething (void) 
{
      objectname.method();
}

Of course this is very basic stuff, but many new programmers ask about this so I included a short post about this here.