Tale of an ambitious space odyssey

As a child, I had always dreamt of going to space. Reading about the space race, the Apollo and Soyuz missions, the International Space Station and finally Rakesh Kumar going to space, I was always of dreaming of reaching space one day. The main way I kept myself dreaming about space was by watching movies (Apolllo 13, October Sky etc) and reading books (Rocket Boys).

And of course, life happens while you are dreaming. Then suddenly I graduated from college, got a job, got married and fast forward couple of decades and I was still looking back at my dream. Thankfully, there were still a couple of ways to achieve this dream.

One way was when the Raspberry pi came out, it was billed as a platform for kids to learn programing. But it was also a way for makers to see what they can do with it. While I was reading about interesting things to do with my Raspberry Pi, I came across Dave Akerman and his exploits in high altitude balloons which reach space and have Raspberry Pi as the onboard computer. As I read more about this project, I realized that this was my space dream and so much more. Imagine building your own transmitter and receiver, your own on board computer and launch vehicle? I wanted to do it immediately! But it took me a while (almost 18 months) working on this as my main hobby.

Here is a quick post on how I did it. I hope to augment this post with the details in the days to follow. In this post, I will cover what the payload consisted of and some pictures from space.


The heart was a Raspberry A+. Chose A+ since it uses power sparingly. It was running the Raspbian distro but I removed all the add-ons which come pre-installed but not needed for my project. Most of the scripts were built with Python.


Temperature Sensor DS18B20

Pressure Sensor BMP085

Accelerometer (BerryIMU was one nice package that had all of the above + gyroscope)


Raspberry Pi camera: to capture still images every 30 seconds (though I used the V1 of the camera).

Xiaomi Yi: to record video of the entire flight. This had issues which I will cover in a later post.


Two Battery Packs of 2300 mAH (chosen since they did not come with an on/off switch). I needed a battery pack which did not have a power switch since the Raspberry pi and the peripherals needed to be powered constantly during the flight even if they rebooted. This was a good choice since the process did get rebooted at least twice due to couple of issues.

GPS: uBlox Max 8Q

Transmitter: NTX2


Python scripts measured and logged the following parameters: Temperature, Pressure, 3 dimensional acceleration from the gyroscope and also take pictures using the Raspberry pi camera module.

Python scripts also transmitted the location on 434.6 MHz frequency and talked to the GPS to get the location coordinates.


Made from extruded polystyrene. I followed the instructions from the UKHAS wiki. Here is how it looked like after we built it. It is sitting in our balcony for testing the transmission.


The guts of the payload looked like this:

Payload insides


Finally here is a slideshow of some of pictures from the Pi camera:

More posts to come on what went into building the payload, test and learnings etc.

This launch was not done entirely by me. I stood on the shoulders of the giants at UKHAS. They were immensely helpful with their Wiki and being available on the IRC channel. I was also helped immensely by Yannick, who did the first amateur launch in France and knew all about the regulations. His house was also the site of the launch! Without Yannick looking over my shoulders, I would not have succeeded.


Motion Enabled Clock

I am coming back to blogging after more than 2 years. In the meantime, I have acquired a taste for electronics hardware with Arduino and Raspberry pi. The advantage with open source hardware is that we can think up and create crazy products like Motion enabled clocks at home.

Why does one need a motion enabled clock? In my case, we do not like the tick tock sound of regular clocks and neither do we like the light from the digital clocks. But we do want to see the time when we wake up. Also, we try not to use alarm clocks and so it is all the more important to check the time when we wake up. How cool will it be to have a clock that lights up and shows the time when we wake up? This is the inspiration for this clock.

Parts needed:

Arduino – Uno, Adafruit 0.56 4 digit LED display, DS1307 Real Time Clock (RTC), PIR Motion sensor, button cell battery, Jumper cables, Breadboard


The connections are very simple in this case. The power (+ or VCC and – or GND) from the LED, RTC and the motion sensor go to the 5V and the GND pins respectively on the Arduino.

The analog pins on the Arduino A4 and A5 go to the SDA (data) and SDC (clock) pins on the RTC and the LED respectively. The motion sensor sends its motion data on its data line which can be connected to any of the digital input pins on the Arduino (I chose 7). This pin will be referred to in the code.


When I connected all the parts, it looked like this.


Upload the code into the Arduino, power it up and see if it works.



Some of the challenges I faced in building the clock were:

1. The motion sensor is very sensitive and needs to be in a place where there is no motion during calibration. I had to power it on and immediately leave the room for about a minute or two for it to accurately detect motion. I have left some of my comments in the code which helped in debugging the motion sensing.

2. The PIR specs say that it operates between 3-12V and I connected it to the 3.3V pin of the Arduino and it just would not work. Changing the power to 5V did the trick.

Even though the clock is very cool, there are still some problems which I will be working on in the coming days.

1. It is still on the breadboard and I will solder it to a more permanent stripboard.

2. The bigger problem is the power consumption. Any typical clock will run for months on a button cell battery while an Arduino powered clock will drain a 9V 450mAH battery in a matter of hours. I will be working on a more power miser setup too.


I referred to these posts in order to create my clock:

1. Dr. Monk guide to build an Arduino clock

2. Arduino playground sample on motion sensing

3. The specification document for the motion sensor shows how it works and is a useful guide to debug problems with the sensor.