Vilatsut / Flying_Snake

CircuitPython variometer application for Adafruit Feather Bluefruit Sense

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flying Snake

About this project

Android phones have good flight computer programs like XCTRack. Also low cost Android can run such program. Drawback is that in low cost phones/tablets there are no barometer at all or there is only a low accuracy barometer.

The purpose of this project is to provide high quality barometer data to (low cost) Android phone which is running flight computer application like XCTRack from relatively low cost sensor board Adafruit Feather using BLE connection.

Additional purpose of this project may be to make other flight computer functionality for stand alone use or for flight computer applications like XCTRack.

HW and SW setup

The MCU board to be used is Adafruit Feather nRF52840 Sense since it has good barometer sensor BMP280. Other onboard sensors gives possibility for developing more flight computer features. CircuitPython is used for programming the board since it is very efficient to develop applications with python and CircuitPython have very good sw libraries in place for sensor access and BLE connectivity.

CircuitPython version

CircuitPython version used during development is 7.3.2. Copy of the Firmware and used CircuptPython libraries are stored in separate repository. This is done for avoiding possible API breaks during version changes.

Installation

CircuitPython Firmware

Latest CircuitPython could be used or alternatively the same version what was used for development:

CircuitPython libraries

  • Copy needed CircuitPython libraries from circuitpython_binaries\CIRCUITPY\lib to CIRCUITPY drive lib/ directory.

Flying Snake Application

  • Copy all Python files from CIRCUITPY/ to CIRCUITPY drive

Related projects and background of this project

There are already several similar projects made earlier. Some of those are listed here https://xctrack.org/External_Devices.html. Those are using "older" embedded programming methods (e.g. not Python language) and may also need soldering work. Since Adafruit Feather nRF52840 Sense has needed sensors already onboard and CircuitPython is supported, it looks that making low cost high accuracy variometer would be relatively easy task.

Future plans

  • improve barometer data sampling rate and noise filtering to provide faster response for altitude changes
  • use accelerometer data for faster thermal detection
  • use gyro and mag data for calculating thermalling circle duration
  • add support for OLED display (https://www.adafruit.com/product/4650)
  • add audio for variometer and other possible purposes

About

CircuitPython variometer application for Adafruit Feather Bluefruit Sense

License:MIT License


Languages

Language:Python 100.0%