PongSat powered by Arduino – Integrating GPS

Measure up to an altitude of about 35 km (or 100,000 feet) is not easy. It is not simple even because there are no cheap barometers that can work in that temperature (down to -60 ° C) and pressure (close to 0 bar) range. So I have no choice but to rely on the GPS that is still usable to those altitudes if not blocked by the firmware. In short the GPS device manufacturers are required to comply with certain limits (in altitude and speed of the device) to prevent it from being used for example to guide arms. The manufacturers of commercial devices often include these limits without proper documentation or extensive test because devices will definitely used (except that in this case) on the earth.

A chipset that can be configured to operate at those altitudes, which has good performance and is cheap is the uBlox NEO-6M. On HobbyKing a GPS breakout board ready to use (with antenna and voltage regulator) cost just 15 Euros. To configure the chipset exists u-center a really complete tool for Windows that allows you to set the navigation mode to “Airborne”.


The connection is made through the MCU serial RX pin.

PongSat powered by Arduino – Choose the MCU

I chose to use an Arduino compatible MCU that I had in the lab an 8bit Atmel megaAVR. I had thought of a breadboard PCB for prototyping cutted ad hoc with an ATMega328P (total cost: 2 Euros)

Everything looked beautiful, but in the end it was too thick to enter with all the others components in the ball. In most I was forced to add an external voltage regulator. At the end I folded on the excellent Arduino Pro Mini 3.3V 8MHz 328 which uses the same processor in SMD version and has a regulator up to 150mAh

A negative factor could be the minimum voltage requirement of Arduino Mini set at 3.5V against the LiPo minimum supply voltage of 3.0V. The external regulator handles this condition and is able to provide 3.3V both in StepDown (4.2-3.3V) and StepUp (3.3V-3.0V). In fact after a full discharge test by monitoring the voltage of the LiPo I have verified that a voltage below 3.5V is achieved after about 95% of the discharge time. So, no problem.

PongSat build log: Bill of materials

Select the components has not been easy. They had to be small, cheap, reliable, get along with each other, consume very little power and in some cases handle temperatures down to ‑60°C!


I have revised the list several times, trying to include what I had in the lab and I can say for this first version to be satisfied. I wanted also to include a camera (optical sensor), but because of the little space and limited computing power this was not possible. I’m planning a new mission with two PongSat able to talk to each other, one of which is dedicated to taking pictures.

The power supply side, as often happens, is the one that gave me the most trouble. I decided to include the GPS not being able to go without the position (and altitude) and I had to accept a total consumption of about 70mAh. With these absorptions I couldn’t use most of the small lithium batteries.

Role Make Model Cost Volts Remarks
MCU Sparkfun Arduino Pro Mini 328 3.3V 8Mhz €7.48 3.5‑12V I wanted to use an ATMega328P on a PCB, but during the final assembly there was not enough space
GPS HobbyKing NEO-6M Module €13.88 3.3‑?V Serial, ublox NEO6M
IMU Sparkfun 9 DoF IMU €22.22 2.4‑3.6V I2C, STMicroelectronics LSM9DS0
Storage Sparkfun Breakout Board for microSD €7.37 3.3V SPI, Sandisk premier 2GB microsd card
Thermocouple Adafruit Analog Output K-Type Thermocouple Amplifier – AD8495 Breakout €8.80 3‑18V
LED Adafruit RGB Smart NeoPixel €1.47 5‑9V Works dimmed on 3.3V
Battery HobbyKing Turnigy 260mah 1S 35-70C €2.18 4.2‑3V
Heater 3 resistors 220 Ohms €0.10 1/4W

For a grand total of €61.62.

Project objectives and constraints | Index

Do you want to improve my translation? Let me know…

PongSat build log: Project objectives and constraints

IMG_20140817_171658For my first PongSat I would like to set some simple goals, because I feel that even the simple goal of sending an Arduino in the space is not so simple 🙂 Ok, let’s start.


  1. Gaining entry to the program and a seat for a launch within 6 months* accomplished
  2. Have a seat on the main deck (not in the bag) accomplished
  3. Do not spend more than EUR 100 (US$ 135) for the device accomplished
  4. Involve Federico at least in 50% of tasks failed
  5. Take the launch planned (27 Sep 14)* accomplished
  6. Getting the data collected and stored by the device*
  7. Determine the location (including elevation) of the device at least every 5 seconds*
  8. Measure the outside temperature at least every 5 seconds*
  9. Detect accelerations on the 3 axes at least 10hz
  10. Detect rotations (roll, pitch and yaw) in degrees/second at least 10hz
  11. Detect the magnetic field on the 3 axes at least 1hz
  12. Ensuring an environment compatible with the components*
  13. Show data and mission in a blog
  14. Produce a reusable device (save at least 75% of its cost)

* The mission will be considered accomplished if we achieve these objectives.


  1. Do not spend more than EUR 150 (US$ 205) all inclusive complied with
  2. Use only COTS components complied with
  3. The battery should last at least 4 hours violated The battery lasts 4 hours with the heating off, with the heating on at maximum power lasts for 2.5 hours.

Index | Bill of materials

Do you want to improve my translation? Let me know…

PongSat powered by Arduino – Build log

As it happens, almost by accident, while trying to understand what a CubeSat was, I found a free and fantastic program called PongSat.

A PongSat is a ping pong ball (standard 40mm diameter) that contains a scientific experiment. These balls are grouped in hundreds and sent free of charge by JP Aerospace to the edge of the space (up in the stratosphere at an altitude of approximately 35km) via a weather balloon with a special service structure (supports, tools, cameras, tracking systems).

At the end of the mission, when the structure through a parachute back to the earth, the payload is recovered and the PongSats returned to the single owners. The program organizes at least a couple of launches each year.

To me it seemed like a great thing, truly a gift: someone who gives you the chance to experiment the space for free! I immediately thought that I could organize an Arduino with my son Federico (just turned 14 years).

But what will never be able to enter into a ping pong ball? It is small! Well ‘not really, just think that the volume is 33.51 cm3.

I’ll tell you, episode by episode, the story of our first PongSat, which was launched on 26 October 2014 (Originally scheduled for 27 September 2014).

 Current mission status: Waiting for the Pongsat’s return 

  • Project objectives and constraints
  • Bill of materials
  • Choose the MCU
  • Integrating GPS
  • Integrating the IMU
  • Record the data
  • Measure the outside temperature
  • Measure the pressure
  • Debugging and signals
  • Powerup everything
  • Keep the inside components warm
  • Turning on and off
  • Final assembly
  • How to extract data
  • Ground test: Temperatures
  • Ground test: Battery Life
  • Packing and shipping
  • Follow the mission
  • Recovery
  • Data Extraction
  • Data Presentation

Do you want to improve my translation? Let me know…