CODE Space Program

We are a student-led project group at CODE University of Applied Sciences.
Our goal is to develop a rocket that is capable of a propulsion controlled landing.
We write our own software, solder our own flight computer circuitry, and 3D-print our own parts.
The first phase started on March 6th 2025, when we officially kicked off the project.
Five weeks later, on April 12th, we performed our first three launches using our V1 rocket design.
We are currently taking a break, and plan to pick up the project again sometime in summer 2025.
Overview
The rocket is propelled by a D9 rocket motor that provides nine newtons of thrust.
Under ideal conditions, the rocket would reach an altitude of 25 meters, but due to imbalances and wind, it will naturally start to tilt.
To combat this, we have a thrust vector control system (a gimbal that can tilt the rocket motor in all directions using two 9g servos), which will attempt to hold the rocket perfectly vertical.
We don’t control the TVC manually, it is autonomously controlled by our flight computer.
The flight computer makes its decisions based on two sensors: a gyroscope, which measures the angle of the rocket relative to the ground, and a barometer, which measures the air pressure, giving us an estimated altitude.
Once the ascent motor has burned out, the rocket will begin to fall.
At a moment determined by our flight simulation, the flight computer will ignite a second motor, which will break the fall of the rocket, and ideally make it land in one piece.
Since we’ll have the same stability issues on the descent that we had on the ascent, the second motor will be controlled by the TVC system as well.
During the entire flight, the flight computer will transmit live data to our server, which we will later analyse to help us tweak parameters for the next flight.
The rocket design is based around parameters we got from OpenRocket, a flight simulation software.
Software
All our software is open source and available on GitHub.
The flight computer code is written in c++. It uses the Arduino ecosystem and runs on an ESP32 microcontroller.
The flight computer communicates with our server, which also hosts our website spaceprogram.bolls.dev.
The website includes a live dashboard for analysing the flight data.
Our backend code is written in TypeScript, and we use MongoDB as a database.
Since our first flight will only reach a low altitude, we will be able to use HTTP over a wifi connection to communicate with the flight server.
For future flights, we will likely switch to radio-based communication.
Electronics
We use a single ESP32 microcontroller to read data from our sensors (MPU-6050, BMP390), and control two 9g servos via a PCA9685 board.
It also controls the ignition of the rocket motors via two MOSFETs.
On the first prototype, the components are connected by wires.
For future rockets, we will design a custom printed circuit board, both to save space and to have more reliable connections between the components.
Manufacturing
We want to manufacture as many of our components ourselves, both for learning purposes and to have more control over our specific requirements.
The body of the rocket (called the “airframe”) is a 74.5 mm cardboard tube. This is standard for rocketry hobbyists.
We use Fusion360 to model our 3D-printed parts, which include the nose cone of the rocket, the TVC system, a holder connecting the flight computer to the airframe, and a custom battery case.