Akademisk Radioklubb


Category: Equipment (page 1 of 9)

Hamlib driver for Spid MD-01 and MD-02

A release candidate of hamlib 3.2 is out. When released, version 3.2 will be the first to contain our driver for the Spid MD-01 and MD-02 rotator controllers.

At LA1K, we’ve been using a wide range of Spid rotators and rotator controllers for a decade. We’re satisfied enough with them that we bought the MD-01 for our 1-10 GHz project even though there was no driver we could use (it comes with a Windows driver, but we were planning to use it from Linux). Spid has been accommodating with documentation in the past, which is how we’ve been able to write the other Spid drivers in hamlib, so we were optimistic about getting it to work.

The driver implementation was even easier than we thought. We first thought that we’d have to implement a brand new protocol, but it turned out the MD-01 protocol is still just vaporware. The device actually only supports the Spid Rot2Prog (or Rot1Prog) protocol, and we’ve implemented that in hamlib before. After making that discovery, we just turned on the MD-01 and set it up with hamlib rotator model 901 (Rot2Prog). Of course, it failed in fun and exciting ways.

It turned out that, yes, it speaks the Rot2Prog protocol, but not the exact same way that Rot2Prog does. While the original Rot2Prog doesn’t send a response to the set_position command (the command that makes the rotator rotate to a given position), the MD-01 will respond with its current position. Hamlib rotator drivers, at least those we’ve looked at, aren’t very forgiving when it comes to controllers sending more data than hamlib expects. There is no clearing of input buffers at the beginning of a command, so if it gets out of sync, it will disturb communication until you close and reopen the connection. Once we figured out that little quirk and implemented that behavior in the driver, it worked perfectly!

Until it didn’t …

It turned out there was a bug in the MD-01 firmware that made the controller drop commands, rotate the antenna to a different position than we requested, and generally behave in a way that made it completely useless for our purposes. The bug was triggered if commands were sent to the MD-01 too fast. If we staggered the commands, there was no problem. We worked with Spid to resolve that issue, but that is a different story. Suffice it to say, Spid has released a new version of the firmware (1.2507) that contains a bug fix.

MD-01 and MD-02 extend the Rot2Prog protocol with commands to move the rotator clockwise, counterclockwise, up and down without setting a target azimuth or elevation. The hamlib driver also supports these commands, in addition to the go to position, get position and stop commands.

So if you have an MD-01 or MD-02: Upgrade to firmware 1.2507 or greater, upgrade to hamlib 3.2, run rotctl -m 903, lean back and enjoy!

A 3D printed 1100 – 1700 MHz helix antenna

3D-printing is a very cool way to make stuff, and we have wanted to test it for amateur radio projects for a long time. Jordi – LB0OH needed an antenna for an Outernet Dreamcatcher, which made for a perfect excuse to test this manufacturing method.

Searching around on the web, it appears that there are quite a lot of designs to chose from for 3D printed antennas for L-band. We ended up with a design by Tysonpower on thingiverse. From this collection we printed the 4 turn helix with Right Hand Circular Polarization (RHCP).

Half way through the 3D printing cycle.

To fit the design into the MakerBot Replicator 2x we had available, we cut the helix in half. This allows for printing it in a standing orientation, and makes warping less likely to occur.

Once the 3D print is finished, there are a couple of more steps and materials needed.

  • Some wire
  • Metal backing – anywhere from 20 cm x cm to 30 cm x 30 cm
  • A M3 nut and bolt
  • A SMA connector and suitable nuts and bolts
  • Strong glue

We prepared the metal backing by drilling a hole in the center of the square metal piece, then another hole was made around 3 cm away from the center hole. This is where the SMA connector is attached. Next the holes for the SMA connector were drilled, and the connector fastened.

The performance of the antenna was checked on a network analyzer. Initially we were having trouble getting it to match properly. After some fiddling we realized that the distance between the quarter wave matching line and the metal backing was too large. By bending the wire out of the track in the print and pushing it down closer to the metal we were able to get the performance we expected.

The axial mode helix has an impedance somewhere between 100 and 200 ohm, meaning that a matching structure must be used to bring it to 50 ohms. The matching scheme that is employed in this design is known as a quarter wave impedance transformer.  By adjusting the distance to the ground plane, the impedance of the matching section is changed. This means that there is an optimum distance, which makes the antenna impedance matched to the system impedance.

In order to keep the antenna in place, a two-component glue is used to affix the sections together.

From the final measurement it seems that the glue either moved the quarter wave section, or that the glue has a dielectric ability that affects the matching structure. Nevertheless the match is -10 dB (2.0 SWR) over 1.1 GHz to 1.7 GHz, with a decent dip of -20 dB (1.1 SWR) at around 1.3 GHz (23 cm amateur radio band).

It should be exciting to see if the antenna is adequate enough to receive Outernet packages, in which case we might update with another post.

Older posts