Getting experimental data without computer

Hello all,

My roommate is a skydiver and wants a light on his helmet to blink once he gets to certain altitude on a jump. Easy enough, pressure sensor plus LED control. The issue is I need to calibrate the pressure sensor and I don't know how to get that data.

I'd like to get the pressure sensor readings for one jump onto a text file, but I don't know how to get the data from the board to a text file. Short of buying a rasberry pi and having the serial output to that, how can I get the data?

Any help appreciated, thanks!

Write the data to an SD card and read it on your computer.


Depending on the number and type of data points save it to EEPROM, SD card or SPIFFS (if available)

Testing the project should be “interesting”

This may be a dumb question, but is there an SD card slot on the board? I don't have one in front of me to look over, if so, that certainly does make it easier

is there an SD card slot on the board?

You have not even told us which board you have, but in any case the answer is no but they are freely available as modules to connect to the Arduino

UKHeliBob: You have not even told us which board you have, but in any case the answer is no but they are freely available as modules to connect to the Arduino

Ah, I see that. I can work with that, thanks for your help!

If you measure pressure while the skydiver is falling (I'm guessing this is for a "time to open your parachute!" warning) the pressure may be terribly off depending on how it is oriented into or away from the air that rushes by.

AFAIK the actual pressure on ground is required for height estimation. The Arduino could measure that pressure before the diver rises. If more current data is required, a wireless communication to a ground station is required, and calibration to that ground station before rising.

Of course the static air pressure has to be measured, not the dynamic pressure.

I would not dare to rely on information of such a home brew system, even or just if I built it myself, but I'm not a skydiver.

"The issue is I need to calibrate the pressure sensor and I don't know how to get that data."

One could probably make an altitude chamber from something like a strong 3 gal. plastic bucket with a clear top, put the sensor and a viewable "calibrated" altimeter inside, then vary the internal pressure using a vacuum cleaner. One could then compare the readings from the two devices.

And always remember these wise words -

“If at first, you don’t succeed, skydiving is not for you”

You could see what hobby rocketry guys do, they do interesting stuff with logging and telemetry. I’m of the same mind as others, there’s a high degree of risk and responsibility creating such a system for others to use, if critical decisions are based on reliable and correct operation.

As you only need altitude about the field, then have a “zero” button on the unit to zero at altitude.
The barometric unit readings can then be calculated from there to give altitude.

What barometric unit are you going to use?
BMP or BME280 units have libraries in the Arduino IDE and examples. some of which have local altitude compensation.

I would suggest you look at the examples and see if they have somethng that can help.

Tom… :slight_smile:
PS, here is an example.


  This is a library for the BMP280 humidity, temperature & pressure sensor

  Designed specifically to work with the Adafruit BMP280 Breakout


  These sensors use I2C or SPI to communicate, 2 or 4 pins are required

  to interface.

  Adafruit invests time and resources providing this open source code,

  please support Adafruit andopen-source hardware by purchasing products

  from Adafruit!

  Written by Limor Fried & Kevin Townsend for Adafruit Industries.

  BSD license, all text above must be included in any redistribution


#include <Wire.h>

#include <SPI.h>

#include <Adafruit_BMP280.h>

#define BMP_SCK  (13)

#define BMP_MISO (12)

#define BMP_MOSI (11)

#define BMP_CS   (10)

Adafruit_BMP280 bmp; // I2C

//Adafruit_BMP280 bmp(BMP_CS); // hardware SPI

//Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);

void setup() {


  Serial.println(F("BMP280 test"));

  if (!bmp.begin()) {

    Serial.println(F("Could not find a valid BMP280 sensor, check wiring!"));

    while (1);


  /* Default settings from datasheet. */

  bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,     /* Operating Mode. */

                  Adafruit_BMP280::SAMPLING_X2,     /* Temp. oversampling */

                  Adafruit_BMP280::SAMPLING_X16,    /* Pressure oversampling */

                  Adafruit_BMP280::FILTER_X16,      /* Filtering. */

                  Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */


void loop() {

    Serial.print(F("Temperature = "));


    Serial.println(" *C");

    Serial.print(F("Pressure = "));


    Serial.println(" Pa");

    Serial.print(F("Approx altitude = "));

    Serial.print(bmp.readAltitude(1013.25)); /* Adjusted to local forecast! */

    Serial.println(" m");