Orbitron DDE Azimuth Elevation To Serial

Control a satellite rotator automatically from Orbitron by sending it the azimuth via serial.

A couple of years ago I wrote some code with a library I found to listen to Orbitron using it’s DDE inter-process comms and send the satellite information string over serial to potentially drive an aerial rotator.

I’ve since updated the code and thought I would share it here.

Using DdeOrbitronToSerial

[Drivers]
DDEOrbitronToSerial=C:\blah\DDEOrbitronToSerial.exe
  • Don’t directly run the exe, you have to launch it from Orbtron itself by going to the rotor/radio tab, selecting the correct DDE driver, in this case it’s DDEOrbitronToSerial. Then click the button to the right of the dropdown to start sending data and launch the application:

orbtron-rotor-tab

 

  • The DDEOrbitronToSerial application should now launch and you will be able to select your COM port and output the satellite data to the serial port.
    • NB: You can edit additional options such as com port baud rate in the config file by clicking the open config button.

DDEOrbitronToSerialScreenShot

 

Any bug reports or feature requests are welcome!

28 thoughts on “Orbitron DDE Azimuth Elevation To Serial”

  1. Hello, I tryed this code, but I can’t receive the data I was wondering if is a coom speed problem as I didn’t find the way to set the com speed, and looking to the flashing led on my serial converter is seem quite high (I’ll try with an oscilloscope tomorrow ) Is it possible to have a way to set the com port speed?
    Thanks in advance, Matteo

    1. Hi Matteo,
      Thanks for the comment. You can edit the config file to change the baud rate. I can see that the config file is a bit awkward to update so perhaps I’ll put some specific options in too 🙂
      Cheers,
      Alex

  2. I have a Bushnell telescope with the motors to move it to what you want to see. The scope is shot. Motors work. The controller plugs into the base with only a phone or cat5 jack. I can’t remember offhand I’m not home to check. Would there be a way to output this to something like that? My plan is to take the tube off and mount a yagi.

    1. Hi,
      I don’t see why not. It depends what you need to feed into the controller.

      At the moment it outputs a string which is sent down a serial port. So if the motor controller takes serial it would be an easy code change but if the controller needs something else you may have to bodge together an intermediary unit. Feel free to post some more details, happy to take a look.

    1. Actually, I’ve verified that this does run on XP. Also, I wouldn’t recommend you use an unsupported OS, for security reasons at least.

  3. I am running orbitron to steer my sdr.
    To control my rotor as well i installed your package an updated the setup.cfg width the suggested line.
    But after restarting the Orbitron program your driver/program doesnt show up in the dropdown list.
    So are I am doing something wrong, using WIN10

    1. I’ve tested it on my Windows 10 machine and it works.

      If it’s not showing up in the drop down menu along with WispDDE and MyDDE then this is almost certainly a mistake in the Orbitron config.
      You mention restarting Orbitron – if you edited the config while Orbitron was running it may have overridden it on close, so make sure Orbitron isn’t running while you add the the lines to the config file.
      It may also be worth mentioning that you need to have your text editor running as an administrator to edit the Orbitron config file if you have installed it to the default location in program files.

      I hope that helps, feel free to post any other info if you don’t get it working.

      Cheers

      1. Thank you, I’ve been messing with it for a few hours because it wouldn’t show up in the Driver list. Is there a way that I don’t have to run Orbitron as an Administrator on my Windows 10 for the changes to work properly?

        1. I’m not certain but I think because Orbitron was written for older Windows versions it saves it’s configuration settings to a file in program files which normal level users don’t have write access to on Win 7 and onward. As far as I know most other settings won’t be able to be saved if Obritron is installed in the default program files directory.

          I think if you make your changes and run Orbitron as administrator just the once it should be able to read in the changes and then write them out again when it exits. This should be enough for the changes to persist and be read in the first time.

          My second choice would be to install Orbitron to a custom location, not in program files, where you as a normal permission level user will have write access.

          Third option may be to manually change the permissions of that settings file yourself so that your user has write access.

          I’m not sure if any of those would work or if there are better ways to do it but it’s my best guess!

          Cheers

    1. The serial output from the PC needs to go to something that can parse the data and drive the motors. The motors are not connected directly to the PC. My recommendation for an easy start would be to use an arduino and a motor driver module.

  4. Dear Alex,
    Thank you for sharing this. It was really helping for me. On my system everything is fine at software end, But my rotor controller didn’t accept commands like AZ300,EL13. It accept command like A300, E13 and it azimuth angle should go first on serial and then elevation angles. like from Orbitron if azimuth angle is 300 and elevation angle is -31. Then commands that will sent to rotor controller via serial should be A300 and next command should be E-31.
    Can you do this change in the software?
    It will be really appreciated.
    Thanking you in anticipation and waiting for your answer

    1. Hi,
      Thanks for the comment. I will have a look to see if I can add a method that will allow a user to specify a format string. That should help you out 🙂

    2. Hi,
      I’ve added a change that will allow you to specify a custom format string. Updated the download list. You could use “A[AZ], E[EL]”.
      Please have a go with that and let me know how it goes!

      Cheers,
      Alex

  5. Dear Alex,
    I have checked updated version, but it stops working when I link it with Orbitron. Previous versions does not have this issues.
    waiting to hear from you. Thank you so much.

    1. Can I get your email address? So that I can send you snap of the problem. I have also tested it on another system with windows 10, but it is causing same problem.

  6. Dear Alex,
    First of all, thank you so much for helping.
    It was my mistake, now it is working perfectly and sending command as A30, E-12.
    But my rotor controller accept first Azimuth and then elevation command. like A300 should go on serial first and then E30 should go on serial.
    and second thing is my rotor controller accept only positive angles, so most of time elevation angles are in negative, can you do some processing on it to make angle positive so that it would be accepted by rotor controller.
    Thank you so much for your help. hoping to listen from you soon. And how can I contact you, to learn more?

    1. I’m glad it’s working for you 🙂
      Can you give me some exact examples of what your system requires?
      Elevation when below the horizon (0 degs) is normally shown as negative so I would be interested in knowing the requirements for it to always be positive.

      Cheers

      1. Negative elevation is ok.
        Just split Azimuth and Elevation commands. First Azimuth command should go to the controller and then after few milli seconds delay, elevation command should go. Like
        A300
        delay of 1ms
        E30

  7. Sir
    How would you go about writing code for arduino uno to use just AZ only to rotate an antenna. I have my elevation fix . Not sure how to make the arduino look for the information.

    1. Hi,
      Assuming you have serial communication to your arduino you can use the serial commands to get the string sent from the dde azimuth orbitron plugin.
      When running my DDEObritronToSerial plugin you can give it a format string which it will use to format what it sends down the serial port to your, for example, arduino. In there just specify it to send [AZ] and in your arduino code it would be as simple as:

      while (Serial.available()) {
      azimuth = Serial.readString();
      }
      I’ve not tested it but i believe readString will keep reading until the end of the string (I’m guessing a newline char for example). If not do it byte at a time – there are loads of reading serial port examples out there for arduinos.
      Hope it goes well.

  8. Hi Alex,

    First of all a big Thank you for your efforts in bringing out such a nice piece of DDE software.
    It works fine and the newest addition of custom output setting is just what was required. I did try the 2016 version earlier which was working fine.

    Now I am doing a project for AzEL rotor system , which is supposed to work in sync with a computer running Orbitron and “ALSO” standalone using a MicroController preferably an Arduino.

    Since you already have the Custom settings with
    [SN] [AZ] [EL] [DN] [UP]

    Could you please add the “Date” and “Time”
    [DATE] [TIME]
    also which will be very useful for extracting the
    DATE TIME AZ EL onto a microcontroller Memory via a PC and then can be used as a standalone system [ Microcontroller + Rotor system WITHOUT a PC] on the Field and made more portable.

    Arduino + Clock Module + Rotor System.

    It will be really appreciated and will be of immense use to all experimenters as well.

    ==============================================
    Summary :

    [DATE] [TIME] for custom format string

    A Checkbox [] Zero when Negative Elevation
    ==============================================

    Please consider if it’s not too complicated.

    Once again a BIG thank you for the DDE software.

    Regards

    Sunil U K
    VU2UKR
    New Delhi India

    1. Thank you for your kind words. I’m glad people are finding it useful.
      Your request is something that can be done when I have some time.
      The zeroing of elevation should not be a problem.
      The only part I’d be concerned about is the format of the DATE and TIME strings.
      I would initially opt for dd-mm-yyyy or yyyy-mm-dd for the DATE and hh:mm:ss (where hh is 24hr) for TIME.

Leave a Reply

Your email address will not be published. Required fields are marked *