Showing APM telemetry data on Hitec Aurora's screen

 

Every now and then it's good to pack light and leave the laptop at home and just enjoy flying. Running out of battery at inconvenient time is however a concern of mine. I just recently finished a project to display telemetry data from APM on Aurora's screen. I'm not particularly proud of the technical side of the implementation, but this seems to work fine.

 

Hitec's Optima receivers interface with "Sensor station" via I2C, receiver being the master. APM has I2C-bus and it should support multiple masters, but I could never get it working reliably. My solution was to use ATMega88 to receive data via SPI from APM and relay the data to forward by answering queries send by the receiver. The circuit itself is really simple, just the avr, two resistors and a decoupling capacitor.

 

 

All the information that could be get from the sensor station are emulated from the data from APM, even including fuel meter, which tells how much mAh are remaining from the rated capacity of the battery. Only thing that I haven't implemented is GPS position and time, since they are not really useful without a map. One nice thing is that on Aurora, you can rename temp and rpm labels. I'm using rpm-1 value for mAh's used and rpm-2 for airspeed. Temp-2 is used to show the current throttle (0-100). Temp-3 and 4 are still left for some other data.

 

I'm really happy to get this working, since all the important data is available from transmitter screen with one glance and since the APM sends the data via xbee, this is a nice to have backup feature.

 

If somebody wants to use this too, I can provide sources and schematic later.

 

br,

Janne

Views: 3465

Tags: APM, aurora, hitec, telemetry

Comment by Janne Mäntyharju on November 22, 2011 at 11:32am

@Burt: Btw, thanks for the idea that one of temp values could show the flight mode. One thing that I miss for Aurora is a rotary switch with multiple positions. I'm running out of switches for modes. The sliders on bottom side could be configured for modes, but then there would be no feedback which mode is selected. Until now =)

Comment by Burt Green on November 22, 2011 at 9:15pm

Janne, remember that the A9 wants to see degrees in C. For me I wanted to leave the temp in F, for one sensor I have on my ESC. I wanted numbers from 1 to 6, but had to use what the A9 conversion was, but still worked. My problem was gps date & time, then what waypoint it was heading for. I have had problems where the apm switched waypoints to RTL, if it was displayed on the A9 I could at least know why the plane was off course. Anyway like your project, might try it myself if I can get my APM working right again.

Comment by Janne Mäntyharju on November 23, 2011 at 4:46am

For those that are interested, more details and code is available here: http://antibore.wordpress.com/2011/11/23/showing-apm-telemetry-data...

Comment by robincfey on November 26, 2011 at 4:38pm

i was just wondering how to get that info displayed on my aurora 9 , my  knowledge of electronics on this level is very limited but i would love a plug and play version , and would be happy to pay for it , maybe APM could implement it in the next release , if anyone wants to build me one just msg me and ill send some money

Comment by Janne Mäntyharju on November 27, 2011 at 1:51pm

@robincfey: It would be nice to make a product out of this, but the problem is that if I'd sent ready build device, one would still need to solder the wires to APM and also flash custom software.

Since so few people need this feature, It would be hard to get it included to APM code as a standard feature and if it's not, updates are a problem since the current patch may need to be modified to be compatible with future APM code.

Comment by Marooned on May 10, 2012 at 3:45pm

If you store the starting location you can use current GPS to display the distance from the aircraft and direction. Sounds highly useful.

Comment by Janne Mäntyharju on May 10, 2012 at 11:05pm

@Marooned: Unfortunately Aurora does not currently show the distance, just the coordinates. I hope they'd at the distance and direction in some future firmware upgrade. Would be highly useful.

Comment by Tim Powell on June 10, 2012 at 2:21pm

I'm trying to get this working with an arduino pro mini 3.3v rather than building the sensor station board since I have several lying around and don't have any loose atmegas.

When I turn on the transmitter, I see the mini entering the Send_Hitec block and sending the telemetry data across the i2c bus to the receiver. Presumably it is hooked up correctly or else it wouldn't get far enough to verify the i2c address, but I don't see any indication that there is telemetry from the transmitter side.

I haven't yet hooked up the APM, should I be able to see zeros for telemetry?

Comment by Janne Mäntyharju on June 11, 2012 at 12:27am

@Tim: Couple of things to note: Have you changed the processor type in the Makefile? In my code, ATMega8 is used. Code should be compatible without modifications, but it must be compiled to different processor. Another thing are the I2C bus pull-up resistor values. My board runs at 5v, if you are using 3.3v, values might have to be changed.

You should get some values without APM connected. Board might need to be powered on before transmitter. If everything works, tx should display telemetry menu when entering sensors menu or pressing battery voltage at the main screen.

Comment by Tim Powell on June 11, 2012 at 7:25am

It turns out it was the pullup resistors.  As a rule of thumb, I've always used 4.7k for each device on the i2c bus (adding more as I chain more devices).  When I dropped it down to 2.2k it started working.  I guess the receiver has a bit more capacitance than your typical i2c device.

I didn't use the Makefile at all.  I just used the simple arduino tools.

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2014   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service