A control system for an open-source rocket engine

Deutsch English Español Français Italiano

The following article was written by Mohamed Amine, as a debrief on his internship within the EVE Project between May and August 2021.


As we enter the second era of the space race, important questions arise regarding the democratization of access to space. To address this concern, open-source entities, like the Open Space Makers, can be the right answer. To power the future of open-source space vehicles, Eve, a project team of the Open Space Makers, endeavoured to build one of the first open-source rocket engines.
Liquid rocket engines have several benefits including high efficiency and the capacity to be restarted and refuelled, making them suitable for deep space exploration. Therefore, Eve was chosen to be a liquid rocket engine. Furthermore, to build on the experience of its precursors, Eve is projected to be powered by methane, an abundant fuel that offers a good compromise between density and efficiency.
During the combustion of a rocket engine, it is important to monitor closely its condition and to stay in control of its operation. To accomplish this task, I have been granted an internship by McGill’s Global Challenges Award and the Open Space Makers for the summer of 2021 to build an open-source control system for Eve.


The objective of my internship was to design a control system for EVE: An open-source liquid rocket engine. The control system I built includes the following features.

A complete data acquisition system

A microcontroller connected to the engine collects temperature, pressure, and load data. The data collected is then transmitted wirelessly over Wi-Fi to a remote computer station. I also wrote a simple program so that the computer station can receive data wirelessly and save it to a CSV so that this data can be reused later.


Flow control

The microcontroller can control the amount of propellant, oxidizer and extinguisher that can flow into the combustion chamber. To do so, the engine controller interacts with the valves in the pipelines to control how much of each fluid can flow in. During my internship, I didn’t have any tanks, so I decided to simulate only one of the engine’s feedlines for testing and verification.

An intelligent control system

By combining data acquisition, flow control and other simple components we can conduct complex operations on the rocket engine. For example, by combining flow control and pressure data from the tanks, we can verify remotely that valves can open and close correctly. Also, by combining the sensors with flow control, we can instruct the microcontroller to run an automatic abort followed by a safe extinguishing of the combustion chamber when abnormal pressure or temperature is detected.



I had a lot of fun assembling and testing the system. Here are some pictures of the final control system I have assembled.

Although I couldn’t build the combustion chamber during my internship (it requires advanced tools), I have built all the electronic components that will be part of it. The light bulb is to verify that the logic of the igniter works correctly.


These wires are used to return data from the sensors or to send control signals to the valves. The two rectangular metallic boxes are DC power sources that are required to operate the valves and certain sensors. The square board in the middle of the image is a relay module. When used correctly, a relay module isolates the microcontroller from the power sources at the bottom, resulting in a much safer system.
The images in Figure 4. to Figure 6. are all connected. I have divided the control system into three images so that it is easier to visualize.



Challenges of the internship

Engineering is all about problem-solving. During my internship, I faced important challenges every week.
The one that stands out the most is wireless communication. Combustion is a very rapid process, and every millisecond counts when it comes to controlling an engine. During operation, it happens that the microcontroller, the brain of the system, experiences a disconnection. The greatest challenge I faced during this internship was to write an event handler that can recover from telecommunication errors. I have identified more than 14 different possible TCP connection errors but could only reproduce 5 of them during my tests.
Greatest accomplishment

My greatest accomplishment is to connect and assemble all the components so that the system works correctly. All the components that can be seen in Figure 4. to Figure 6. are from different manufacturers. Each component has unique requirements in terms of power, wiring and interfacing. All the sensors and valves I used had different protocols to communicate with them and use them. My greatest accomplishment is to assemble all these different pieces into a coherent system and make them work in harmony to achieve the needs of the control system. Achieving this required learning, testing, and never giving up.

Work Experience

During this internship, I evolved from a clueless student to a confident electrical engineer.
I have learned to:

  • Build and assemble a control system.
  • Solder.
  • Use a logic analyzer.
  • Write C++ code.
  • Write Python scripts.
  • Understand MQTT and TCP/IP.
  • Understand how microcontrollers, control, and data acquisition work.
  • Understand several mechanical engineering concepts related to combustion, fluids, and flow.

I have also developed:

  • My coding skills.
  • My knowledge of PSpice.
  • My understanding of embedded systems and their unique constraints.

Future selection of courses

This internship confirmed to me that I want indeed to become an embedded systems engineer. During this internship, I learned that embedded systems require a great amount of knowledge of electronics. Therefore, in the future, I will need to take more electronic classes.


At the end of my internship, I believe it was a success because I have achieved my two goals. Firstly, I have learned and improved throughout this whole internship until I became an engineer capable of building a control system. Secondly, at the end of the internship, the control system was able to perform most of the data acquisition and control tasks that Eve needed.
Already, I can start seeing the benefits of my open-source work as I recently learned that a group of students from Polytechnique will be using my work for their year-long project of building a rocket engine. In the future, I want to keep working on Eve’s control system to improve it further and offer more features, and perhaps even upgrade it to a flight computer.

back to list