Variometer for Paragliding

5,349

22

9

Introduction: Variometer for Paragliding

A few years ago I built a Variometer with the help of Andrei's Instructables.

It was working nice, but there were a few things I didn't like.

I powered it with a 9V battery and this took a lot of space and endet in a bulky wooden case for the electronics. Often on the most promising day's the battery got empty and I didn't have a spare battery with me.

So I decidet to change this and designed my own Version of a Vario inspired by Andrei.

My main goal was to make it smaller and rechargeable.

Since I wanted to use an SSD1306 as display I also had to write the software from scratch.

Because I struggled with the altitude calculation logic (I am not a C programmer) I reused a few code segments from Andrei's Sketch and his libraries.

The result was a decent 8x3x2cm vario with just the minimum functionality.

Step 1: What You Need

  • Arduino Nano
  • TC4056A (Lipo Charging Board)

  • Piezo Buzzer

  • 10 kO Resistor

  • On/Off Switch

  • Push Button

  • BMP280 Baro Sensor

  • SSD1306 (32x128) Oled Display

  • 1S Lipo Battery (I used one from my RC Plane)

  • 4KO - 10KO SMD Resistor (depending on your LiPos C Rate)

DISCLAIMER:
As you see in the sceme I powered the Arduino through the 5V Pin. This is not recommended and can cause Instability on the processor. To avoid this, you can put a step up converter after the TC4056A and power the Arduino regularly. But since I was aiming for a small size, I didn't use the stepup. After a few hours in flight I didn't face any problems doing so.

Step 2: Prototyping

For Compiling and uploading the code to your arduino you will need the arduino Software and also some libraries.

  • Arduino IDE
  • Libraries: Go to Sketch > Include Library > Manage Libraries
    search for the following and install them
    • Adafruit_SSD1306 (V1.1.2)
    • Adafruit GFX Library (V1.2.3)
    • Adafruit BMP280 Library (V1.0.5)
    • SBB_Click and Bounce2 (see attached files and add them to your library folder)

Put evetything on the breadboard, compile and upload the sketch.

If there is an error when compiling, you have to fit the Adafruit SSD1306 Library for the correct display address. This Instructable may help you.


DISCLAIMER:

Be sure that the arduino is only powered by it's USB when uploading the code.
Remove the battery before plugging in the USB cable to the programming port.

Step 3: Adding the Lipo to the Project

Since my TC4056A was designed to charge the battery with 1A of power and this is a little bit too much for the small lipo, so I had to re programm it.

According tho the datasheet of the TC4056A this can be done by changing the resistor R3 on the board. So I unsoldered the 1.2 KO resistor and changed it with an 4KO. This needs a really precise soldering iron, tweezers and some practice.

You have to get the right resistor to fit your charging capacity of your lipo.

TIP: you don't need to buy these resistors, if you have some outsourced electronic stuff at home, these little components can be found nearly on every platine. Just take a multimeter, find the right one, and repurpose it.

After this the lipo can be soldered to the TC4056A and connected with the arduino.

DISCLAIMER: According to the datasheet the power has to be off when charging the lipo!

Step 4: Soldering

I soldered everything in place using a hole board and some wires.

I also removed the powerstatus LED on the Arduino to use less power.
TIP: Removing this LED was a real mess and I destroyed it with my soldering Iron. Later I found out that it is easier to remove the resistor in front of the LED, since the resistor transfers the heat to the other soldering pad easier, it can be simply unsoldered by just heating one pin.

Step 5: Design a Case and Print It

I designed a case for the electronics and printed it out on my 3d printer.

At the moment I won't provide the housing, because there are some errors in it which I endet up postprocessing a lot to make it fit.

Also the measurements for this housing is taken with really small clearences for my electronics. So it might not fit for your electronics.

Step 6: Software Documentation

After Switching the Vario on, the initscreen comes and then the screen stays black.(Most of the time i just need the audio. If you don't want this to happen, change the "display_on" variable in the sketch to true (line 30) and menu = 1 (line 26))

If you press the Button once, you should see the first page.

With Button short press you can switch between the four main pages.

  1. PAGE: Climb Rate, Climb Bar, Altitude and Battery Power
  2. PAGE: Climb Bar Big (for vertical riser mounting)
  3. PAGE: Temperature and Pressure
  4. PAGE: Battery Power %

with a long press you can switch to the settings menu. With a short press you can iterate through all the settings. With a long press again you can enter the specific settings and change them by short pressing. A long press again saves it.

  1. Settings Page: Altitude
  2. Settings Page: Beep ON/OFF
  3. Settings Page: Display ON/OFF
  4. Exit

1 Person Made This Project!

Recommendations

  • Maps Challenge

    Maps Challenge
  • Make it Fly Challenge

    Make it Fly Challenge
  • Metal Contest

    Metal Contest

9 Comments

0
adriaragonn
adriaragonn

Question 3 months ago

Hello, I have followed the steps and I had to adapt the setting of the bariometer, to my liking.
But the buzzer does not stop sounding, since I connect the arduino it continues to sound, as if the pin is active ...
Because it can be?

EDIT: I put the buzzer on pin D12 and change the code from 11 to 13, now works perfect

0
gianni.cacciatori61
gianni.cacciatori61

Question 4 months ago on Step 1

Hi, I tried to insert the code in the arduino but it tells me that the program is too big! Can you tell me why? Thanks so much

0
laisch
laisch

Answer 4 months ago

Check if you use the exact versions of the libraries mentioned in step2.
The newer versions of Adafruit_SSD1306 are too big for the sketch. I think stepping back to V1.1.2 should do the trick.

;)

0
gianni.cacciatori61
gianni.cacciatori61

Reply 4 months ago

Thank you for your availability Laisch, thanks to your advice I was able to program the arduino. Hope to finish the wiring soon. Thanks again

0
aussierobbe
aussierobbe

6 months ago on Introduction

Hi There i have followed your design when i run the compileation an error for VoltageReference.h Cannot find the file for your Vario i have tried others not the right one for yours hope you can help please thank you Robbe :)

0
laisch
laisch

Reply 6 months ago

Hi, you can find it in the Arduino library manager when you search for "Voltage Reference".
Its V1.2.2 by AgileWare.

You can also download it from github
https://github.com/rlogiacco/VoltageReference

Have Fun ;)

0
daniel.klingersberger
daniel.klingersberger

7 months ago

Hi Laisch! Nice project! Please be aware, the sensor BMP280 has a voltage level of 3,3V. The I2C interface on the Nano has 5V. Without an level shifter you may destroy the sensor. I think your Chinese BMP280 board has no level shifter. Please check. Thanks