In the UK CanSat Competition, teams are tasked with designing and building a can-sized satellite capable of completing two missions: a Primary Mission set by the European Space Agency, and a Secondary Mission defined by the team.
We selected air quality as the focus of our secondary mission due to its growing relevance in urban environments and its direct impact on public health. Monitoring pollutants and atmospheric conditions is a critical challenge faced by cities, agencies, and researchers, yet it often requires expensive and complex infrastructure. By centring our mission on air quality, we aimed to demonstrate how a low-cost CanSat platform could contribute to systematic data collection, making such measurements more accessible, scalable, and practical, while also raising awareness and improving health.
I was the project's Technical Engineer, responsible for developing the satellite's electronics and firmware. My role was to design a system that combined the multiple sensors required to complete both the primary mission and our secondary mission - selecting appropriate sensors, radio modules, and microcontrollers, as well as equipment for the base station. I also wrote the CanSat's firmware to ensure data was reliably collected in-flight and transmitted back to the ground station for live display on our dashboard.
Collaboration was central to this role: I worked closely with the software engineer and science team to ensure everything lined up and stayed in sync, while also coordinating with the mechanical team so that the electronics integrated seamlessly into the can's frame.
We began by identifying the variables to measure and selecting suitable sensors. To handle data collection and transmission to a ground station, we chose NRF2401 transmitters and receivers. For processing, we used the Arduino-compatible Teensy 4.1, valued for its strong performance, large memory, and versatile I/O.

We carried out a standard test suite, verifying each sensor and component individually and making adjustments where necessary. We then performed range tests on the radio modules to ensure reliable communication for the duration of the flight. From these results, we finalised the parts list.

I then considered how all the subsystems would work together, calculating the expected power usage for every component. Based on this, I selected a suitable battery and produced a wiring diagram. I also worked with our mechanical lead to ensure all parts could fit within the strict volume constraints, making design adaptations where necessary to accommodate wiring and integration.

I wrote the can firmware, implementing a proprietary packetising algorithm to work around the radio modules’ buffer limits and to tolerate dropped or corrupted frames. I also developed a complementary ground-station firmware that receives the packets, logs them to SD for backup, and forwards them to the dashboard for live display and replay.

The above is a 3D visualisation of the data we collected during our flight. The colour of the sphere corresponds to the Health Index (Air Quality) at that given point.
