Skip to content
dingetje edited this page Jan 6, 2022 · 10 revisions

Welcome to the Simple-IGC-Logger wiki!

This IGC logger is a simple logger that can be used to log a sailplane flight on an SD card using the IGC logging format.

The logger has no display and is of a type switch-on before flight and switch-off after landing. The created IGC file will start logging as soon a "take off" is detected. This mechanism can be disabled too, so the logger will start logging as soon as it has a GPS fix.

Because the G-record is written as soon as enough B-records are recorded, the file is always "valid", even in the case of power loss.

The LiPo battery of 3000 mAh is large enough for very long flights.

BOM List

  • Arduino main board Mega 2560 PRO (Embed) CH340G/ATmega2560-16AU
  • BMP280 I2C air pressure and temperature sensor
  • Beitian BN-880Q GPS module (any NMEA compatible 3.7V TTL GPS module will do)
  • Micro SD interface board
  • FAT formatted SD card
  • Bright LED
  • 3000 mAh LiPo battery
  • Lipo charger via micro USB
  • 3.7V -> 5V DC/DC stepup converter
  • On/Off switch
  • Housing

Configuration

The logger has some settings that are controlled via a human readable INI file named 'config.ini' in the root of the SD card:

; Simple IGC Logger configuration file
[igcheader]
Pilot=Jannes van der Wal
CoPilot=John Doe
Type=Duo Discus
Registration=PH-1234
CallSign=XX
Class=Two Seater

[gps]
; baudrate of GPS, default is 9600 Bd
Baudrate=38400
Type=Beitian BN-880Q

[config]
liftoff_detection=true
liftoff_threshold=1.5
log_interval=2

The logger offers debug and status messages via the USB port that can be viewed using a serial terminal.

A few photos of the prototype

  • In the upper left corner is the LiPo charger (micro USB)
  • Below that in the left hand side is the main Arduino ATmega2560-16AU PRO MINI board
  • At the bottom the (large) 3000 mA LiPo battery
  • In the right hand side on the bottom is the micro SD interface
  • The 'dangling' component is the BMP280 air pressure sensor
  • The other 'dangling' shrink wrapped component is a 3.7V -> 5V DC/DC step-up converter to power the Arduino board
  • The GPS is a Beitian BN-880Q TTL GPS
  • Hard to see in these photos, there's a LED to show the state of the logger
    • fast blink = no GPS lock
    • slow blink = valid GPS
    • permanent on = SD card init failed

Housing

The whole prototype fits in a box with dimensions 100 x 60 x 25 mm and weighs aprox. 130 gram.

Typical use:

  1. fire up the box before the flight,
  2. wait until the LED shows it has a valid GPS lock,
  3. place it in the side pocket in the cockpit, and
  4. go fly.
  5. After landing switch if off.

The latest flight is stored on the SD card in a date stamped folder 'YYYYMMDD' and unique IGC file named 'LGddd.IGC' (where ddd is controlled via a file named 'index.txt' in the root of the SD card) for upload/analysis/scoring on sites like Weglide or the OLC. If there's no file called 'index.txt' in the root of the SD at first run, then a new file will be created. This free running number was a first attempt to create unique IGC file names, but now the GPS date is used to create a new folder for each day.