We’re looking to onboard people who are passionate about contributing to the next generation of space exploration.
Join MIST
Recruitment Process
Pre-Application - A list of positions the team is recruiting for is provided in the following section. Please review the list to see which sub-teams and positions are of interest to you.
Application Submission - Please fill out the form linked below. This form allows the team to learn more about your skills and experiences. In order to gain a better understanding of your experiences, we request a cover letter and Resume/CV. Although not required for all positions, applicants are encouraged to submit a portfolio with past work/relevant projects.
Application Review - Following submission, MIST will review applications. Applicants of interest will be invited to attend an interview to assess compatibility for the team. Applicants are required to submit an unofficial transcript. For those with grade points below 4.0 on the McMaster grade scale, please submit additional supporting documents such as project files, portfolios, etc.
Applicant Acceptance - Successful applicants will be notified via email and given a time period to accept the offer and begin the onboarding process.
Open Positions
-
Description
Wait... STOP! You are skipping over this posting! It is probably the best one on here (Disclaimer: Some bias may be present). Have you ever wondered how antennas work? What about designing some high frequency (radio-frequency and microwave) technology you hear about but never really experienced? Communications is the home to all this and you are one application away.
The communications team is responsible for establishing and maintaining a wireless communication link to the satellite once deployed into orbit some 500km above the Earth's surface. The communication team is broken down into two sub-teams consisting of a space segment team and a ground station team. As a Hardware Specialist, you will be responsible for continuing development of the antenna module printed-circuit board, and related technologies. This will involve working with radio and microwave frequency components, electric circuit design, and more!
If you are a keen individual looking for some hardware experience please apply. You will get the opportunity to be trained and write the Basic Amateur Radio Operator Certificate (https://ised-isde.canada.ca/site/spectrum-management-telecommunications/en/licences-and-certificates/radio-authorizations/amateur-radio-operator-certification) which allows a user to operate the ground station. As well as learn what it takes to establish these wireless connections we take for granted every day!
Main Tasks and Responsibilities:
Test communication hardware and antennas for performance and reliability.
Develop electrical part of deployment mechanism for solar panels
Further develop the antenna module, including PCB design and fabrication.
Develop comprehensive test plans for communication systems.
Conduct software testing
Perform Assembly, Integration, and Testing (AIT) for communication and antenna modules.
Attend weekly meetings and take part in group discussions.
Requirements:
Must be able to come in person to campus to perform testing.
Enrolled in Electrical Engineering, Mechatronics Engineering, the Bachelor of Technology or have equivalent electrical/hardware experience.
Basic understanding of electrical theory and circuits (digital and analog)
Altium or related CAD software experience
Knowledgeable in hardware design for complex, multifaceted systems.
Must have good teamwork and communication skills, presentations and updates on work is required
Preferences:
Knowledge and/or interest in Electromagnetics, Microwaves and Communication
Basic understanding of electromagnetic theory, radio frequency (RF) design and/or antenna design
Experience with hardware assembly and testing
Comfortable working with test equipment such as Vector Network Analyzers (VNAs), Spectrum Analyzers, Oscilloscopes, Multimeters, Power Supplies, Etc.
Previous mechanical design experience
Previous manufacturing or testing experience
-
Description:
You know that moment when your code finally compiles and runs? Now imagine it running in space overhead, keeping a satellite alive.As an Embedded Software Developer with the Command and Data Handling (CDH) team, you could experience exactly that. From designing mission critical software to testing and validating an integrated system, you would get to work with the satellite's flight computer and the CDH subsystem to ensure reliable functionality of the satellite while in orbit.
The CDH subsystem oversees the handling of the satellite's data. This includes processing, storing and moving data around to various subsystems. It acts as an interface between the ground station commands and all other components of the satellite in addition to storing the health of the satellite.
If you love space and live for dark mode everything, consider joining our team!
Main Tasks and Responsibilities:
Design and implement applications, APIs and device drivers for a satellite flight computer using C
Develop test plans, execute test cases and report results to ensure software and system validity
Troubleshoot and document issues encountered during testing
Document understanding of yours as well as the team's software applications and functionality
Follow the coding standard developed by the software team in all aspects of software development
Attend weekly meetings
Requirements:
Enrolled in Mechatronics Engineering, Computer Engineering, or a related field
C/C++ coding experience, C preferred
Must have good teamwork and communication skills as presentations and updates on work is required
Preferences:
Prior experience in C programming is highly recommended ( taking an Intro/Intermediate course on C programming counts)
Experience with microcontrollers and embedded system design
Experience using Git (or similar version control software)
Side projects showcasing initiative and embedded software experience
Experience working with Real-Time Operating Systems (RTOS) specifically FreeRTOS is an asset
Knowledge of CMake is an asset
Strong problem solving and debugging skills
Ability to work independently
-
Description:
Want to write code that actually steers a spacecraft? This is the goal of the ADCS team, and we're looking for someone to help us do it!
We're looking for 1-2 Software & Simulation Specialists to contribute to the development of flight software and simulation infrastructure for our satellite mission.
ADCS is responsible for determining and controlling the satellite’s orientation in space. In this role, you will simulate ADCS algorithms and design the embedded software that brings them to life. This work requires a combination of software engineering, simulation, and systems-level thinking.
If you are interested in applying both software and analytical skills to a real satellite mission, we'd love to hear from you!
Main Tasks and Responsibilities:
Design, develop, and optimize software for the ADCS onboard computer, including interfacing with sensors and actuators
Implement and optimize control and determination algorithms for embedded systems
Develop simulation environments in MATLAB and Python to model spacecraft dynamics and control behaviour
Perform simulations of satellite maneuvers and validate control system performance under different operating conditions
Analyze simulation results and communicate findings to the team to guide system design decisions
Integrate ADCS software into the broader flight system
Requirements:
Experience with programming in C/C++, MATLAB, or Python
Familiarity with embedded systems or microcontroller-based development
Basic understanding of dynamics and numerical simulation
Familiarity with software development best practices such as version control, testing, and documentation
Preferences:
Experience with simulation-based analysis, physics-based modelling, or scientific computation
Familiarity with communication protocols such as CAN, I2C, or SPI
Knowledge of rotational dynamics, electromagnetic theory, or control theory
Experience with STM32 development
Enrolled in Computer Engineering, Software Engineering, Engineering Physics, Computer Science, Physics, or a related program
-
Description:
Have you ever imagined yourself in the NASA mission control room, waiting with excitement for the launch of a rocket or deployment of a satellite? Then this is the position for you!! Were building our very own mission control center right here on McMaster's campus and we need your help!!
The Mission Operations & Control team is responsible for building the software infrastructure for our ground station. This software will allow us to send commands to the satellite, and receive/visualize data transmitted from our satellite to the ground. All of the data received from the satellite will be displayed in our Grafana dashboard, along with data from a variety of sensors monitoring our ground station.
As a MOC software developer and automation engineer, your role will involve developing scripts to automate the collection and processing of data from a variety of sensors on our ground station, as well as data from devices on the CubeSat. You will be responsible for the development and maintenance of systems and tools related to the mission, with a focus on data visualization, scripting, and Linux server management.
MOC is also looking for support in integrating with other aspects of the CubeSat, if you have experience doing embedded development that would be a huge plus! The best part about working with MOC is you will have the opportunity to touch every portion of the mission, starting at the user interface design, all the way to the low-level C code.
Main Tasks and Responsibilities:
Design and develop reliable, high quality software related to:
Data Collection and Processing
Automation of processes
Simulations/test procedures
Flight software integration
Ensuring all work is thoroughly documented
Communicate updates at weekly meetings
Requirements:
Enrolled at McMaster University
Ability to effectively use git
Experience working in Linux environments
Experience with Python
Proficiency in Bash scripting and other scripting languages
Experience with front-end development
Experience with databases and backend API development
Experience with low-level software languages such as C
Embedded development experience
Preferences:
Experience with SQL / NoSQL databases
Experience with Typescript/JavaScript and Web Frameworks
Experience with Grafana or similar data visualization tools
Experience with continuous-integration/development practices
Familiarity with software development best practices, including version control, testing, and documentation
Strong problem-solving and analytical skills
-
Description:
Want to build a system that actually steers a spacecraft? This is the goal of the ADCS team, and we're looking for someone to help us do it!
We're looking for 1-2 ADCS Mechanical & Software Specialists to contribute to the development and verification of the integrated ADCS system, encompassing both the mechanical hardware and flight software for our satellite mission.
ADCS is responsible for determining and controlling the satellite's orientation in space. In this role, you will develop and verify ADCS hardware and flight software as a single integrated system: building and modifying mechanical hardware, writing the embedded software and test infrastructure that runs on it, and closing the gap whenever the two don't agree. This work requires a combination of hands-on mechanical skills, embedded software development, and systems-level thinking.
If you are interested in applying both mechanical and software skills to a real satellite mission, we'd love to hear from you!
Main Tasks and Responsibilities:
Build and modify mechanical hardware for ADCS
Design and implement software infrastructure focusing on hardware control, diagnostics, and test infrastructure
Develop and execute test procedures that exercise ADCS hardware under realistic operating conditions
Diagnose faults that span the hardware/software boundary
Maintain and improve test fixtures, jigs, and harnesses used for ADCS integration and verification
Requirements:
Comfortable working hands-on with hardware (soldering, rework, assembly, hand tools, bench equipment)
Prior exposure to a CAD tool (SolidWorks preferred)
Familiarity with embedded systems or microcontroller-based development in C/C++
Basic understanding of software design, version control, and standard software development practices
Familiarity with test procedure design and execution
Preferences:
Prior experience with technical documentation
Experience with STM32 development
Basic understanding of rotational dynamics, electromagnetic theory, or control theory
Exposure to Matlab
In-person availability
Enrolled in Mechatronics Engineering, Computer Engineering, Mechanical Engineering, Engineering Physics, Electrical Engineering, or a related program
-
Description:
The Payload team is responsible for the collection and processing of radiation data. As a member of the team, you will have the unique experience of being part of a fully self-sustaining sub-system capable of functioning both within the satellite and as an independent instrument outside the satellite in places like a High Altitude Balloon. As a Firmware Specialist, you will be responsible for developing and deploying firmware that will autonomously control the data acquisition of the instrument, as well as the packetizing and transmission of the science data to other teams. This development includes working on custom-designed hardware with low-level embedded programming. Expect to learn more about embedded C, FreeRTOS, and hardware/software communication.
McMaster Interdisciplinary Satellite Team is a student team that puts real satellites into space. We are looking for applicants who share our work ethic and commitment to aid us in this endeavour.
Main Tasks and Responsibilities:
Take part in the software design of the Payload Data Acquisition Module (DAM) on-board the satellite and/or a High Altitude Balloon (applications, APIs, device drivers, designing software architecture, etc.)
Review and test code from other team members
Following the coding standard developed by the team in all aspects of software development
Documentation of your software through the standards set out by the team
Attend weekly meetings and take part in group discussions
Requirement:
Enrolled in Software Engineering, Electrical Engineering, Computer Engineering, Mechatronics Engineering, and the Bachelor of Technology or have equivalent embedded software experience
Any students passionate about software development (Note: We do not expect strong technical skills from lower-level applicants (level I/II) but expect a willingness to learn, interest and dedication.)
C/C++ programming experience, C preferred
Embedded system software architectures (real-time operating systems such as FreeRTOS, low-level chip driver development, board support packages, etc.)
Must have good teamwork and communication skills; presentations and updates on work are required
Continued availability during the summer term
Preferences:
Interested and/or knowledgeable in embedded system software design
Experience with the Xilinx Vivado/Vitis
Experience with HDL (Verilog preferred)
Previous software development experience, either on co-op placements or previous teams
Experience with application task management, scheduling and queuing on lightweight hardware
Experience with GitHub and build servers, along with hardware-in-the-loop automated software testing
-
Description:
The Payload team is responsible for the collection and processing of radiation data. As a member of the team, you will have the unique experience of being part of a fully self-sustaining sub-system capable of functioning both within the satellite and as an independent instrument outside the satellite in places like a High Altitude Balloon. As an Electrical Specialist, you will be responsible for designing, fabricating, and verifying the Data Acquisition Module for radiation instrumentation as well as supporting PCBs for the DAM. This will include prototyping new circuits and working with Altium to draw schematics, layout PCBs, and produce manufacturer packages for fabrication. The Data Acquisition Module is a new digital design based on the Zynq7000 SoC (dual-core Cortex A-9 + Artix 7 FPGA). Through working on the team ,you should expect to learn more about electrical hardware design, working on large schematics shared across multiple members, PCB fabrication methods, and procedures for bringing up a new electrical design.
McMaster Interdisciplinary Satellite Team is a student team that puts real satellites into space. We are looking for applicants who share our work ethic and commitment to aid us in this endeavor.
Main Tasks and Responsibilities:
Take part in the electrical design of the Payload Data Acquisition Module (DAM) and Front End Module (FEM) on-board the satellite and/or a High Altitude Balloon (data acquisition, communications PHY, power management, etc.)
Review and verification of schematics from other team members
Attend weekly meetings and take part in group discussions
Requirement:
Enrolled in Electrical Engineering, Computer Engineering, Mechatronics Engineering, Physics, and the Bachelor of Technology or have equivalent hardware design experience
Any students passionate about electrical systems development
Electrical design experience
Understanding of electrical design concepts
Experience with any ECAD program (Altium, Eagle, KiCAD, etc.)
Must have good teamwork and communication skills; presentations and updates on work are required
Preferences:
Interested and/or knowledgeable in electrical system design
Experience with Altium Designer
Experience with LTSpice
Previous electrical system development experience, either on co-op placements or previous teams
Experience with Altium 365 or other ECAD version control software
Our Subteams
Operations Team
The Operations Team is responsible for the management of internal and external communications for the NEUDOSE team. Our focus is on maintaining a strong social media presence, running events to share our love for space with the McMaster community, and ensuring that the team has what they need for a successful launch. We are also responsible for the recruitment, onboarding, and offboarding of all team members.
Systems Team
Systems Engineering is the most critical subteam of a space mission. We oversee all high-level design and implementation decisions and guide other subteams through each mission phase: concept development, preliminary design, critical design, AIT (assembly, integration, and testing), launch and operation. We focus on maintaining technical documentation and standards along with reviewing and approving design submissions (mechanical, electrical, and software) to ensure that subteams are working together towards a polished and consistent final product that meets all requirements and constraints from internal and external sources.
Attitude Determination & Control System Team
The Attitude Determination and Control System (ADCS) is responsible for controlling PRESET's attitude (i.e. orientation) and angular velocity while it is in orbit. The ADCS subteam's main tasks involve the development of mathematical algorithms (software) that can control both PRESET's attitude and angular velocity, and that can determine PRESET's attitude relative to the Earth. These algorithms will be executed through the use of 3-axis magnetorquers that are designed, manufactured, and tested by the ADCS subteam. Finally, ADCS is responsible for the design of spring-loaded hinges that can deploy PRESET's solar panels outwards, thereby increasing its frontal area (and drag) to deorbit the satellite within the required 5-year time frame.
Radio Communications Team
COMMs is the backbone of establishing and maintaining a communication link between our team located on Earth and the scientific payload in space. A communication link allows for the wireless transfer of data through the use of electromagnetic waves, specifically in the radio and microwave frequency bands.
Establishing this link allows for three key opportunities:
i. The data generated from the science payload can be obtained and analyzed.
ii. The information regarding the satellite system health and each sub-system can be monitored.
iii. Satellite operations can be changed/updated during each orbit cycle.
Command and Data Handling Team
The CDH team oversees the handling of the satellite’s data. This includes processing, storing and moving data around to various subsystems. CDH is the interface between ground crews and all other components of the satellite in addition to monitoring the health and state of the satellite.
Electrical Power System Team
The EPS team is responsible for generating, storing, and distributing electrical power to ensure all satellite subsystems operate reliably throughout the mission. Power generation is handled by solar panels converting energy from the sun into electrical power. This power is stored in a series of batteries for future use by the satellite and then provided to other sub-systems through the power distribution system. All of these systems ensure continuous and stable power delivery under varying orbital conditions. Reliable power is essential for every subsystem’s functionality, making EPS critical to overall mission success and longevity.
Mission Operation and Control Team
The Mission Operations and Control team is responsible for building the software infrastructure for our ground station. This software will allow us to send commands to the satellite, and receive/visualize data transmitted from our satellite to the ground. All of the data received from the satellite will be displayed in our Grafana dashboard, along with data from a variety of sensors monitoring our ground station.
Mechanical Team
The mechanical team is responsible for the design, manufacturing, assembly, integration, and testing of the mechanical structure of the satellite, the central payload, and its deployment mechanisms which include the satellite's antenna and deployable magnetometer. The Mechanical Team is responsible for all mechanical assemblies of PRESET, ensuring that each subteam complies with the mass and volume requirements specified by the launch provider. The team designs, manufactures, assembles, and tests the functionality of the 3U rail structure, mechanical antenna assembly, Electron Spectrometer Telescope (EST) housing, and deployable magnetometer boom. In addition, the Mechanical Team verifies that PRESET can withstand the space environment by simulating its thermal properties in orbit and conducting environmental testing, including thermal vacuum (TVAC) and random vibration tests.
Payload Team
The Payload team is responsible for the mission's scientific payload, creating radiation monitoring instruments that will enable the satellite to fulfill its primary research objectives. Key responsibilities include design and manufacture of data acquisition PCBs to be used in the instrument, writing firmware to control the instrument, and instrument calibration and testing. Members will be able to apply their technical skills to help develop a novel scientific instrument.
Frequently Asked Questions
Q: When is the deadline?
A: MIST recruits on a bi-monthly basis (ie. every other month), where the form will be open for two weeks. If the positions are listed above, it means that we are still actively recruiting for the role!
Q: What is the time commitment for the team?
A: You will be required to join weekly meetings with your designated sub-team (1-2 hours), where the sub-team leader(s) will assign tasks to you and check in on your progress. You will also be encouraged to join weekly general and/or systems engineering meetings (1-2 hours), which consist of team-wide discussions and decision-making. As you get to know more about the team projects, your tasks will become more complex, which will require additional time commitments outside weekly meetings.
Q: Do I need to available on campus?
A: No. Weekly meetings are either fully virtual or hybrid, allowing members to join from anywhere. Sometimes our members will need to access our labs and facilities for in-person development and testing, but this can be arranged for those who are available.
Q: Do you recruit lower/upper year students?
A: We recruit a mix of upper and lower year students. While upper year students bring more experience, lower year students are able to stay on longer and grow with the team. All passionate students are welcome to apply! However, we do require that you have finished your first year of studies to ensure that you can keep up with your academics.
Q: What can I do to increase my chances of being selected?
A: We are always looking for passion, commitment, problem solving and critical thinking skills, so make sure you demonstrate that in your application! For example, this means that we look for personal projects and experiences in addition to coursework. Also, research into the team's goals and projects goes a very long way, especially if you can come up with good questions to ask of the team.
Q: What is the interview process?
A: If selected, you will be interviewed by two or more team leaders for 30-60 minutes depending on the requirements of the role. You will be asked several non-technical questions related to your interest and availability, then several technical questions based on your past projects and experiences. Finally, you will get a chance to ask any questions you may have for the team.
Q: Will I receive support and mentorship after I join?
A: Absolutely! Your sub-team leaders will introduce you to the rest of the team and guide you through the onboarding process. As a team, we write extensive documentation and training materials to facilitate knowledge trasfer. And if you have any questions, everyone on the team will be eager to help you out!