FINAL PROJECT


EduCansat: The big picture

Below you’ll find the main slide that I prepared to present my EduCansat prototype. This summarizes the core of the project and what makes it unique. If you’re interested in the technical details, assembly steps, or educational resources, you can explore the other sections of this documentation.

EduCansat project presentation slide

EduCansat Project Video

Below you’ll find a short video that summarizes the essence of my EduCansat project. This video was created using AI tools to visually communicate the main features, educational impact, and hands-on spirit of the prototype. For more technical details and the complete development process, please check out the rest of this documentation.

Project Idea Sketch

What is EDUCANSAT?

A CanSat (short for Can-Satellite) is a miniature satellite built to fit within the size of a standard soda can (350-500ml). It is commonly used in educational settings to introduce students to space technology, satellite communication, and telemetry systems in a hands-on, cost-effective way.

Phases and Activities

Phase 1: Preparation and Initial Testing (April)

  • April 24-28: Materials confirmation and workspace organization
  • April 28-May 1: Schematic design and PCB design final adjustments

Phase 2: Integration and Software Development (May 8-20)

  • May 1-5: Integration of GPS, solar radiation, temperature, pressure, humidity sensors
  • May 3-9: Programming the Ground Station display and data acquisition
  • May 7-12: Wireless communication setup between CanSat and Ground Station
  • May 12-15: Initial complete system testing

Phase 3: PCB Fabrication and Prototyping (May 1-7)

  • May 15-18: Fabrication of development board (PCB)
  • May 18-20: Assembly and soldering

Phase 4: Testing, Debugging and Final Adjustments (May 21-27)

  • May 20-24: Field testing and adjustments
  • May 20-26: Final fixes, documentation, and backup plans

Phase 5: Contingency and Delivery (May 28 - June 2)

  • May 26 - May 28: Target final delivery
  • May 28-June 2: Contingency days for unexpected issues
Key Features of a CanSat

  • 📡 Real-World Applications

    CanSats provide experience in data collection, telemetry, and satellite operations.

  • 🛠️ Modular & Scalable

    CanSats use real satellite principles but on a smaller scale, making them affordable and practical for students.

  • 🚀 Launch & Recovery

    CanSats are deployed using rockets, drones, or balloons to simulate real satellite missions. In my case I will use a ballon for deploy

  • Hands-on experience

    Hands-on experience with electronics, sensors, programming, 3d design and data transmission

🛰️ CanSat Full Design

This is the preliminary design of the CanSat, including its modular structure and essential components. The design follows a compact form factor to fit within a standard soda can, ensuring lightweight and efficient deployment.

CanSat Full Design


Cansat Module Structure

A compact satellite-in-a-can that collects and transmits data, including

  • Temperature
  • GPS Location

Designed with modular construction, allowing for easy assembly, maintenance, and component replacement.

CanSat module structure

Cansat Ground Station

The Ground Station is a 3D-designed system that enables visualization of all environmental variables measured by the CanSat. It provides real-time tracking of the CanSat’s location in the field, ensuring accurate data collection and analysis.

CanSat Ground Station

Bill of Materials

Component Model/Type Description Quantity Notes
Microcontroller XIAO ESP32-C3 Main control unit 1 For all logic, processing, and comms
GPS Module NEO-M8N Receives geographic position data 1 Connected via UART
Temperature Sensor BMP280 Used for temperature only 1 I2C connection, pressure not used
LoRa Module RA-02 Long-range wireless communication 1 SPI interface
Voltage Regulator LM2596 Buck converter for power supply 1 Steps down voltage for safe operation
Battery BRC18650 (3.7V) Lithium-ion battery cell 2 Connected in series for 7.4V
Custom PCB - Custom-made circuit board 1 Designed and milled for this project
3D Printed Case PLA Custom enclosure for components 1 Provides mechanical protection
Foam Padding - Impact absorption as needed Bottom and sides of enclosure
Male & Female Headers - For modular stacking/connection as needed Used between CanSat stages
Fixed Battery Connector - Secure connector for battery 1 Prevents accidental disconnection
Wiring & Assembly - Internal wiring and fasteners as needed For secure assembly

System Diagram

System integration involved connecting all the electronic modules of EduCanSat: the microcontroller, sensors (such as temperature, pressure, and GPS), LoRa communication, and the power supply. Each component was tested individually, and then as part of the complete system to ensure seamless operation.

Integration Diagram

Weekly Contributions to the Final Project

Throughout the course, each week's activities have significantly contributed to the development of the EDUCANSAT project. Below is a summary of how the skills and knowledge acquired have been integrated:

  • Week 1: Defined the preliminary idea for EDUCANSAT, planned the project structure, and organized documentation.
  • Week 2: Modeled early versions of the CanSat and ground station in 2D and 3D design tools.
  • Week 4: Manufactured the first PCB to gain experience for later custom boards.
  • Week 5: Designed basic circuits and PCB layouts for sensor integration. Included circular pcb for CanSat.
  • Week 6: Practiced embedded programming, debugging, and microcontroller interaction.
  • Week 7: Acquired skills in CNC machining for structural components.
  • Week 9: Integrated input devices. It Will be useful for integrate CanSat's Sensors
  • Week 10: Worked with output devices for visual feedback and actuation.
  • Week 11: Learned about networking and communications between multiple devices.
  • Week 14: Learned about interface and application programming
  • Week 15: How I can integrate all the components in a same system

Each assignment progressively strengthened the technical foundation required to implement the EDUCANSAT project successfully.


Design and Fabrication of the PCB

a. Electronic schematic and PCB layout

The PCBs for EduCanSat were designed using EasyEDA and, in some cases, directly in Fusion 360. The board layout features only the necessary traces and holes for the components, focusing on minimizing size and maximizing modularity. Each PCB is single-sided and was designed to be stackable using L-shaped female connectors and matching male headers. This allows the entire assembly to remain compact and easy to integrate with the rest of the system.

PCB Tracks
Fusion 360 PCB

b. PCB milling or manufacturing

The PCBs were manufactured in-house using the Makera Carvera CNC milling machine. I prepared the G-code from the design files and carefully set up the milling process, ensuring proper alignment for each board. Throughout the process, I took several photos and videos to document key steps, including the setup of the CNC, the milling in progress, and the final result just after cutting.

PCB Milling Process

This simulation in Fusion 360 demonstrates the complete PCB milling process. It visually represents how the CNC tool moves along the board, accurately removing the unwanted copper areas and leaving behind the final tracks and pads according to the design.

The following video shows a simulation of the PCB milling process in Fusion 360. In the video, you can see how the CNC machine gradually removes all the excess copper from the board, leaving only the tracks needed for the circuit.

c. Soldering and assembly of components

Soldering was done manually using a soldering iron and tin. I produced several PCBs in order to perfect the alignment between them and ensure that all headers and connectors fit properly for modular stacking. Images and videos show the step-by-step process of soldering and assembling the components on each board, as well as the final assembled stack. The main challenge was aligning the PCBs so that all connections were reliable and the stack remained robust.

PCB Soldering

In total, I fabricated more than 24 PCBs in order to understand how they could be properly aligned. Once finished, it was necessary to rotate each board 180 degrees so that the components on every PCB would always be oriented upwards.

Testing pcbs

Here you can see the entire electronic system assembled and interconnected. This image shows only the physical design of the CanSat.

Testing pcbs

Case/Enclosure Design and Construction

a. 3D design and modeling

The case for the CanSat was designed in Fusion 360. The 3D model was created to fit all the electronic modules and the battery, with special attention to compactness and protection. The bottom part of the case was made thicker to help absorb impacts. I designed internal tabs, located about halfway up the enclosure, to ensure that the electronics and PCBs would not collide with the batteries. The final design also includes external exits for the GPS and LoRa antennas.

3D Model in Fusion 360

In this image, you can see the integration of all the PCBs within the enclosure. I also used 3D models to accurately measure and project the possible heights of the electronic components on the PCBs, ensuring a precise and reliable fit inside the case.

Final Case Render

b. 3D printing or fabrication

The enclosure was 3D printed using PLA material on an Ender 3 V2 printer. Maintaining the correct tolerances was essential to ensure that all parts fit together precisely. The main challenge was to guarantee that the slots for the PCBs and internal components matched the actual dimensions. During testing, students added an extra foam insert at the base to further cushion impacts.

3D Printing Process

The final printed CanSat is shown here. On the right side of the image, you can see a previous prototype, which was tested but found to be too small—it could only fit a low-capacity battery and required even smaller components. The final design allows for a larger battery and full integration of all the main modules, providing greater autonomy and robustness.

Printed Case

c. Assembly and fitting with electronics

The electronics and PCBs are secured inside the case by the internal tabs, which prevent movement and protect the components. The enclosure is closed with a screw-on cap, allowing easy access to the interior for maintenance or upgrades. The design keeps the antennas of both the GPS and LoRa modules accessible and external for optimal communication performance. Images and videos show the fully assembled system with all electronic modules and batteries securely in place.

Case with Electronics Inside

To help slow down the descent of the CanSat, it was necessary to design a parachute. Since the idea is for schools and communities to be able to use easily accessible materials, I built the parachute using a simple plastic bag. I was assisted by my student, Juan Diego Romero, who skillfully used the right tools to create a perfectly shaped semicircle for the canopy.

Case Closed with Antennas

In this video, you can see part of the assembly process of the system. At this stage, each PCB and component is connected intuitively to ensure correct integration and a reliable fit inside the enclosure.

Once both the electronic system, the case, and the parachute have been integrated, this is how the fully assembled CanSat system looks.

Fully Assembled CanSat System

Georeferencing and Image Integration

For the mapping functionality, I started by capturing an image from Google Photos. Using QGIS and its georeferencing tool, I selected multiple reference points on the image and assigned their corresponding latitude and longitude values. After completing the process, I exported the image as a GeoTIFF file (.tiff) to make it compatible with my application.

Georeferencing in QGIS

Here you can see the data from the two reference points used to georeference the image. It is possible to use many more points, which will make the process much more precise and help reduce the error in locating the position of the CanSat.

Georeferencing in QGIS

In the Python application, the workflow began with designing the user interface in Qt Designer, carefully assigning names to each field. I then loaded the .ui file within the Python script, along with the .png map image and the .tiff georeferenced file. Using the Rasterio library, I was able to display the map in the interface and plot the CanSat's real-time position based on the received GPS coordinates.

Application with Map Display

Application Development

GUI design in Qt Designer

The user interface was designed using Qt Designer. The design is straightforward and functional, displaying all the necessary data fields for monitoring the CanSat's status and position.

Qt Designer Interface

Detailed Testing Logs

Below is a sample of the raw data log collected during a field test of the EduCanSat system. This test was carried out in a residential area of Bogotá at around 11:30 pm, with an average temperature of 16 °C. The procedure consisted of leaving the receiver on the balcony of a second floor and then walking in a straight line with the CanSat up to an approximate distance of 150 meters. The available data in the log file reflect the real-time transmission and reception of all measured parameters during this process.

The full log file is available for download here: Download full testing log

Sample Extract:


Received line: 📥 Received: Lat=4.656445,Lng=-74.064677,Sat=3,Alt=2547.1,T=16.24C | RSSI: -65 dBm | SNR: 11.5
Received line: 📥 Received: Lat=4.656445,Lng=-74.064677,Sat=0,Alt=2547.1,T=16.23C | RSSI: -62 dBm | SNR: 13.5
Received line: 📥 Received: Lat=4.656445,Lng=-74.064677,Sat=3,Alt=2547.1,T=16.22C | RSSI: -62 dBm | SNR: 13.5
Received line: 📥 Received: Lat=4.656445,Lng=-74.064677,Sat=3,Alt=2547.1,T=16.21C | RSSI: -61 dBm | SNR: 15.3
Received line: 📥 Received: Lat=4.656445,Lng=-74.064677,Sat=3,Alt=2547.1,T=16.20C | RSSI: -60 dBm | SNR: 14.8
Received line: 📥 Received: Lat=4.656445,Lng=-74.064677,Sat=3,Alt=2547.1,T=16.21C | RSSI: -61 dBm | SNR: 12.8
Received line: 📥 Received: Lat=4.656445,Lng=-74.064677,Sat=3,Alt=2547.1,T=16.21C | RSSI: -61 dBm | SNR: 11.5
Received line: 📥 Received: Lat=4.656445,Lng=-74.064677,Sat=3,Alt=2547.1,T=16.21C | RSSI: -55 dBm | SNR: 12.3
Received line: 📥 Received: Lat=4.656445,Lng=-74.064677,Sat=3,Alt=2547.1,T=16.21C | RSSI: -55 dBm | SNR: 13.8
  

Explanation of each variable:
Lat: The latitude where the CanSat is located, expressed in decimal degrees.
Lng: The longitude where the CanSat is located, expressed in decimal degrees.
Sat: Number of GPS satellites used for positioning at that moment.
Alt: Altitude of the CanSat above sea level, measured in meters.
T: Temperature measured by the onboard sensor, in degrees Celsius (°C).
RSSI: Received Signal Strength Indicator, representing the power of the radio signal received by the ground station, in decibels-milliwatts (dBm).
SNR: Signal-to-Noise Ratio, indicating the quality of the received signal compared to background noise. Higher values mean better signal quality.

The Arduino IDE was used to program the XIAO ESP32-C3 boards and verify the correct operation of the system. The serial monitor allowed me to check that the communication between the CanSat and the ground station was effective.

Arduino IDE Serial Monitor

Once the communication between the ground station and the CanSat was verified, the Python code was developed and can be found at the bottom of this page. This script opens the serial port where the XIAO is connected, and the data readings obtained in the terminal are shown in the image below.

Python Serial Output

Serial data parsing and visualization

The application processes incoming data in real time, displaying all relevant fields such as latitude, longitude, altitude, temperature, RSSI, and SNR. Only the most recent data is shown for each field, ensuring that users can quickly monitor the current state of the CanSat.

The map in the application updates automatically as new data is received, marking the current location of the CanSat. The application can also display all previous positions, allowing users to visualize the entire trajectory followed by the CanSat during its flight or descent.

App Map with Trail

To achieve the final result, I first developed several preliminary logical processes in an inductive way. For example, the initial version of the interface was designed to plot coordinates that I manually entered based on Google Maps, as shown in the image.

Manual Coordinates Plot

Lessons Learned / Challenges Overcome

The greatest technical challenge was achieving reliable communication and alignment between the stacked PCBs and soldering all the components properly. There was a point when I thought the project would not work: I had incorrectly connected the LoRa communication module, forgetting that the XIAO ESP32-C3 requires specific pins for SPI communication. This caused repeated initialization failures until I corrected the wiring and connected the components properly.

Through this process, I learned a lot about system integration—how important it is to plan how each stage and component will be connected. Integration is a key concept that defines the structure and flow of the entire project.

More than technical errors, the biggest obstacles were budget constraints. For example, I initially wanted to include a standalone visualization (without a computer) using a Raspberry Pi and a touchscreen, but due to high costs I had to opt for visualization through a computer application instead.

Improvements / Future Work

For future versions of EduCanSat, I would implement better connectors between the PCBs and focus on improving the finish and professional labeling of the boards. I would also work on a modular approach, allowing sensors and development boards to be swapped or upgraded without the need for additional soldering—making the system even more flexible and user-friendly.

My vision is for diverse communities to have access to a CanSat development kit that they can easily incorporate into their classes, expanding the reach and impact of hands-on STEM education.

Acknowledgements

I would like to thank all my instructors from the Peru node, who always gave feedback aimed at improving the quality of my work and supported me throughout this challenging journey. Balancing my responsibilities as a program director, pursuing a specialization and a second master’s degree, handling program accreditation renewal, working on study units, and dealing with health issues was not easy. Overcoming all these circumstances, always guided by true mentors, has been deeply gratifying.

I especially want to thank Silvana and LuisMi, who always accompanied and guided me along the way, no matter the hour, always offering options, solutions, and a genuine desire to contribute to my growth.

I also want to thank Pradnya Shindekar, my global instructor. Her feedback was always an opportunity not just to improve, but also to recognize what was going well. At Fab Academy, assessment and quality matter, but what truly makes a difference is the support, encouragement, and trust that an entire community can provide.

!GRACIAS TOTALES!

Downloads

Here you can download all the source code files used in the EduCanSat project, including the CanSat firmware, the ground station firmware, and the Python visualization app.