Skip to content

flux242/ibus-altitude-sensor

 
 

Repository files navigation

I-Bus Altitude Sensor for FlySky Telemetry

Forked status

I had to rewrite the original code becasue it was garbage.

Software Changes

  • Precise battery voltage measurement
  • Usable climb rate values

Hardware changes

  • I'm using 10k/1k battery voltage divider
  • An additioanal 10k resistor was needed between RX/TX line and GND (I dont know why)

Here goes the original README

Requirements

  • FlySky transmitter with AFHDS-2A telemetry. Preferably FS-i6 with modified firmware from qba667.
  • Receiver with I-Bus sensor input, such as FS-iA6B. No firmware modification required.
  • Atmel AVR-based board. Tested with SparkFun ProMicro clone, and Arduino Nano clone. ProMicro is about the lightest but powerful ATmega-based board. Nano is a bit heavier, but it has 3.3V dedicated output, so that it can be directly used with BMP-280 breakout board.
  • Supported pressure sensor with I2C on a break-out board. Currently supported is BMP-180 on a GY-68 board, and BMP-280 break-out board. The later is more precise, but it requires 3.3 V power.
  • 390K and 15K resistors for voltage divider for reading the battery voltage (optional).
  • some wires and a 3-pin servo female connector for I-Bus.
  • AVR toolchain (avr-gcc, avr-libc, avrdude, make, ...).

Wiring

Here is how to connect things together:

wiring

And here is my (rather messy) real-world example in Sky Surfer 1400:

Wiring in Sky Surfer 1400

Here is the version with Arduino Nano and BMP-280:

Nano with BMP280

Firmware

The firmware is based on the following libraries:

The I-Bus code is in the main file ibus-sensor.c. It provides the following sensors:

  • Temperature sensor from BMPxxx
  • Altitude relative to the power-on value
  • Absolute altitude (reported as GPS-Altitude sensor)
  • Maximum relative altitude reached since power on
  • Climb rate
  • External voltage (can be used for battery voltage alarm; optional)

It also provides visual feedback about the main loop (on-board Tx LED) and the I-Bus communication (on-board Rx LED).

Edit the Makefile to set up the exact AVR board version and pressure sensor used.

License

This project, is licensed under the terms of GNU General Public License, version 2 (only). See the file COPYING.

Author

Written by Jan "Yenya" Kasprzak.

About

I-Bus Altitude Sensor for FlySky Telemetry

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 50.8%
  • CSS 24.8%
  • Makefile 14.7%
  • Assembly 9.7%