Cansat PDR
Cansat PDR
UK CanSat Competition
Celestium
Brighton College
Primary Mission:
Measure air temperature and air pressure and transmit the data as telemetry to the ground station once
every second
Secondary Mission:
Atmospheric radiation profiling (UV and IR) and atmospheric gas concentration profiling (CO2 and
ozone) in terms of altitude to determine regions of higher concentration and to determine if there is
correlation. If so, the data should show the atmosphere’s natural filtering and shielding effects.
We will measure the ozone, carbon dioxide, infrared radiation and ultraviolet radiation
levels/concentration once per second, then pairing the data onto the altitude information also collected
once per second.
Our hypothesis is that as atmospheric gas concentration increases, the levels of atmospheric radiation
will decrease due to absorption and scattering by atmospheric molecules. Ozone absorbs UV
radiation, particularly in the UV-C and UV-B wavelengths, which are blocked effectively in regions
with higher ozone concentration. Similarly, greenhouse gases like CO₂ absorb specific wavelengths
of IR radiation through their vibrational and rotational modes, reducing the intensity of IR radiation as
it passes through areas with higher CO₂ levels. Thus, we would like to visualise the atmosphere’s
natural filtering and shielding effects through our secondary mission, which will be presented as a
heatmap after data post-processing.
This data can show the atmosphere’s role in protecting life on Earth and regulating energy balance.
Studying how these gases interact with radiation at different altitudes can allow us to understand
composition and effectiveness of atmospheric layers in filtering harmful wavelengths, assessing ozone
distribution, and understanding localized climate effects. Our data can also be used for evaluating
radiation exposure risks for humans, particularly at higher altitudes or in aviation, and understanding
how changing atmospheric conditions affect ecosystems. Additionally, this data can be used as a
baseline for tracking trends like ozone depletion, greenhouse gas accumulation, and pollution impacts,
making it useful for scientific research and environmental policy.
2 PROJECT PLANNING
cansat timeline.xlsx
Outreach will be done once per week through Instagram, which will be detailed later.
Student 5
…. Skills
…. Some Skills
…. No Skills
Electronics Support: Online resources, Brighton College Design Technology Faculty, BC Physics
Faculty
3 CANSAT Design
The impact absorption section is located at the bottom of the CanSat, with a thickness of 2cm. This
part is made of TPU (95A) as it can undergo a significant amount of elastic deformation before
breaking. Therefore could absorb a considerable amount of energy from the launch and landing,
protecting the electronic device. By using 3D printing technology, we are able to customise the
internal structure of the landing compartment to control how the structure deforms under load. Several
different internal structures had been tested with different masses and stiffness.
The electronic compartment sits above the impact absorption section. The electronics will be secured
onto a TPU cylinder attached to the impact absorption section, this will secure the sensors in place
and provide further protection from the impact.
The electronic compartment is surrounded by 4 PLA made 2mm thick spoilers. These spoilers will be
deployed by 4 servo motors after it is released from the rocket. The spoilers will increase the drag in a
controllable manner, and also expose the electronic sensors to the atmosphere to get more accurate
measurements. The spoiler system is similar to the NASA proposed ADEPT technology but with a
different purpose. The spoiler had gone through several design iterations to minimise weight while
maintaining structural strength. Furthermore, a layer of fibre tape will be applied on the spoilers’
surface, which will increase the structural integrity. In the very unlikely scenario where the spoiler
breaks under stress, the fibre tape can contain the fragments to minimize the safety threat posed by
uncontrolled, free-falling debris.
The top of the CanSat is the parachute compartment, it is linked to the base (impact absorption
section) through a TPU cylinder that runs through the entire height of the CanSat. This provide a
secure connection between the parachute and the CanSat to make sure it can withstand the force of
initial parachute deployment.
3.2 Electrical Design
In this design we are using a I2C bus for most of the sensors. An I2C bus allows for two-wire
communication, with the SDA data line on GP0 transferring data between the master and slave
devices, and the SCL clock line on GP1 synchronising data transmission between the master (the
Raspberry Pi) and the slaves (senors). Each device on the I2C bus has a unique address for
identification. For the BMP280, it defaults to 0x76 or 0x77; the LTR390 is 0x53; the TSL2591 is
0x29 and the SCF30 is 0x61. The SDA and SCL lines require pull-up resistors to ensure proper signal
levels, typically 4.7kΩ to 10kΩ (not included above). All the sensors are connected to Pin 36,
3V3OUT and Pin38 for ground connection to ensure a common voltage reference.
When in idle state, both the SDA and SCL lines are pulled up by the pull-up resistors to 3.3V. Then,
the Pico initiates communication by pulling the SDA low while keeping the SCL high, which initiates
the start condition. In address transmission, the mater sends the 7-bit address of the target slave
device, followed by a read/write bit. Each slave will compare the address to its own, and if a match
occurs, the slave will pull its SDA low. To exchange data, the master generates the clock signal on
SCL and the data is transferred on SDA by the master sending data in write mode and slave sending
data on rea mode. The master can end communication by releasing both SDA and SCL lines to go
high.
During implementation, we will keep wires short to reduce capacitance and maintain reliable
communication.
The SPS and XBee modules are connected to the Raspberry Pi on a UART bus. UART is a point to
point communication, so each connection involves only a transmitter (TX) and a receiver (RX) and
data can flow in both directions simultaneously. No clock is required, which allows asynchronous
communication but instead devices must agree on the baud rate for timing. Each data frame typically
includes the start bit, data bits, optional parity bit and the stop bit.
Sine the GPS runs on 3.3V it can be connected to the Pico’s 3V3OUT. However, the XBee runs on
5V, which is directly connected to the battery. Both devices share a common ground with the Pico to
ensure signal integrity on Pin3.
We are using a lithium ion battery, which will require a converter and a regulator. It is connected to
the 4 servos for the spoilers, the XBee which requires a 5V connection, and the Pico’s VBus (Pin40).
The servos are connected to the Raspberry Pi from Pins 9-12 and grounded on Pin8.
Program Analysis:
The program interfaces with a BMP280 sensor using the Raspberry Pi Pico via the I2C protocol. It
retrieves temperature, pressure, and calculates altitude using two different formulas. Here is a detailed
breakdown:
2. Calibration Adjustment
● ERROR: A correction factor for pressure calibration (in hPa). Users can adjust this value to
fine-tune the altitude calculation based on specific environmental conditions.
3. I2C Initialization
● Pins SDA (data) and SCL (clock) are declared and assigned to GPIO 0 and 1 respectively.
● An I2C object is created with a communication frequency of 1 MHz.
● Configuration settings for power mode, oversampling, standby duration, and IIR filter are
provided for optimized accuracy and response times.
6. Altitude Calculation
● Hypsometric Equation (altitude_HYP):
○ Relies on pressure and temperature to estimate altitude using the relationship between
air pressure and elevation.
● Temperature (°C) and pressure (Pa) are read from the BMP280 sensor.
● Pressure is converted from Pascals to hectopascals (hPa).
● Altitudes are calculated using both methods.
● Values are printed every second using utime.sleep(1).
Code Behaviour:
1. Detect the sensor.
2. Retrieve and display the temperature, pressure, and calculated altitude continuously.
3. Allow you to adjust calibration via the ERROR variable.
Output:
3.4 Landing and Recovery System
Materials for Parachutes
Conclusions:
Best overall materials:
Ripstop Nylon: Optimal for strength, cost, flexibility
Silnylon: For added compactness and water resistance, but more costly
In addition to the parachute system, 4 actively controlled spoilers will also be used to further control
the descent speed of CanSat. The 4 spoilers are controlled independently using 4 servo motors, it can
actively control the descent speed by changing their deployment angle, which could increase the total
drag of the CanSat. By using the feedback from the barometer calculated altitude in a PID control
loop, the CanSat can stabilise the descent speed at a preset speed. This will also help the onboard
instruments to collect data within a more controlled environment as the airspeed will be relatively
constant. During the final phase of the descent, all 4 spoilers will deploy at their maximum angle to
provide maximum drag to reduce the final descent speed, reducing the impact force when landing.
Equipment Justifications
Windows laptop A Windows laptop has necessary software
compatibility such as with XCTU and Python
Thonny which are required for communication
between the XBee modules and the Raspberry
Pi Pico. Moreover, a Windows laptop also has
necessary hardware compatibility such as USB-
to-serial adapters and XBee Modules.
Familiarity with Windows reduces the learning
curve, and its extensive driver support and
troubleshooting services ensure a reliable
performance during the mission.
Digi XBee XR 868 The Digi XBee XR 868 module has long-range
communication capabilities and it operates in
the 868 MHz ISM band. This frequency is ideal
for CanSat missions, offering minimal
interference, compliance with ETSI regulations,
and effective penetration through obstacles
compared to higher-frequency bands. The
module supports reliable telemetry transmission
over several kilometres (with the potential of
reaching 14 km), which is essential for real-time
data retrieval. Moreover, the XBee XR 868 is
compatible with a wide range of antennas,
including Yagi and dipole types, which makes it
flexible. The Digi XBee XR 868 module also
supports full-duplex communication, meaning
that not only data from sensors can be sent back
to the ground, but instructions can be sent to the
CanSat as well, allowing for greater control over
the CanSat even after when it has been
deployed.
Digi XBee USB Adapter The Digi XBee USB Adapter offers
connectivity between the XBee modules and a
laptop for programming, configuration, and real-
time data retrieval. It facilitates the process of
configuring modules like the Digi XBee XR 868
via software such as XCTU, ensuring that the
XBee is connected to the laptop. Moreover, the
USB adapter supports a plug-and-play design,
making it compatible with most modern laptops.
Additionally, its compact and robust build
ensures reliability during field operations.
Hand-held 868MHz LoRa Omni-Directional The 868 MHz LoRa Omni-Directional 3 dBi
3dbi Gain SMA Antenna Gain SMA Antenna has a low gain of 3 dBi
which ensures a wider radiation pattern, which
improves signal reliability in uneven landscapes
where line-of-sight communication may be
disrupted particularly in rugged terrain and
outdoor environments. Moreover, it operates in
the 868 MHz ISM band, which provides
efficient long-range communication with
reduced interference. Furthermore, the omni-
directional design delivers consistent 360°
coverage, meaning that the need for precise
alignment is not necessary. Its SMA connector
allows connection with XBee XR 868 modules
via a UFL to SMA adapter. Finally, it being a
hand-held antenna can be focused in a certain
direction effectively if necessary
Methodology:
The ground equipment is composed of a Digi XBee XR 868 connected to a laptop for receiving the
data from the CanSat on the 868 MHz frequency. A868MHz LoRa Omni-Directional 3dbi Gain SMA
Antenna is used to increase the reception
signal strength. This will be connected to the Digi XBee XR 868. The antenna ensures that signal can
be transmitted reliably. The CanSat transmits data to the receiving Digi XBee and this transmits the
data to a laptop through USB connection via a Digi XBee USB Adapter. The data can be viewed on
the XCTU software’s dashboard.
Requirements:
Factor Requirements Justifications
Laptop A Windows laptop to run software such The computer needs to handle
as XCTU for configuring XBee multiple tasks simultaneously,
modules, monitoring, and data such as receiving telemetry
processing. It must have enough data, controlling the ground
processing power for real-time data station’s communication
analysis and troubleshooting. system, and processing or
visualising the data.
Communication A reliable communication module like XBee and LoRa have robust
Modules - XBee Digi XBee XR 868, capable of signal transmission over long
operating in the 868 MHz ISM band, distances, compatibility with
ensuring long-range communication sensors, and minimal
and minimal interference. These should interference in regulated
support bi-directional communication frequency bands. Moreover,
to send and receive telemetry data from instructions can be sent to the
the CanSat. CanSat from the ground to
control the deployment of
spoilers / remote status checks.
The XBee XR 868 device is designed for long range wireless communications and has been an
exceptionally reliable radio module with positive online reviews. Moreover, the XR 868 version has
been hand picked by our team because it operates within the legal 868 MHz frequency band, meaning
its deployment is very suitable for European deployments e.g. the UK because the 868 MHz ISM
frequency band can be used without a license.
On top of the reasons above, the XBee XR 868 was chosen for its extensive features and capabilities:
1. Range
The XBee XR 868 has an impressive range of 14km with antennas. This means that data transmission
can be reliable even at high altitudes which is key for CanSat missions. Moreover, as a receiver
module, XBee XR 868 has a receiver sensitivity of up to -109 dBm. This is impressive for its size as it
can detect even the faintest of signals and maintain communication reliably even outdoors, which is
especially significant for CanSat missions.
Since CanSat missions are powered by an onboard battery pack, there is a need to reduce the power
consumption of its components. The XBee XR 868 utilises energy-saving/sleep modes when not in
use, maximising operational time during the mission and ensuring that other components have enough
power. Moreover, the XBee can be configured to operate on 315 mW, this means that we can be
flexible in our CanSat built as we are not limited by the power of the XBee and make way for more
sophisticated devices.
3. Data Reliability
The XBee XR 868 makes use of a data rate of 80 kbps, which is more than sufficient for transmitting
sensor data such as pressure, temperature. Moreover, the XBee also has built-in error checking
systems, reducing the effect of data corruption, and increasing the reliability of data transmission.
The XBee XR 868 can be configured to operate as a point-to-point communication system which is
more reliable and simpler than mesh networks.
Each XBee XR 868 module has a unique 64-bit MAC address. This means that the sender device can
uniquely identify our receiver device which ensures data transmission can be kept secure and conflict-
free even if other teams use the same frequency band.
4. Easy Configuration
All XBee devices can be configured through their dedicated software called XCTU. This means that
specialist knowledge of the inner workings of radios will not be needed for the deployment of CanSat.
XCTU provides an easy-to-understand user interface for configuring the XBee. Settings such as baud
rate, power, destination address, etc can be adjusted with a few clicks of the mouse without advanced
prior programming knowledge. This not only simplifies the system, but focus can be placed on the
main logic and functionality of CanSat rocket.
5. Easy Integration
The XBee is designed with a dedicated adapter board which has clear markings on how to connect to
the XBee. This simplifies the design for integrating the XBee as the adapter already has in-built
pinout configurations for UART communication. This means that custom wiring is not needed which
reduces the chance for error and focus can be placed on optimising the wiring for other components
instead.
The XBee XR 868 makes use of UART (Universal Asynchronous Receiver-Transmitter) for
communications which is supported by most microcontrollers such as raspberry pi or raspberry pico
which will be used in our CanSat.
The XBee XR 868 measuring at just 24.38 mm x 32.94 mm, the XBee device hardly take up space
within the CanSat, making it an ideal candidate to be integrated into this space-constrained CanSat
mission.
Moreover, since the XBee is designed with industrial applications in mind, the XBee can withstand
the full force of Mother Nature, unshaken by any vibrations or temperature fluctuations.
7. Encryption
Security can be ensured when using the XBee, since XBees support AES-128 encryption for its data
transmission. This means that the data transmitted is protected against eavesdropping and interception
of data.
8. Sustainability
The XBee XR 868 can update its firmware to the latest version which unlocks the full potential of
XBee software, enabling additional functionality and optimising performance.
1. Processor
The Raspberry Pi 3 makes use of a quad-core ARM Cortex-A53 processor with a clock speed of 1.2
GHz. These specs are more than sufficient for data acquisition, formatting and real-time
communication between the XBee devices.
Moreover, having four cores meant that the Raspberry Pi can process multiple instructions
simultaneously, allowing for multi-tasking which will speed up the process of receiving and
displaying data.
2. Storage
The Raspberry Pi 3 is fitted with 1 GB LPDDR2 RAM. Whilst usually this would be insufficient for a
modern computer, for the sole purpose of running lightweight code for managing receiving data
buffers whilst real-time data transmission, this is very sufficient.
Moreover, the Raspberry Pi 3 makes use of a microSD card for its main storage. We have chosen to
use a 32 GB microSD card which is more than sufficient storage to store all the code and the
operating system for the Raspberry Pi. This also means that data can be logged during the mission and
can be extracted if necessary.
3. Connections
The Raspberry Pi has multiple UART pins which serves as the main connection with the XBee
module. The Raspberry Pi also contains 40 GPIO pins, meaning that it can be connected to sensors if
necessary.
Moreover, the Raspberry Pi 3 has built-in 802.11n Wi-Fi and 4.1 Bluetooth. This allows for it to be
connected wirelessly to ground stations or laptops.
4. Software
The Raspberry Pi uses a Debian Linux based Raspbian OS which is an extremely stable and flexible
OS for coding and the tweaking of settings. It is also very user-friendly, meaning that it can be used
without much advanced prior knowledge. This reduces the time required for repeated testing and
debugging, so focus can be placed on the design of the CanSat.
The Raspberry Pi also supports the coding language: Python which is generally used for embedded
systems like this one. This means that hardware can be easily manipulated as Python is compatible
with libraries such as digi.xbee.devices and serial which help directly manipulate pins on the
Raspberry Pi and on the XBee.
Antenna
The 868 MHz LoRa Omni-Directional 3 dBi Gain SMA Antenna has been chosen to be used, and it
has a low gain of 3 dBi which ensures a wider radiation pattern, which improves signal reliability in
uneven landscapes where line-of-sight communication may be disrupted particularly in rugged terrain
and outdoor environments. Moreover, it operates in the 868 MHz ISM band, which provides efficient
long-range communication with reduced interference. Furthermore, the omni-directional design
delivers consistent 360° coverage, meaning that the need for precise alignment is not necessary. Its
SMA connector allows connection with XBee XR 868 modules via a UFL to SMA adapter. Finally, it
being a hand-held antenna can be focused on a certain direction effectively if necessary
The following is the code used to control the Sender XBee device:
Dedicated explanation of the code has been scattered across the code in the form of comments.
- Serial is used for the identification of different pins on the processor board and the XBee
adapter board
- Time is used for the delay between sending each message to avoid stack overflow from a
stampede of messages sent every picosecond.
- Three XBee objects have been created to represent the sender device, receiver device and a
separate object for the address of receiver device.
A method: send_data() is declared. This method takes in data from sensors as a parameter and sends it
through to the receiving device. It also prints the data sent for confirmation of successful data
transmission.
For the main program, code has been written to test the ability for the XBee to send the data through a
processor manually. Separate code has also been written to send data continuously every 1 second,
when sensor data is updated. Ctrl+c can be pressed to exit this infinite loop.
First Iteration
Successful use of the Raspberry Pi 3 to send data using the code, then the data is received by the
receiver XBee as it is connected to the computer, using the XCTU software.
The message to be sent could simply be entered into the terminal of the Raspberry Pi or it could be
sent automatically with delay between each signal sent (see above)
The data is transmitted to the receiver XBee and the message is sent as an individual frame (see
above)
To view the message, the specific frame could be selected, and the message could be seen at the
bottom of the Frame details window.
Whilst this is a viable option for receiving data, we will be using a Raspberry Pi to format the data and
display it in a more user-friendly way i.e. not needing to press into each individual frame. (See section
2) However, for testing purposes, we view the data through the XCTU software as we are testing if
the sending code works.
Second Iteration
Successful use of XCTU software’s “Add frames” function to send frames through the sender XBee
as it is connected to the laptop, then the data is received by the receiver XBee as it is connected to the
Raspberry Pi and the data is printed in the terminal of the Raspberry Pi as instructed by the code.
Messages are sent within the XCTU software by creating a frame and “Send selected frame.” (See
above) However, this would not be necessary in the actual CanSat mission as code on the Pico will
send data automatically. For testing purposes, we use this method to test if the receiving code of the
XBee is working as expected.
As seen above, the received messages will be displayed directly on the terminal of the Raspberry Pi,
without the need for selecting each individual frame on the XCTU software. This makes recording
data more convenient and minimises human error.
For the actual CanSat mission, a mixture of the above would be used. The data will be sent by the
Pico automatically in the CanSat, and the data will be received by the Raspberry Pi on the ground.
Since currently, only a single Raspberry Pi is available for testing, the testing of the code and
integration must be conducted in two separate ways. Nevertheless, the code works as expected and the
data is transmitted successfully. This shows that this ground support system will work as expected in
the actual CanSat mission.
Initial range testing suggests that the XBees can communicate smoothly with antennas attached up to
100m, with slight reduction in reliability with the absence of antennas.
For the CanSat mission, the Raspberry Pi will be facilitating in ground support for managing the
format of received data.
Power Supply A portable and reliable power CanSat missions often take
supply (battery or power bank) place in field conditions, where
to make sure that the ground access to mains power is
station equipment can be kept limited. Having a reliable
running for the duration of the power source makes it so that
mission. data collection and
communication can be
uninterrupted.
Cables and Connectors High-quality USB to mini-b The quality of cables and
cables and connectors are connectors can significantly
required for reliable signal impact signal strength and data
transmission between the XBee reliability, especially in
module and the ground station outdoor environments where
laptop. physical interference is
common.
Telemetry Software Software tools like XCTU or XCTU is used for configuring
Python with Thonny, to and troubleshooting XBee
interface with the XBee modules, while the Thonny
modules, decode signals, and IDE allows for customisable
display telemetry data. coding for data processing and
mission-specific functions
Autodesk CFD provides an excellent tool for basic fluid dynamic simulation. By using CFD, we can
have a rough estimation of the air resistance of the CanSat at different speeds. This can help us
calculate the drag coefficient of the CanSat therefore help the development process. However, the
CFD may not be completely accurate as fluid simulation is complicated. We are unable to properly
simulate the parachute as it requires dynamic meshing to account for its flexibility and changing
geometry due to various factors, we can only estimate the drag base on a fixed mesh of the parachute.
We will conduct real-life testing by releasing the CanSat from a high place. We will find a safe
building with a suitable height and release it to land in a safe place. During the test, we will use the
onboard barometer to record the height throughout the descent. We will also use a ground camera to
record the descent to analyse the descent. By using references from video and onboard barometer, we
can calculate the velocity of the CanSat throughout the test, therefore verifying the computational
simulation result and making sure the CanSat is safe for launch.
The mission instruments will be tested by exposing the instrument to different atmospheric conditions
and using reference data from local weather stations to check if the devices are functioning correctly.
To test the electronic devices, we will place the CanSat 1 km away from the ground station on an
open ground to simulate the distance during the mission. We will test the reliability of the radio
communication for antenna pointing in different orientations.
3.8 Evidence for CanSat Build
4 OUTREACH PROGRAMME
Possible Outreach Techniques:
1. Social Media
● Instagram, Twitter, TikTok
● sharing regular updates, behind the scenes footage
● infographics
● can leverage hashtags such as #CanSat and #STEM to reach broader audience
2. Video Content
● YouTube, Reels
● highlight key moments
○ assembly, testing, launch day
○ explainer videos/time lapse footage to provide deeper insight
3. Website/Blog
● central hub
● showcase project’s goals, milestones, technical insights, media gallery
● blog entries + team profiles
● personalise project
4. Print/Digital Publications
● articles in school newsletters, local newspapers, STEM journals, brochures + posters for
events
We will most likely be using Instagram during Jan-March to document the most intense part of
CanSat making. We will publish weekly posts/reels to show the audience our progress and keep them
engaged.