Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Team HunSat
GSM spectrum analization with a CanSat,
which is able to communicate for more
than 250km of distance, do telecommand,
advanced telemetry and targeted landing
Author:
András Illyés HU, illyesandris@gmail.com
Teacher:
Levente Dudás HU, dudas@hvt.bme.hu
Team:
András Illyés HU, illyesandris@gmail.com
Benedek Tomka HU, benedekt@inanio.com
Domonkos Cseh HU, cseh.domi.2@gmail.com
Domonkos Dessewffy HU, dessewffy.domonkos@gmail.com
15.07.2018.
Contents
1 ABSTRACT 2
2 INTRODUCTION 3
4 REQUIREMENTS 40
5 OVERALL PROGRESS 41
5.1 Project planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Resource estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.1 Human resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.2 Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.3 External support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.3 Educational value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.4 Outreach programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6 SCIENTIFIC RESULTS 48
7 DISCUSSION 57
8 CONCLUSIONS 60
9 APPENDIX 62
We are a small team of 4, from Hungary, named HunSat. We participated the CanSat Competition 2018
of the European Space Agency, where we won a honorary prize. The finals were at the Azores Islands,
Portugal.
We built our CanSat to be a small planetary probe, which is able to land and do measurements anywhere
- on another planet as well.
Our CanSat is able to do telecommand via our very good communication link at 434.800MHz. It is good
for more then 250km of distance, and a forward error correction algorithm helps receiving all data. This
algorithm also helps our CanSat to communicate with the Ground Station via an encrypted channel. Our
radio can be tuned to different frequencies, different transmit powers, and different duty cycle.
We integrated many sensors on a single PCB, thus leaving space for other experiments inside our CanSat.
But this PCB, the main board also does many measurements by itself, not just the obligatory measure-
ments in the competition. There is no need to have a battery charger, or a USB-Serial converter, because
everything (charger IC, FTDI chip) is integrated on this board right next to the main microncontroller,
the sensors, and the radio.
The chassis and the parachute of our CanSat are also designed and made by us: they are from durable
materials; the chassis can protect the CanSat, and the parachute assures that it lands safely. The chassis
is SLS 3D printed, and the parachute is from a special parachute polyamide material with a special shape.
Our CanSat also has a targeted landing system.
The main measurement of our CanSat is the radio frequency (RF) spectrum analyzing. In this case, it
analysis the GSM spectrum, thus we have data about how polluted our environment ir with RF radia-
tion. This is useful on a different planet (maybe not in the GSM band), but on the Earth as well. The
needlessly radiated RF signals means money loss, but pollution as well.
The communication link, the telecommanding, and the advanced telemetry succeeded perfectly during
the competition.
We had some difficulties with the targeted landing system because of the big wind. We haven’t tested
our system in winds like those on the Azores, but now we are working on a solution to this.
Our main measurement, the spectrum analyzing was successful, we collected data according to this
problem. We already started to work on our updated spectrum analyzer.
Our team, named HunSat participated the 2018 CanSat Competition of the European Space Agency
(ESA). We built a CanSat, which is a simulation of a real satellite, integrated within the volume and
shape of a soft drink can. Our CanSat has been launched with a rocket on the 29th June 2018 at the Azores
Islands. HunSat was one of the 19 teams, who participated the Competition this year. Introductions
about our team, teammates and our supporters are available on our webpage HunSat Team. The linchpin
between the members of this small team is the thirst for knowledge and doing something out of the school
which makes fun and is about technology and science. A Facebook page of our project is also available.
We all strongly believe that humankind must leave the Earth sometime. To be able to do this, we have to
test many potential planets: our CanSat could be a cost effective planet probe measuring temperature,
pressure, radiation, and many other environmental indicators. Temperature and pressure measurement
is obligatory in the competition: it’s called the ’primary mission’. Secondary missions are chosen by
the teams. The main microcontroller read all data from sensors and sent them down encrypted to the
ground station. We visualized a real-time analysis of the measured data on the client side: every data
was available via a browser to everyone during flight. Now the whole flight can be replayed via the
Mission page on our website. After the flight all data have been analyzed, graphs have been made. As a
secondary mission, we
• built a spectrum analyzer. It was controlled by the main microcontroller, and has been calibrated
in an anechoic chamber. There is too much energy radiated away on/around Earth, which means:
– environmental pollution
– energy loss, which is money loss
On a different planet we can be sure, that the radiation isn’t harmful to our health. We successfully
scanned the whole GSM spectrum many times, and sent the data down.
• made a targeted landing system. The 3D-designed and SLS printed chassis, which was designed
by us protected everything in the CanSat. The other main hardware of this system was the servo,
which was controlled by an Adruino. A special algorithm runs on this Arduino, which predicts the
direction and strength of wind. The parachute has been made from a real parachute, and tested
with drop tests. Our targeted landing system didn’t succeed because of the very strong wind.
• for a targeted landing system many other things had to be done: most importantly the advanced
telemetry. We measured data of many sensors other than the obligatory ones. These measure-
ments has been done by the PCB, which was designed and made by us. We also implemented
telecommand, mainly for safety, but also for practical reasons. The communication radio, the
spectrum analyzer and many other parts can be controlled from the ground. Our well-tuned good
impedance-matched antennas, and radio modules let us to send and receive all of our packages
without any loss! A forward error correction algorithm also helped us in this.
We improved our 3D-designed, programming & communication skills a lot. We got to know each other
better, and we could work as a team. We are looking for the following Hungarian CanSat team right now.
We had a presentation about our results at the Space Camp of the Hungarian Astronautical Society and
Space Generation Advisory Council. We won the honorary prize of the competition - this prize has been
given to a team for the first time in the history of the competition.
• Temperature
• Humidity
• Pressure
• Dust concentration
• GPS data
• RF spectrum data
– GPS
– Servo
– Microcontroller
– Power supply
• Parachute
• Chassis
• Advanced telemetery - collect more data then it would be obligatory: this helps the targeted landing
system & our CanSat is a planetary probe
• Telecommand - we can send commands to our CanSat (Our radio communications is excellent for
more than 120km.)
• Targeted landing - our CanSat predicts the direction and speed of wind, and controlls the servo
using these data as well
Chassis
The main task of the chassis is to absorb the impact of the collision. It was a challenge to find a place for
every component and also protect them. Another challenging task was to find a way how all the sensors
on our board can get enough air inside a closed chassis. For this reason we designed a special tubule
which controls the air flow and also the speed of air with the changing its inside diameter. The PCB
inside the chassis can be seen on Fig. 3.8. The tubule is also observable on the photo. Our parachute
is attached tight to our chassis, so it can withstand every force acting on it during descending. The
fixation of the servo is even more strong: it is held by 4 M4 size screws. The chassis is 3D printed
with SLS technology. We thought about fabricating it from carbon fiber, but it was not good with our
communication system. We changed it to glass fiber, but it was a bit more heavier then our first FDM
3D printed prototypes, and was far more hard to manufacture. As a result we decided to use SLS 3D
printing. We stabilized our CanSat box by adding extra lead weights: it is necessary to make its bottom
heavy to make it more balanced, thus make it easier to do the targeted landing. This was the aim of
our optimization/minimization process regarding to space and weight. Batteries are also used for the
stabilization of the CanSat, not just for providing energy. Pockets has been designed in the chassis for
batteries to fix them in their position. Everything has been strongly mounted to the structure to ensure
that the CanSat can withstand 20g of acceleration.
Parachute
We chose to make our own parachute instead of buying a parachute to make our CanSat more controllable.
We worked with a polyamide-silk material of the NZ Aerosports parachute manufactoring company. This
means our CanSat is very strong and durable. We also designed the shape of the parachute after many
tests. With pulling the rigging we are able to control our CanSat’s flight and realize a targeted landing.
Because the ’rigging’ is made of the same material as the parachute, it can open very easily and smoothly
Figure 3.2: Our CanSat inside its case
- easier than other solutions with ropes. The parachute has been fixed to the chassis, but its main
attachment point is on the arms of our servo. We also have spherical parachutes for safety reasons, which
can guarantee us different descending speeds. They can easily be attached to the box of our CanSat. We
tested our parachutes with drone drop tests, measured the final constant speed which they have reached
(through GPS data), and found the k = c ∗ A value.
1
F = cAρv 2 (3.1)
2
,where:
Thus we calculated to maximum force, which can act on the parachute and its rigging. We assumed
the worst case - in the viewpoint of the rigging -, that it will be thrown out from an airplane, where
v = 250km/h. We calculated that the maximum force is going to be around 250N, which can withstand
our parachute.
Our parachute is depicted on Fig. 3.3.
Servo
The task of our servo is to control the parachute: it has to be fast and accurate. It is controlled by an
Arduino Pro Mini based on the GPS data. Although the servo’s main task is controlling, it also have to
fix the parachute, and be strong enough (its arms as well), to control the parachute. Because of the above
reasons we chose the Hitec D777MG, which is a very strong (metal gear), fast and low-profile (which
means more space in the box), and thus is ideal for us.
The arrangement of the elements inside the box is depicted on Fig. 3.4.
(The long arm of the servo is a ’legacy’ from a former design, we are not going to use the formerly planned
opening mechanism for the servo arms. Of course inside the rocket the biggest diameter of the CanSat
is 66mm.)
• GPS L80 changed to L76, it features a different built-in antenna which is more durable
RF communication system
The RFM26W transceiver module ensures good transmission quality.
RF frequency sensor
We created a sensor to detect all noises in the GSM band. The main component of the sensor is the
SI4464 spectrum analyzer chip from Silicon Labs. A half-wave dipole antenna is connected to this chip.
Pressure sensor
We selected MPL3115A2 precision pressure sensor. Its measurement range is between 20kPa and 110kPa.
Accelerometer & gyroscope sensor
The other sensor which measures the movement is the MPU-6050 from InvenSense. We decided to use
this because its data gives us more precise information about the inclination angle than the GPS sensor.
Additional information:
• We also used another analog to digital converter channel of the Atmega328 because we also wanted
to measure the voltage of the battery. We had to divide this voltage with resistors because it
is higher than the analog reference voltage (2048mV), which is created by the LM4040 precision
reference voltage generator.
• In order to recharge the CanSat’s battery easily we decided to use the same USB connector to
charge the battery as to communicate with the circuit. Therefore we used the MCP73831 battery
charger IC.
• Measure telemetry data, we used a GPS module to collect the coordinates (along with the angle
of incidence, the timestamp and velocity data from the sensor) during the flight. Selected GPS
module: L80 from Quectel. So in order to avoid the physical damage of ceramic patch antennas,
we changed the L80 module to L76, which has a metallic antenna.
• We consciously over-estimated the power budget of our CanSat: the 850mAh LiPo battery from
Sparkfun is going to be enough for the CanSat to work (measure and transmit) continously for
more then the required 4 hours.
The layouts of the designed printed circuit board (PCB) can be seen in Fig. 3.6. (in Appendix) and 3.7.
The realized, assembled and working HunSat panels are in Fig. 3.2., 3.8., 3.9., 3.10;
Figure 3.7: HunSat PCB in 3D
It features an Arduino Pro Mini 3.3V/8MHz board, an L80-M39 GPS module, and the controlled servo:
Hitec D777MG. It is a very strong, metal gear, low-profile servo. The reason why we use this servo is
described in details in the Mechanical/structural design section.
Different compass sensors, variometers have been considered to be used, but we achieved to make the
electronics for this part as simple as we can. But therefore coding needs better ideas and solutions.
Although the main electronics should work longer than 4 hours, this subsystem does not need to grant
this, while it is going to be used only during descending, which means maximum 5 minutes. Nevertheless
this system can work much more than this from 4xNiMH batteries.
The 4.8V voltage of this battery pack is enough to power the servo and with a 3.3V regulator is is possible
to power the Arduino from this as well. This way it can work by itself, independently from the main
board.
Though we managed to implement a kind of telecommand to this part of the CanSat as well: the main
board has two open-collector pins, with which it can provide some information to this targeted landing
system.
Name Type
MPL3115A2 Pressure
MPU6050 Gyro + Accelerometer
MAX30105 Optical Dust Concentration
SI4464 Spectrum Monitor
HIH6120 Humidity/Temperature Sensor
L76 GPS
For the pre-calibrated sensors we did validation tests, we modified the temperature and accelerometer
Figure 3.10: HunSat hardware’s bottom
This radio transceiver IC (Integrated circuit) is working from 119 to 960 MHz, mainly on ISM (Industrial
Scientific and Medical) band.
On the receiver chain, the incoming RF signal is converted down to the fixed IF (Intermediate Frequency)
band (between 400 and 500 kHz) with the fractional phase-locked-loop (PLL) synthesizer as local oscil-
lator. On the IF band, the analogue signal is digitalized with ADC (Analog to Digital Converter) and
Figure 3.13: Calibration log-per antenna
convert down to the baseband both in I and Q (complex digital signal). On the baseband, the signal
level can be measured with the RSSI (Received Signal Strength Indicator) unit of this chip. The RSSI
value is a single byte: 0...255 equals from -130dBm to -10dBm power level range.
How does the spectrum monitoring system work? After the power-up process of the Silabs radio, switches
to RX mode (reception), the program of the OBC (on-board computer) set a receiver frequency in range
of 925...960 MHz, wait some milliseconds and read the RSSI register of the chip.
The delay between the frequency tuning and RSSI value read is the most important thing, because of
the used bandwidth of the monitored radio signals. In case of GSM, the channel bandwidth is 200kHz.
It means, that the on-chip IF digital filter has at least 200kHz bandwidth. The reciprocal value of the
resolution bandwidth filter is the group delay of the filter, so the delay has to be at least 10 times higher
than it’s group delay to be able to measure the real RSSI of a transmitter.
The frequency step of the spectrum monitor is 50kHz, which is 4 times less than the channel bandwidth,
so each GSM channel measured in 4 points.
• The Cansat on 434.800MHz or other given frequency (70cm band) - 2-way connection: telemetry
and telecommand
The GND can use RTL-SDR (cheap software radio) to demodulate, decode the incoming RF signal from
HunSat - Fig. 3.14.
The software and hardware radios can be used with it’s omni-directional monopole antennas and with
hand-held 6-elements Yagi antenna - see Fig. 3.17. If Yagi antenna is used, it can add 10dB gain to
the signal level, and the antenna can be rotated both in azimuth, in elevation and polarization by hand
(directed to the HunSat flight model).
We measured the digital data communication on 434.8 MHz with R&S FSV signal analyzer.
The communication system main parameters are the following:
• Modulation: 2-gaussian minimal shift keying for the optimal spectral efficiency - Fig. 3.18.
• Raw data rate: 50kbit/s (actual data rate is 25kbit/s because the 1/2 code ratio)
1. The CanSat system has two subsytems: CanSat subsystem and Flight control subsystem, written
in AVR C with extensions from Arduino
Each of these three platforms require very different programming approaches. We tried to use stable and
trustworthy components to minimize the probability of a crash. Most of the code is written by us, to
eliminate the dependency problems of usual libraries.
3.5.1 CanSat
This software is written in nearly pure C, with the two exceptions of the GPS and the MAX30105 libraries.
Two open-source libraries, avr-libc 2.0 and NeoGPS were used. Build and upload to the microcontroller
is done by the Arduino IDE 1.8.6, but we used normal text editors to write the code, because we find
them much more useful.
When the microcontroller starts, it looks for external devices, and it initializes all the sensors.
The following flowchart (Fig. 3.21.) demonstrates the flow of the program, and the state machine
operation. After the system initialization, it enters a never-ending loop.
Figure 3.16: Ground Station and HunSat hardwares
The software uses the GPS data input as a system clock: the module is configured to send data every
second to the microcontroller.
When this data is available, it gets processed, other data from the sensors get collected, converted, then
sent to the ground in an encrypted packet which checks for bit errors. As we have a huge amount of data
(especially with the spectrum data), and we do not use a big bandwidth for communcation, nothing is
processed on-board, everything is sent down to the Ground Station.
After the collection and send procedure, a window gets opened for telecommand operation: the RF
transceiver gets switched to RX mode, and the microcontroller waits for 100ms to receive control packets
from the Ground Station.
We have a powerful and extensive packet system. Our RF transmitter sends down 64 bytes to the
ground. After the forward-error-correcting (FEC) encoding with 1/2 code rate, and two-bytes CRC
(Cyclic Redundancy Check), we only have 30 bytes to work with, so we had to design a system for
multiple packet types - Fig. 3.22.
The telemetry data are:
1. GPS:
• Time
• Latitude
• Longitude
• Hemispheres: North or South and East or West
• GPS status (greater than zero is OK)
• Number of satellites
Figure 3.17: Ground Station and HunSat hardwares with hand-held Yagi antenna
• Altitude
• GPSRMC status (void or active)
• Velocity (speed and direction)
• Movement angle
3. Additional telemetry:
• Humidity
• Battery voltage
• Dust concentration in red, infra-red and green bands
• Gyro sensor data: 3-axis acceleration
• 3-axis angular speed values
The following chart shows the available telecommand modes (Fig. 3.23.).
We have one for changing the frequency, one to control the other microcontroller doing the flight control,
and one to just echo back what we sent to it.
After the telecommand subprogram the microcontroller moves on, and waits for the next measurement
cycle.
Figure 3.18: RF signal spectrum of the on-board communication system of HunSat
- etc.), the program switches between these states when different events happen. The servo is controlled
with hardware PWM.
We also made a simulator program in order to test the algorithm without doing time-consuming drop
tests. This simulator is written in C, and there is a Java visualizer part of it as well. It gives the Flight
control program GPS and wind data. The program handles GPS data like it was measured data, and
the wind influences the turns. This simulator showed us, that the program works perfectly - with some
restraints: the hardware should work, as we think, it works, according to our drop tests.
3.5.4 Client
As stated earlier, the ’HunSat client’ will run in the end-user’s browser. It is optimal for only laptops
and high-performance tablets, because of the JavaScript it uses.
The flow of the client program is pretty simple: it waits for new data on the WebSocket (which is hosted
on the GND), and if there is some, it appends it to the end of the rolling graph. We used a ploting library
(ChartJS) to visualize all significant data in real-time. The page is autorefreshed when a packet arrives.
Since the JavaScript is quite parallel, an other thread will process the telecommanding of the CanSat.
The GND software will of course filter commands to prevent unauthorized people making changes, but
local clients with a proper keyword will be able to control the falling unit. The control will use a separate
socket. The webpage is depicted on Fig. 3.25.
There Ground Station itself can also host a webpage, which easier to be used by us (it has all the necessary
functions and more), but has a less responsive design. This webpage is depicted on Fig. 3.26.
Figure 3.21: The flowchart of the CanSat program
We are going to have equipment with us for recovery reasons like bigger antennas. The main parts of our
ground support equipment can be seen on Fig. 3.17.
3.8 Testing
We already wrote about a part of our tests and/or calibrations. Our CanSat could things 5+ hours
together with the Ground Station, it can collect all data, but there is two more things. We would like to
emphasis here these two different tests: communication tests and test related to the parachutes.
The realized radio link was between Gellért-hill and building V1 at Budapest University of Technology
and Economics on Google Maps in Fig. 3.28.
The distance between HunSat model and GND is 1.25km. The free space loss can be calculated with Eq.
3.2.
4πd
a0 = 20lg = 87dB (3.2)
λ
,where:
• d is the distance,
Pn = kT B = −125dBm (3.3)
,where:
Ps
SN R = = −71 − (−125) = 54dB (3.4)
Pn
We put switched attenuator between the receiver antenna of the GND and the radio module of the GND,
and increased it’s attenuation and see the packet error rate and bit error rate after the decoding process.
During the test, we can put more than 43dB additional attenuation to the radio link, which means that
the realized radio link can be 200 times higher: distance can be 250 km is line-of-sight propagation.
The demodulation and decoding limit in this real situation was SN Rmin = 54 − 43 = 11dB.
Figure 3.28: The tested communication link
well. The controling subsystem’s battery would not last this long if the servo would work all the way,
but this is not going to happen.
In the Competition the teams’ CanSats had to meet strict requirements. We met all the requirements
of the ESA CanSat Competition of 2018. We have already done many tests, described in the Testing
section to make sure our CanSat is going to work properly. Requirements can be found in the following
table:
• Inclusion of a retrieval system: we used a system like the radio beacons used in ’transmitter hunting’
• Our CanSat is able to withstand an acceleration of up to 20g: everything is mounted inside the
chassis, thus this is ensured
Lessons learned:
• Too high-level of organizational democracy instead of creating & following team rules is bad
From project planning point of view, the biggest difficulty was that we did not plan (honestly forgot)
with birthdays (and family programs), Easter holiday and mandatory school events – all these caused at
least 2-3 weeks slippage in execution.
5.2.2 Budget
The total budget of our flying CanSat with all of its components is far below 500e. In Table 5.1 there
are the prices of the components of one of our CanSats, which is going to be our main CanSat during
the competition. The majority of the components has been bought in Hungary, paid with HUF. In the
following table the prices in EUR are calculated with the 320,3HUF = 1ecurrency rate of 01.06.2018.
During development we used a larger amount from some of the above components, we built 3 of the main
CanSat PCB with controller and sensors. The servo and the controling circuit for that has been built
only in one copy.
The final historical cost per 1 CanSat is 226.94e.
To be able to maintain the cost low:
• Instead of buying a data transmitter for 43e, we built it from parts for 4.6e
• We reused a (spherical) parachute from our previous balloon project (for testing)
• Travel from Budapest-Lisabon-Budapest for the team of 5 (including assurance lagguages): 1490e
Sum: 2321e
Component Value in HUF/unit Quantity Total value in EUR
ATMEGA328PB Microcontroller 370 1 1.16
MPL3115A2 Pressure 864 1 2.70
CCS811 Air Suality 2885 1 9.01
MPU6050 Gyro + Accelerometer 2056 1 6.42
MAX30105 Optical Dust Concentration 1243 1 3.88
SI4464 RF Transceiver 964 1 3.01
HIH6120 Humidity/Temperature Sensor 3076 1 9.60
L76 GPS 2020 1 6.31
TI Voltage Reference 181 1 0.57
FT232RL FTDI 1198 1 3.74
MCP73831T Charge Controller 181 1 0.57
Micro USB 442 1 1.38
PCB Production 5599 1 17.48
Sparkfun LiPo battery - 1 9.95
Sparkfun Arduino Pro Mini 2534 1 7.91
LC231X FTDI 1727 1 5.39
L80 GPS 2000 1 6.24
Hitec D777MG Servo - 1 59.99
NiMH battery 2390 4(pack) 7.46
SLS 3D printing of final case 5000 1 15.61
Paraglider 6800 1 21.23
Diodes, resistors, transistors, capacitors, solder 8753 1 27.33
Total 226.94
• Sent introduction mails and letters to the main written and online media representatives in Hungary
(without success – everybody wanted to see results)
• Created a home page and a facebook profil and share these with all of our contacts
• Went to the director of our school and introduced our project to the Piarist Foundation (we asked
the alumni members to share our projects with their contacts)
• Went to different conferences and events (startup events, pitch days, conferences for young scientist
or for university students, tech meetups). Main conferences and events:
• Ce contacted the Hungarian Space Cluster and sent our introduction to the Cluster members
• Financial support:
– Ramasoft Ltd.
– Pannon Business Network
– GAMF Foundation for Innovative Young People of John von Neumann University
– Piarist Foundation & our school
– PressHouse Ltd.
– EU-Mentor Ltd.
– Brickz Technologies Ltd.
– Innototal Ltd.
– HPC Consulting Ltd.
– TCT group
– 5 private persons
• Indirect support:
– MRC – Amateur Radio Club of Budapest University of Technology – providing their lab for
free
– IQ Kecskemét Ltd. – 3D printing and professional consultancy (mainly how to use AutoDesk
Inventor)
– QuantumLeap – coaching on project management
– Mauri travel agency – organizing our travel without agency fee
– Brickz Technologies – providing a drone for tests and professional consultancy (mainly in the
servo controlling) for free
– Budapest University of Technology – web hosting, websocket for free
– ELTE University of Budapest (Department of Physics) - advices with paragliding
– CollMot Robotics - drone for tests for free
– Varinex - SLS printed the chassis of our CanSat
– Antal Fodor: mechanical engineer, research assistant at John von Neumann University,
Kecskemet
– András Gschwindt Dr: electrical engineer, assistant professor at Budapest University of Tech-
nology
– Márk S. Zoltán: IT professional, data scientist at Brickz Technologies
– Gábor Vásárhelyi PhD: physicist, scientific associate at ELTE Department of Physics, Bu-
dapest
• András Illyés
• Benedek Tomka
• Domonkos Dessewffy
• Domonkos Cseh
Channels:
• Social media
• Personally on conferences and other events
Results:
• Team video
• Team T-Shirt
Lessons:
• Speech improved
In this section our measurement data can be found. We use ’time’ as an ’x’ axis on many of the following
graphs. In our log files, time starts at the point of turning on the CanSat, but on our graphs the time
only starts 48 seconds before the rocket launch. (Meanwhile, between the turning on and the launch,
at least half an hour passed, this is why we cut that period.) The launch point has been determined
with the usage of the acceleration-time and height(pressure)-time graphs. The landing of the CanSat is
approximately at 170 seconds on this scale.
Temperature
We had temperature data from the humidity-temperature sensor as well as from the acceleration-gyro
sensor. The measured temperature data is depicted on the graph of Fig. 6.1.
dP
= −ρg (6.1)
dh
,where:
• P is pressure of air,
• ρ is density of air,
• g is acceleration of gravity,
• h is height.
mP
ρ= (6.2)
kT
,where:
This means, that air density depends on air pressure and of course vica versa. This yields to a more
accurate formula, which is the following:
mgh
Ph = P0 e − kT (6.3)
,where:
With the equation Eq. 6.3, the barometric formula can be deduced with expressing ’h’ height. We use a
different equation, not just the simple derivation from Eq. 6.3. The used equation is:
RT P
h=− ln (6.4)
g P0
,where:
• h is the elevation,
J
• R is the specific gas constant = 287.053 kgK
Height data has been calculated from the pressure data according to equation Eq. 6.4.
Height data is depicted on Fig. 6.3.
Humidity
We also measured the humidity of the air. Our data is depicted on Fig. 6.4.
Dust concentration
We measured the dust concentration with an optical sensor. Fig. 6.5. shows our data measured.
GPS data
We processed the GPGGA and GPRMC lines from the NMEA sentences of the GPS communication.
We plotted the data which was important from the point of view of the project.
Fig. 6.8. and Fig. 6.9. shows these data.
A generated .kml file from the latitude, longitude, and altitude data has been read into Google Earth,
the result is depicted on Fig. 6.10.
Communication data
Our communication link was perfect during the whole launch process.
The RSSI data of the packages measured on our Ground Station can be seen on Fig. 6.13.
Figure 6.4: The measured humidity data in time
Temperature
Two curves are present on Fig. 6.1.: One is from the temperature sensor of the acceleration & gyro sensor,
the other is from the temperature sensor of the humidity sensor. The gyro sensor has a microcontroller
built-in, which is needed for the calculations done by the chip itself. This microcontroller consumes
electricity, thus it heats. This is the reason, why it shows us higher temperature with approximately
2◦ C. During launch, the temperature changes: it decreases during the climb. The temperature sensor of
the gyro sensor reacts slower to transients than the sensor in the humidity sensor. Because of the above
mentioned reasons we can state: the temperature data from the humidity sensor is more accurate.
Humidity
There are two small curves from ca. 50 seconds to ca. 75 seconds. For these transient phenomena the
answer could be found in the rocket’s operating principle. The solid-propellant rocket’s ’motor’ could
cause these.
Acceleration
Acceleration data is shown on the graphs of the 3 different axes. The acceleration along x and z axis at
the beginning is 0g, and along y axis is -1g. This means, that the CanSat was upside down - from the
point of view of the acceleration sensor. A big spike is on the diagram at ca. 60 seconds. At first sight
this could be the acceleration of the rocket, but it isn’t. As formerly, the rocket accelerated between 49-51
seconds. It can be seen on the graph, that its acceleration was 2g. That big spike ( 15g) is caused by the
burst of the nosecone. The whole inner space inside the rocket is pressurized thanks to the ’motor’. The
pressure inside bursts the nosecone, and the CanSats are pulled out of the rocket. The big acceleration
is this: when they get pulled out. After that, the wind starts to act on their parachutes, but this is a less
smaller force.
Angular velocity
The curves on the angular velocity graphs look like they have been cut. They definitely have been cut,
because the sensor works between -256 - +255 values (it stores the value in 9 bits: 1 parity + 8 data
bits). The shape of the curves and the fact that they have been cut down by the sensor tells us, that the
GPS data
Two GPS data are plotted on graphs: speed and heading. ’One part’ of the velocity is speed, it’s the
length of the velocity vector. The ’other part’ is the direction of this vector, which is called heading.
GPS velocity data is calculated from the consequent GPS position data. The small area, which we moved
on can be considered a plain. The polar coordinates from the GPS can easily be turned into Cartesian
coordinates with trigonometrical formulas. The distance traveled on this x-y plane divided by the elapsed
time gives us a speed value. The speed of the CanSat was more than 50km/h sometime, which is huge.
This is almost just the speed of wind, the CanSat couldn’t have its own speed relative to the wind. This
is the second reason, why the targeted landing mechanism didn’t succeed: it only works when the CanSat
has relative speed to the wind.
The heading data is plotted on the second GPS data graphs. We can notice two sharp turns: one after
the ’motor’ of the rocket burned out, and another one after the CanSat has been deployed. After this
the heading value was betweedn 180-200◦ , which means that our CanSat went approximately to South.
Communication data
The ’x’ axis here is the number of the packet.
0 is when the CanSat was turned on.
After turning it on, we folded the parachute, so the antennas had also been folded: the signal strength
weakened. Around 50.000 the following events can be observed:
• The CanSat has been transported to the launch site with a car: the signal weakened
• It has been put into the rocket: the signal weakened to a very low state
• The CanSat is descending: there is a declivitous curve, which is because the CanSat went towards
us while descending.
• At around packet number 53.000 the CanSat landed: the RSSI value suddenly fell down. (This is
because of the ’hill’ mentioned formerly in the GSM data section.)
Just before packet number 60.000, around 59.000 the moment can be noticed when the member of the
recovery team found it, and picked it up. That 1.5-2m of difference in altitude meant a lot in signal
strength.
We used a 18cm monopole to receive the packets from the CanSat during flight: it worked perfectly. A
Yagi was only used when the CanSat was inside the rocket on the ground, and when the CanSat landed.
8 CONCLUSIONS
Our communication succeeded with our telecommanding system as well. (Randomly generated telecom-
mand messages were sent continuously to the CanSat during flight, the CanSat saved them for itself, and
sent them back. The Ground Station checked whether they are the same or not.) Only a 18cm monopole
is needed, no need for a big Yagi to be transported.
Advanced telemetry was also successful, we measured many data: our CanSat is perfect to work a planet
probe on other planets.
The chassis and the PCB made by us also succeeded: it is a very good constructions, because there
is a very big space (without the targeted landing system) next to the main board in the CanSat. It
could serve as a carrier for other experiments. There is also enough space for having a landing mech-
anism (e.g. arms) on the CanSat or to have a small rover on-board, which does experiments after landing.
Because of the inability to be controlled in big winds, we have to reconsider our parachute design.
[1] http://kicad-pcb.org
[2] https://www.autodesk.eu/products/inventor
[3] https://www.arduino.cc/en/main/software
[4] https://developer.apple.com/xcode/
[5] http://www.texniccenter.org/
[6] https://gnd.bme.hu/cansat
[7] https://www.facebook.com/hunsatteam
[8] http://ssasymposium.org/
[9] https://spacegeneration.org/esf2018
[10] https://en.wikipedia.org/wiki/GSM_frequency_bands
[11] https://www.silabs.com/documents/public/data-sheets/Si4464-63-61-60.pdf
RF frequency sensor
This single-chip radio contains a single-conversion superheterodyne digital receiver and it can measure its
received signal strength in a 100 dB range from 119 to 960 MHz with 1-850 kHz intermediate frequency
bandwidth. Its V-shaped dipole antenna receives the GSM band RF signal. This antenna and the receiver
are impedance-matched. These and the single-chip receiver were calibrated in an an-echoic and shielded
chamber. It sets the carrier frequency from 925-960 MHz in 50 kHz step and if the bandwidth suits to
GSM signal bandwidth, wait for some time to avoid the transient answer of the IF filter and measure the
RSSI digitally. The incoming signal is converted down to an analog intermediate frequency band around
450 kHz, where it is digitalized and digitally mixed down to the digital baseband. It is a single-conversion
superheterodin receiver. The digital I-Q signal is frequency demodulated, decimated and hard-decided
to form bit series. This bits are available in a single SPI bus. The wiring diagram is depicted on Fig. 9.1.
demodulated, and filtered to produce a voltage that is proportional to the angular rate. This voltage
is digitized using individual on-chip 16-bit Analog-to-Digital Converters (ADCs) to sample each axis.
Schematic depicted on Fig. 9.6.