Using the DIYDrones Ardustation with a Tilt/Pan Video Antenna, Mavlink, Parameter Editing, and the Arducopter/ArduPlane

July 30th, 2011

Arducopter, Ardustation, and Tilt/Pan Antenna

My Arducopter has a 1.280 Ghz video transmitter and camera for sending live video down to a groundstation. Initially I used a fixed ground antenna to match an onboard dipole transmitter antenna and found that multipath was a severe problem  when flying in an area with many structures. The ground antenna is a high gain patch and isolates the multipath if it is pointed directly at the Arducopter in flight. Having seen tilt/pan antennas for FPV and UAVs on the Internet, I started looking for a inexpensive solution that could use the datalink transmitted GPS location information to point my high gain patch at the quad during flight. My search led me to an inexpensive tilt/pan antenna system from

Antenna Pan/Tilt for EagleEyes Antenna Tracker

This tilt/pan assembly comes by default with Hitec HS-485HB servos which have enough torque to operate my patch antenna and video receiver. Once installed, the servos are geared to operate from 0 to 90 degrees in tilt and 360 degrees of pan. One disadvantage is that the assembly must rotate a full 360 degrees when exceeding the stop in either direction although this happens very quickly in my experience.

To operate the  Tilt/Pan assembly, I have modified Phillip Anthony Smith’s Mavlink Ardustation software to include tilt/pan commands driven by received Mavlink GPS position. RAM is very tight in the code and is focused on APM, but I manged to add a few new screens to output tilt/pan info and set/display home information for the antenna location. I had to remove APM pid modification screens to make my changes fit in RAM. This is problematic if you want a complete replacement for a ground station, but it was not a problem for me since I also use a second Xbee with a notebook to monitor the Arducopter. I just use the Ardustation for antenna positioning. I’ve also added code to position the location of the pan stop to the least obtrusive position at the flying site.  The following video shows the antenna tracker in operation and some tips for using the software. The software can be downloaded here for others to modify or use as they see fit.


Note: The libraries distributed with versions of Arducopter 2.0.40 and later will get compilation errors due to changes in the Mavlink headers within the library. You can compile with the library contained in the Arducopter 2.0.36 source code distribution and the Ardustation software will still work with Arducopter 2.0.40 to 2.0.46. I’m working on source code changes to allow compilation with the modified Mavlink libraries.

A new version has been released that fully supports Arducopter and ArduPlane, parameter editing, antenna tracking, and autodetection of which platform is connected. This version also compiles with the latest libraries in ArduPlane 2.24 and Arducopter 2.0.48/49. The latest Ardustation 2 software  is 2.0.11.

New development and fixes for source here
Original ArdustationPSTilt/Pan Arduino Source

Demo Video







Using a Remzibi OSD with Arducopter 2.0.x Beta, Ardupilot Beta and Mavlink

July 28th, 2011

The Remzibi OSD is a versatile and inexpensive OSD solution which is tailored for use in fixed wing aircraft with an inexpensive GPS module in its default configuration. However, using the default configuration is a problem with the DIYDrones Arducopter for several reasons.

1. The OSD comes with a GPS module that is small and easy to mount but does not work well with  the MTK 3329 GPS (and the rest of the Arudcopter’s recommended electronics) operating at the same time. It is also a waste of power to operate both GPS’ at the same time.

2. The Remzibi’s firmware is closed source but configurable through Happy Killmore’s setup software.  There are limits to the configurability however. The data elements that can be enabled for screen display are fixed to specific fields within the NMEA messages coming from the GPS.  For a quadcopter, the GPS course value is not useful for display since the course is not stable in a hover. The magnetometer course is valid in a hover and therefore is the best choice. There are 2 ways to get the magnetometer value displayed (when not using the included Remzibi compass module). One  is to use the special messages in firmware 1.74 that can display arbitrary values on the screen and disable the NMEA course value for display. Another way would be to create a dummy NMEA messages and fill in the data fields with the best available parameters for the quad.

3. To integrate the special character display messages and an NMEA stream requires that one of the APMs (Arducopter’s main processor) serial ports be dedicated to format NMEA messages from the MTK 3329 GPS. The special character display messages would also be interleaved within the NMEA messages to display the magnetic course value and other desired fields such as flight mode or ham call sign. Serial 1 (usb connector and CLI) and serial 3 (telemetry) are the available ports and Mavlink is already allocated to serial 3 if a ground station is in use.  Serial 1 is dedicated to the usb connector so the only option is to interleave Mavlink and Remzibi protocol or choose one over the other.(Edit – changed this due to new information of how the FTDI goes tristate when no USB attached 8/27/2011) Port 1 is connected to an FTDI chip and the USB connector and can be used if pins are brought out from J7 on the oilpan and the USB is not connected. This also means that when the USB is connected (for firmware loading or CLI use), the connection from port 1 to the Remzibi OSD would have to be disconnected. Since Remzibi is closed source, it would seem that interleaving Mavlink and Remzibi messages which would be problematic at best (and confirmed to not work 8/27/2011). Using port 1 for Remzibi and port 3 for Mavlink would work, but requires a change to the ACM code to also output Remzibi style ASCII messages and also require care when installing new ACM firmware and using CLI mode.  Also, unless Remzibi processing was formally added to ACM (and APM) code lines, the adhoc Remzibi code would have to be added to each new ACM release and compiled to load into the Arducopter.  Choosing to run without Mavlink (and use Port 3 for Remzibi)  is also not a good option with all the capabilities of ground stations and ground based tracking antennas.

For these reasons, I thought the best solution would be to use a small separate processor to “y off” of the existing Mavlink serial output to the Xbee transmitter and process the serial stream using a Mavlink to Remzibi converter.  Mavlink is a standard on both APM and ACM and the converter can be used with future versions of ACM without recompiling ACM.

Using this approach, I create a dummy NMEA message and substitute the magnetometer heading for the GPS heading. I also decode the navigation mode (stabilize, simple, loiter,…) as a seperate field on the display. My ham call sign is displayed on the bottom left also. The following video shows the output of the converter operating in flight.

The Arduino Pro Mini is a very small board that is easy to mount near the Remzibi OSD and can process Mavlink messages and emit Remzibi format with its single serial port. The following diagram is how I wired the boards on my Arducopter. The Arduino source code is available here: osdmavlink. I used this software with Remzibi firmware 1.74. To compile this code you need to have the Arduino 22 sketchbook area contain the libraries from either the latest APM or ACM code. For use with the Arducopter, you can download the latest release (such as 2.039) and make sure it compiles in Arduino. Then you can compile the osdmavlink sketch in the same Arduino sketchbook area.  Make sure you restart Arduino whenever you make library changes.

Note: – Thanks to Phillip Anthony Smith for the Mavlink Ardustation firmware which became the basis of the Remzibi converter software. His software was announced in this post.

Warning – check your silk screen on the Arduino Pro mini for the Remzibi connections.  The one listed below in my connection diagram is reversed from the one on my Arducopter. The proper pins to solder to on the Arudino are marked “TX0”, “VCC”, and “GND”. Also make sure you are using the 5 volt version of the Arduino Pro Mini. The Remzibi puts out +5 volts on its GPS connecter – not 3.3 volts.


Note: The libraries distributed with versions of Arducopter 2.0.40 and later will get compilation errors due to changes in the Mavlink headers within the library. You can compile with the library contained in the Arducopter 2.0.36 source code distribution and the Mavlink OSD software will still work with Arducopter 2.0.40 to 2.0.46. I’m working on source code changes to allow compilation with the modified Mavlink libraries.
PDF of the connection diagram
OSD Configuration Bin File (be sure to rename to .bin)

APM version of osdmavlink





A Version of Bill Gates’ (Microsoft’s) First Product – Altair 4K BASIC

January 22nd, 2011

I found this today cleaning up the basement. This is an audio cassette shipped by MITS in 1977 containing an FSK version of Altair (Microsoft) 4K BASIC for the Altair 8800 computer. My Dad and I built our Altair in 1975 and finally got enough memory (5K) to run BASIC.  We used the Altair ACR board hooked up to a cassette tape recorder to load the software. The cassette was also shipped with a snippet of ASR-33 paper proving that this cassette loaded on an ALTAIR- along with a statement of free memory.  I wish I still had the snippet – but it most likely has been lost to the ages. The back side of the cassette has hand written 125/256 so I suspect this was a batch of 256 cassettes. There were apparently earlier versions since this is listed as version 4.0.

An audio cassette containing MITS 4K BASIC

Handwritten back side

My MTK 3329 GPS Reset Solution – Arducopter

January 21st, 2011

I ordered a new MTK 3329 GPS module and tested last weekend on my Arducopter.  The new one works fine in the cold – no more resets back to NMEA.  Very strange issue on my original MTK.

My Arducopter GPS Hold Issue – MediaTek MT3329 GPS resetting in cold weather

January 11th, 2011

I’ve been flight testing my Arducopter since Christmas with excellent flight performance (RC2 firmware) but mixed results for the Gps hold function.  I finally tracked the issue down to my MTK GPS resetting itself while running the September firmware when it is cold. The GPS runs great indoors as verified in my XBEE serial monitor using the “4” selection, but would stop reporting a position (TOD stops updating) a few minutes after I was flying in cold weather (20 degree F). I used my USBEE logic analyzer to figure out what was going on and I see the proprietary binary protocol change to the default NMEA protocol when I place the Arducopter outdoors.

The LA showed the output in proprietary format at a 5 Hz rate stopping for 2 seconds and then a $PGMOD message with the default NMEA output resuming just after. The blue light on the MTK carrier board maintains a solid blue light through the reset which was fooling me when trying to test the GPS hold in flight. I checked the 5 volt power going to the GPS when the event happens and everything is fine so it seems my MTK is temperature sensitive.

My MediaTek is an older one (purchased in late Summer 2010) with a coin battery on the back and I’ve ordered a new one. I just wanted to give a heads up to others since the the switch back to NMEA was so weird when trying to get the GPS hold to work.

Here is the USBEE screeen capture showing the serial port messages changing to the default message format during the MTK reset, the left packets are the proprietary messages at 200 msecs, then a pause, a reset message, and then NMEA packets. (Love the USBEE by the way):

GPS Reset Event

My New Arducopter

January 10th, 2011

A great flying quad-copter:

My New Arducopter

I’m having some trouble with the MTK GPS and the winter weather in St. Louis, but otherwise, this is the best flying copter I’ve ever had. It has a GPS/barometric pressure/sonar rangefinder  driven autopilot that will be able to fly waypoints and come home on command. I’m working now on a tilt/pan video camera transmitted to the ground and commands on a bidirectional data link (XBEE). Highly recommended and available at: DIY Drones.

Windows Server 2008 IE 8 Hardware DEP Exception After Installing Microsoft Patch KB977724 for Office 2007

March 11th, 2010

Short version – If you run into IE 8 suddenly crashing with a DEP exception after installing Microsoft’s Office Patch KB977724, you need to visit the following link to get a hot fix for KB977724.

Long version –
I spent half a day trying to figure out why I suddenly had IE 8 crashing in Windows Server 2008 while working on Sharepoint 2007 WSS development. The DEP exception would lock up IE 8 with a small dialog box indicating that IE had crashed. I tried the standard stuff – going through the add-ons disabling everything and nothing reliably stopped the crashes – except for running IE with no add-ons loaded. I thought it was related somehow to SharePoint 2007 or possibly an exploit of some sort. A day later I found this post above which doesn’t specifically mention IE 8 – but does work for my situation. I think that SharePoint’s interaction with Office 2007 is causing IE 8 to crash.

Ardupilot and Me – First Test and a Crash

January 27th, 2010

This is video from last September of my first Ardupilot test. To keep the first test simple, I modified the software configuration to fly a simple fixed heading of 45 degrees when I engage the autopilot from the R/C unit. This worked very well for a while until the last attempt, when something glitched in the software/GPS and commanded a dive into the ground into one of the few trees in the field. The end of the video shows several frames of video as the pieces were stripped off the airplane by the tree. All the electronics survived the crash and I’m rebuilding a new airframe to test in the Spring.

Technorati Tags:

60/5 Megabit Service

January 11th, 2010

I’m excited to try Charter’s new Docsis 3.0 60 mbit service in St. Louis. Pricing was $30 more than what I’m currently paying for 20/2.

LHC Coming On Line – September 10, 2008 and the LHC Rap

September 7th, 2008

I’ve been watching with interest the progress in CERN’s LHC and the upcoming first proton beam over the 27 km loop. Wednesday, September 10, 2008 is the day and I’m excited to hear how the tests go. The beam will be only in one direction, so any collisions will be from stray particles or beam positioning errors. However, as they calibrate the detectors and other instruments, it won’t be long until the many experiments planned for the LHC will commence. In particular, the search for the Higgs Boson is really exciting since this may finally add the source of mass for particles in the Standard Model.

One really enjoyable overview of the LHC is AlpineKat’s LHC Rap: