Home > Electronics, FPV > Showing APM telemetry data on Hitec Aurora’s screen (3rd edition)

Showing APM telemetry data on Hitec Aurora’s screen (3rd edition)

This is the latest iteration of ArdupilotMega to Hitec telemetry adapter. This version does not require changes to APM code anymore, but instead functions as a standalone device. Displayed information has been changed a little bit, here’s the current mapping:

RPM 1 Distance to home
RPM 2 Airspeed
TEMP 1 Battery remaining (%)
TEMP 2 Throttle position
TEMP 3 Variometer (climb / sink rate)
TEMP 4 Armed status (1 = Armed)

It’s possible to rename the fields in Aurora like this:

Fixed fields (sat count, speed, altitude etc.) function as expected. Only thing that does not work is the date and time. Sadly it’s not possible any more to display “mAh used”, since as far as I can see there is not way to subscribe to that information in APM. I wonder if anybody opposes if I’d add MAVLINK message for that. Of course if you always use same capacity batteries this is not a problem, because you can check battery remaining reading from TEMP1, but since I have many different types of batteries, I’d need to change battery capacity parameter before each flight.

It’s possible to customize displayed data by airframe type, for example airspeed and variometer are probably not interesting to copter users, whereas Armed and heading might be. If you have suggestions, please tell me!

The adapter itself is simple and small. I designed PCB this time with SMD components this time to make it smaller. SAMSUNG CSCThe adapter connects to APM telemetry port and has a pass through to radio. When the adapter is powered up, it sends messages to APM to subscribe data feeds. When APM starts to send all the requested streams, adapter turns it’s UART off to avoid disturbing telemetry communication. There’s a place to mount fet on the top side of board to connect video transmitter power after adapter detects GPS fix. I added this feature since if I have my video tx on, getting GPS fix takes for ages.

I tried to save few euros by choosing ATMega168p as a processor since the code takes only 11KB, but I quickly found out that MAVLINK message handling uses a good amount of ram, so I changed MCU type to ATMega328p to schematic. It’s still possible to use 168, if you define MAVLINK_MAX_PAYLOAD_LEN to 35. Any smaller makes it impossible to receive position message and any larger crashed the program. Compile with 8MHz clock speed and when programming, check that “Divide clock by 8” fuse on low fuse word is not programmed.



Sources and Eagle files are uploaded to Github: https://github.com/JanneMantyharju/apm-hss-emulator

Now if I only could get my hands on some different brand radios (Spectrum, Futaba, Graupner…) I could try to make this adapter universal!

Have fun and tell me what you think!

Edit 1: I think I know now how to get the same system to work with Spektrum, but the problem is that I only have Hitec system. If somebody want’s to borrow me Spektrum radio, I can participate to costs.

Update: I have now professionally made PCB’s available if you want to buy these from me ready made

APM adapter

APM adapter

Categories: Electronics, FPV Tags: , , , ,
  1. Ken
    03/03/2013 at 06:08

    great job…didn’t know you could do this 🙂

  2. 03/06/2013 at 10:32

    Btw, I can also sell these ready made, if somebody wants one!

  3. Matthias
    27/07/2013 at 02:42


    I’me a newbie here and ame looking for solution to have APM 2.6 telemetry displayed on my new Aurora 9. How much do you sell your beautyfull adapter?

    • 27/07/2013 at 14:47

      Hi! I can make you one for 25€ + shipping. In APM 2.6 they changed the telemetry port connector to a smaller type, which I can’t provide, so you need to buy the APM -> XBee cable from someplace else (Like here: http://store.3drobotics.com/products/telemetry-adapter-cable-for-apm-2-5)

      • Matthias
        29/07/2013 at 17:06

        Hi! Thanks for your answer. It’s OK for me. Now, how do we do for payment, shipping address?

      • 29/07/2013 at 18:31

        Depends where you live in. In EU, bank transfer is the easiest and cheapest, Paypal otherwise. Lets continue with email, my address is janne.mantyharju@iki.fi

  4. 25/08/2013 at 19:03

    I’d be interested in a ready made one too if you could supply one?

    • 25/08/2013 at 23:36

      Certainly! I ordered this time professionally made pcb’s, they should arrive at the end of next week, so I could get one ready by, say 3. september.

  5. Anonymous
    30/11/2013 at 14:53

    hi i use fr sky telemetry sistem instead ofhitec receiver it doesn’t work???

    • 30/11/2013 at 22:02

      Unfortunately not. It’s only compatible with Hitec telemetry receivers. I’d like to port it to other systems, but I only have Hitec hardware.

  6. ToKem
    02/07/2014 at 11:22

    Hi, how can I buy one of your perfect “APM to Aurora9” adapters an how much would it cost, including shipping to germany? If possible, send me a message.

    • 02/07/2014 at 11:29

      Hi! That would be 25€ + 2€ for shipping.

  7. 24/12/2014 at 18:36

    Hi, how difficult is it to change any value to see batused instead of throttle position for example?

    • 24/12/2014 at 20:50

      If you can program, it’s quite straightforward, assuming the value you want to show is available from mavlink messages (ie. It’s something that mission planner is showing also). What would you want to display?

  8. Gianvito
    19/02/2015 at 12:54

    Hi Antibore,I wanted to know if there have been updates to the project mavlink / aurora9 / apm.

    I would like to compile your code to an Arduino mini pro, and I was wondering if it was compatible with the new firmware 3.2.x arducopter
    thank you


    • 19/02/2015 at 13:04

      Hi! I haven’t updated the code recently, but it still works. Actually it’s not really dependent on APM firmware because it reads MAVLink protocol data and thus should be compatible with any autopilot outputting MAVLink v2 data. The only caveat might be that the default baud rate from APM serial port has changed. The code assumes 57600bps data rate, but that’s one line change in the code to change it to something different.

  9. Gianvito
    19/02/2015 at 14:19

    I confirm that the baud rate has remained 56k. So in summary, if you use the Arduino mini connections to make are these: (image) to confirm?

    thank you very much


    • 19/02/2015 at 14:56

      I’m not familiar with Arduino mini, but looks about correct. Apparently arduino mini has atmega168 instead of 328. I got this to work when I first used that processor, but note this comment in the sources “NB! If using Atmega168, change MAVLINK_MAX_PAYLOAD_LEN to 35 in include/mavlink/v1.0/mavlink_types.h”. Otherwise it will run out of memory.

  10. Gianvito
    19/02/2015 at 15:06

    No Antibore, has a 328.
    it is possible to change the names to code? Dist AirSpd Batt etc ..
    I see no reference here:

    and possibly change AirSpd with something else? type “flight mode”.

    • 19/02/2015 at 15:21

      The names are changed from Aurora’s setup menu, you can rename them as you like. The airspeed is shown in the field which has name “TEMP 2” by default (the code seems to differ from comment, I need to fix that). It’s value is set in mavlink.ino, row 80. If you want to show something else than airspeed there, you can call setTemp(2, value );
      If you want to show flight mode, it’s only a matter for finding correct MAVLink message and writing a hook for that (I believe it’s MAVLINK_MSG_ID_HEARTBEAT message and mavlink_msg_heartbeat_get_custom_mode function).

  11. Gianvito
    19/02/2015 at 18:10

    Okey, I made some changes to the copter over to fix the bug.
      * RPM 1: Distance to home (need GPS Fix)
      * RPM 2:% Throttle
      * TEMP 1: Battery remaining percentage
      * TEMP 2: Number fixSat
      * TEMP 3: HDOP Horizontal dilution of precision
      * TEMP 4: Armed status (1 = Armed)
      * Altitude: Alt relative from home
      * Voltage: Volt Battery
      * Ampere: Ampere in absorption


    Antibore, you can check the code? I’m not convinced of some transformations.
    I made changes commenting labeled: “ModCopter GV”

    I also have doubts on two posts mavlink:
    setGPSSignal and fix_type

    these are displayed? where is that?

    I made the changes without the radio so it is considered a beta

    • 20/02/2015 at 11:03

      I didn’t try to compile it, but looks good. The setGPSSignal modifies the gps signal icon in top left corner. I think it’s good enough so I didn’t use other field to use the number of sats. The fix_type is not displayed, but it’s used to set home position (home position is not saved until the gps fix is good enough).

  12. Gianvito
    19/02/2015 at 18:34

    In the next version to better organize the spaces will be reversed

      * TEMP 1: Battery remaining percentage
      * TEMP 4: Armed status (1 = Armed)

  13. Gianvito
    20/02/2015 at 17:30

    Antibore you checked the code? : D

    • 20/02/2015 at 19:23

      I read it through and did not spot any obvious problems, but you have to try it out yourself, I don’t have time to test it in next few weeks

  14. 04/08/2015 at 19:26

    What SimpleTimer library is needed for this to work?
    I keep getting errors while compiling because of the SimpleTimer library…

    antibore it looks like your link to the original code is outdated, so i could just try the one Gianvito posted.

  15. 04/08/2015 at 22:34

    I used the library you mentioned above, but i am still getting errors…
    for instance i get the error:
    ‘class SimpleTimer’ has no member named ‘Set’

    • 05/08/2015 at 15:54

      I emailed you the library codes. It turned out that I had grabbed the lib somewhere from the net, but it’s not the same than the link I posted.

  16. sebastian
    23/08/2015 at 12:22

    Can I buy the adapter with you? sebastian-1981@hotmail.com my aurora with firmware 1:09. does it work ? Shipping to: Germany

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: