3689506207?profile=originalThis is the third iteration of my Ardupilot Mega to Hitec telemetry adapter. Adapter no longer requires modifications to APM itself, but instead connects to telemetry port of APM and it has a pass through connector for telemetry transmitter. I made PCB this time using SMD parts for smaller size:

3689506434?profile=originalIt's possible to have the device automatically display different information based on airframe type. Currently shown vario and airspeed readings are not that useful for hexa, but for example heading might be. I just got my hexa so I've yet to decide what to show. Unfortunately compared to previous versions, it's not anymore possible to show "mAh used" reading since to my understanding that information is not sent in any mavlink message. When using different types of batteries, that information would be more useful than percentage remaining reading. Should we add mavlink message for it?

For more information about the device and sources, see http://antibore.wordpress.com/2013/02/28/showing-apm-telemetry-data-on-hitec-auroras-screen-3rd-edition/

Now if I only could get my hands on some different telemetry capable systems, I could try to make this adapter universal one...

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • @Bas Tjis: It's indeed possible to use trainer port for headtracker, since you can select which channels are overridden by student from trainer menu. It's also possible to hack for example slider switches and input headtracker position to them, but I would not go that route since it required modifying the transmitter.

    I implemented the vario function for my adapter, but as far as I know, Aurora only supports alarms for battery and current readings.

  • @Bas Tjis: The board size is now 35x40mm, but it could be reduced a bit easily. The board connects to APM like you would connect 3DR Radio or Xbee to it and it has a passthrough for telemetry transmitter.

    I don't use a headtracker myself, but I have a pretty good idea how I would do it. On A9 TX module connector, there is one pin which transmits all channels in serialized pwm format (don't remember the pin number but it's easily found with oscilloscope). One needs to hijack this signal, prevent A9 from sending say channel 8 and 9 positions and instead inject headtracker X and Y positions on those channels.

  • @Bas Tjis: And with mere 25€, I can send you one ready made =)

  • VCC. You can connect VCC and AVCC together, but as ADC is not used, it's not that important.

  • Yes, if you connect just the adapter to receiver and supply adapter with power, telemetry menu should open in the Auroras screen and some values should be displayed. Note that if you connect the adapter to receiver after the receiver has been powered up, you need to turn of the transmitter and turn it on back again. As far as I can see, the tx detects telemetry system only when it makes first contact with the receiver.

  • Sorry, the FET(BUZ71) could be commented a little better. For normal use, it can be left unpopulated. Adapter supplies power to gate when APM reports solid GPS lock. I use it to turn on power of video transmitter after GPS lock has been made.

  • @Perecastor:

    • "I don't understand this : Compile with 8MHz clock speed and when programming, check that “Divide clock by 8″ fuse on low fuse word is not programmed.": You don't need to care about this. Fuses are relevant if you buy plain AVR microcontroller like ATMega328. Then you need to have programmer to program the chip and set fuses to configure it. You are using Arduino, which comes with Arduino bootloader and fuses preprogrammed to 16MHz clockspeed.
    • If you have ftdi-cable, you can test that the serial communication work at right speed, by putting something like Serial.write("TEST"); to loop() function and see that the TEST text is outputted correctly to computer when you set your terminal program speed to 57600bps.
    • I'm using both Optima 9 and 7, I don't remember the firmware version, but it's quite recent one. This should not be relevant to you, if you get telemetry menu to show up on transmitter, you have recent enough version.
    • I'm using all of apm 1,2 and 2.5 versions. This is also not relevant, if you get the APM to communicate with computer using some telemetry transmitter, it should work fine with the adapter also.

    For questions about programming Arduino and debugging serial port issues, I suggest to ask at Arduino forum, they can probably provide simpler instructions.

  • @perecastor: You got it half working, values about 5000 are debug values in code, that are shown before real data is received from apm.

    Problem is in communication between apm and adapter. Double check connections, disconnect telemetry transmitter during testing. The clockspeed issue is strong suspect here, make sure to compile code with the right speed

  • @perecastor: note that you can't make arduino to run at different speed, editing boards.txt merely makes the compiler to compile code that works at set clock speed. If the arduino runs at different speed than the code is compiled for, it causes troubles with delays and serial communication.

    I think arduino mini runs at 16MHz, so you must use that speed, but double check that. The clock speed itself does not matter for the device, as long as it's high enough. I haven't tested what's the minimum speed though. I only know that 1 MHz does not work and 8MHz works.

  • Very very cool. Many thanks.

This reply was deleted.