Home ] [ Icarus ] Dædalus ] The Launch photo album ] The pictures ] Technicalities ] Specifications ]

Icarus

Icarus is the heart of Ithaka Project. It is the most complex module, although we kept it simple. It could be simpler, if we had sacrificed reliability.

Icarus,  by Matisse

Icarus was meant to be light and failproof, it had to survive in almost every environment. 

Keep in mind that we had to get the electronics back!

This webpage describes:

 

The balloon
The parachute

Wally:
The hardware

The physical support
The software

The balloon

    The balloon was a fundamental piece of our project. Nobody would sell us just one balloon, all the companies we contacted would only sell us a thousand balloons... We had to beg one balloon to Portugal's weather forecasting institute: Instituto de Metereologia e Geofísica. They gladly supplied an 100 gr. balloon for free. Thank you very much for the support! Student projects at universities need this kind of support.

We also had to buy Helium to fill the balloon.

The parachute

We built the parachute using a tutorial we found in http://members.aol.com/ricnakk/paracon.html . We adapted the instructions to our project. We bougth cheap but resistent fabric (we think it's cotton but we're not sure), some needles, pins and sewing thread. We weren't careful with the specifications of the fabric or the thread but people that understand these things (mothers)  said it was ok. We took some pictures, you can find them here.

Wally

Although it seems confusing, from now on to the end of this page, "Wally" and "Icarus" refer to the same piece: the box that it attached to the parachute and balloon. However, when we say Icarus, we mean it's relevant to the measurement cycle, while going up. When we say Wally, we mean the information is relevant to the searching cycle (after Icarus/Wally has landed).

The hardware

Icarus is composed by three boards, two of which are partially independent. The meaning of this will be made clear further down.

The first board is called "Decisor". This board controls Icarus/Wally actions (balloon release, parachute release, beeping), without the need of external signals, so we can say it's a sort of autonomous system. That doesn't mean we don't control it.

The second board is called "IcaruSensors". It contains the minimal electronics required to obtain a proper signal from the environment. Obviously, this board is exposed to the air, water, wind, sun, etc. 
This board also contains our own bus, called "BuX". BuX is actually a set of 19 wires that handle all signals (power lines and measurements), we put the interface on IcaruSensors because that was a easy way to separate the inside of the box with the outside.

The last board is called "Icarus Core". This board hosts the BasicX24 and the RF transmission circuitry. It also feeds the sensor's electronics in IcaruSensors and collects the measurements. By feeding the measurements to the BX24's analog ports we can digitize the information in 10 bits (1024 channels). We then have a set of numbers ready for RF transmission. This is the whole goal of the project.

 

 

The physical support

As we explained before Icarus is composed by three distinct parts: the balloon, the parachute and a box  that contains the electronics (remember we call it Wally because that's what we had to find and get back). 

What we didn't say was that we also built two radar reflectors, just in case ;-).  These are simply squares with a kitchen silver leaf in one side and an orange paper on the other side. We went to a McDonald's and borrowed two straws; for each straw we glued three silver-and-orange squares.

Now to the box. 

The first question was what shape should it be. We chose a triangular prism. This way we had less surfaces to worry about, and we could fit a printed circuit board tight. For the material we chose styrofoam because it was light, it could be thick, it would float and could be handled easily. Also, if the parachute didn't work out, the box would absorb (hopefully) most of the impact's energy, and (hopefully) keep the electronics safe.

We also had to build two lids. 
In the top lid we would attach IcaruSensors board (check the hardware section), in the bottom we would insert the batteries. The top lid is basically a styrofoam triangle with some holes and some accessories you can find out in the pictures. We also attached the landing sensors to sides of the top lid.
The bottom lid is a styrofoam pyramid . The purpose of this was to create an instability to force the box to fall over one side of the prism. When this happens, the landing sensors in the top lid are activated.

The box was painted bright-orange, in all photos it's shown red. Weird...

The software

Icarus/Wally uses a BasicX BX-24 microcontroller, which is very similar to the popular Basic Stamp. The programming is very simple because it resembles Visual Basic, with some differences, obviously. If you are in a hurry, pick up the code here.

However, there are some details that are platform-independent that need to be discussed.

The message's format. We must be sure the data we are collecting is the data that was actually transmited. Also, we must be able to recognize a message among all the garbage we would find. To solve these problems we chose a message format. Therefore, every message has a header, a body, a CRC byte and a "footer". 
The header is simply the string "Begin :XXXXX" where XXXXX is the number of the message Icarus/Wally is sending (we wanted to put a time stamp instead of the number of the message, but that idea did not work out because the BX-24 would go nuts).

After the header comes the body, which is basically something like "Pxxxx Tyyyy Hzzzz " where xxxx, yyyy and zzzz are numbers between 0 and 1023 and represent our measurements of the pressure, temperature and humidity, respectively.

After the body comes the CRC byte. CRC stands for Cyclic Redundancy Check and is a number associated with a set of bytes. It was designed so that whenever one or a few bits of the message changes, the number is very different. Obviously, for every CRC number there are more than one possible message, but at least these messages look very diferently so the possibility for an error to occur and not be noticed is quite low. We fed the body of the message to the CRC routine and got a CRC number. In every message, this number is sent after the body in a readable format: "XXX" We used a 8-bit CRC code we found in http://www.phanderson.com/basicx/crc.html. At first we were trying to use a 32-bit CRC code written for the PNG graphic format we found at http://www.w3.org/TR/PNG-CRCAppendix.html  but BX24's Basic Language does not support bit shifts directly (shame on BasicX engineers), and 32 bit unsigned integer maths is weird, so we gave up. Anyway, 8-bit CRC behaves pretty well, 32 bit CRC is geek stuff...

Finally, there comes the footer, that is simply the string ": End", followed by a carriage return and a line feed (ASCII codes 13 and 10, respectively)

 

Last updated: 14-10-2000

Sistemas de Aquisição de Dados
Departamento de Física
Instituto Superior Técnico