Here is the Ghettostation, Arduino based groundstation with antenna tracking for OpenPilot & Multiwii.
This one works with any pan/tilt course capabilities. It will find it's path alone depending of your servo liberty ofmovement.
http://code.google.com/p/ghettostation/



Hardware:
What's in the box:
- an old gopro plastic box
- 3 joypad buttons
- an lcd03 I2C 20x4 ( will add other LCD type later )
- an arduino ( nano or any other )
- 2 standard servos( with 180° capability, most servos of the market ) , or a 360° servo (pan ) & a 90° one (tilt), or whatever you want in fact. Software will handle it.
- an oplink/Xbee/RF433 or any other RF serial link with your UAV.
- a Bluetooth dongle ( if you want to bridge the connection with your PC or Android phone for GCS use )
- a 5V ubec 5V
- a 3s lipo
- an ImmersionRC 5800 video diversity
- an SDCard video recorder.
Pan axis goes under the box, the whole cube turn itself on it's pan axis.
I used a big thrust bearing like this one:
This allow to use a light servo, all the weight is handled by the bearing.
For the tilt I use a tilt axis from ServoCity.
This is just my config, but the software can handle any type of mechanic capability ( 180° pan / 180° Tilt, 360° pan / 90° tilt, 180° pan / 90° tilt, & even any personal variations ( 220° pan 160° tilt, etc )
Here we have a 180° pan / 160° tilt capability. I only send it 0-360° pan angle and 0-90° tilt angle, and it will adapt its course like here:
The software runs on atmega 328 or more.
Any arduino suits the task.
Arduino ram & flash is almost full, but there's many way to optimise my "dirty?" code for future functionalities.
Manual:
What you need:
- an arduino 328 or more
- a serial wireless link between the tracker and the UAV ( Xbee, Oplink, RF433, etc )
- optional: a bluetooth dongle to bridge telemetry from the tracker to your GCS.
- 2 servos
- 3 push buttons
- an LCD03 I2C panel.
Build:
- plug your pan signal servo wire to pin 6 and tilt to pin 9 ( you can change the pins in the config.h if needed)
- optional: add a led to pin 13
- Wire you Xbee/Oplink/whatever Tx pad to arduino Rx pin ( pin 2 ).
If you don't have an osd using the telemetry protocol, or a GCS running on the ground, you'll need to wire the Rx pad of the Xbee/Oplink to the Tx pad of the arduino ( pin 1 )
- you should add a bluetooth dongle too if you want to use your groundstation software at the same time : Wire bluetooth Tx to Xbee Rx, and BT rx to Xbee Tx.
- wire the 3 buttons from pin 3, 4 , 5 to ground.
LEFT_BUTTON_PIN 4
RIGHT_BUTTON_PIN 3
ENTER_BUTTON_PIN 5
- you'll need an external 5/6v voltage regulator for the servo power. Arduino can't draw too much amp on it's own 5v line.

First config:
- add provided libraries in your arduin library folder.
- edit config.h according to your needs.
Default servo pwm endpoints & max/min angles can be setup here, you can configure this later trought the menu while running.
You can put some conservative default parameters to avoid forcing on the servo for first configuration.
Check in the config.h what those parameters means.
Compile & start.
Usage:
In the menu:
Enter = Select
Long press Enter ( >1sec ) = Go back.
LeftRight: Navigate.
- At first launch, go to CONFIG menu, and set your servos endpoints & angle capabilities.
You will now you have good endpoints values when you don't ear your servo forcing.
Then configure your servos angle limits. 90° as min& max angle for pan means you have a 180° pan config.
Once all those parameters are set, Ghettostation will now your hardware capabilities and adapt servo path to it's need.
It means if your pan servo is limited to 180° but your tilt can go almost 180° too, you can cover 360 by reversing your pan and tilt.
If you servo can go further, it'll just continue to it's own limits and then switch if needed.
If there's no path possible because your servo can go further, it will just stop & wait you come back in a covered area.
- Go to SET HOME first & wait for telemetry data.
Wait for a 3D GPS fix then save home position.
Once done you have to set the bearing.
Put your UAV 20m ahead, with the tracker pointing it, and click Enter again.
If everything is ok you can enjoy your flight now.
Project : http://code.google.com/p/ghettostation/
Code: http://code.google.com/p/ghettostation/source/checkout
Manual: http://code.google.com/p/ghettostation/wiki/Manual
Multiwii protocol is untested for now, I'd be glad if somebody could test it. I don't have any mwc alive for now.