This project is about creating a self-leveling model-rocket launchpad, which levels itself according to its gyroscope data. We also built our own weather station in order to measure the wind speed and direction as well as other basic information about the weather. This information helps us to position the launch pad correctly to achieve a higher altitude and a better flight path. The launch of the rocket (the ignition of its motors) from the launchpad shall be controllable with a custom-built remote-controller. After the rocket has been launched we receive live-data from the rocket, which is then processed and plotted onto a self-designed flight data dashbaord and stored in a time series database. All the communication between the different microcontrollers (launch pad, rocket, remote controller, and control desk) is based on the LoRa protocol.
Hardware Requirements (Alternative parts may also apply):
Launch Pad:
- ESP-32 with integrated LoRa (We are using the LILYGO TTGO LORA32)
- 3 Servos (We used MG996R)
- MPU6050 (Gryoscope + Accelerometer)
- Optional: Servo shield
- Three AA batteries + battery holder (optional)
Remote Controller
- ESP-32 with integrated LoRa (We are using the LILYGO TTGO LORA32)
- 4 digit 7 segment display
- Shift register (SN74HC595N)
- Two push buttons
- Four PN2222 transistors
- Two 10K-ohm resistors
- Four 5K-ohm resistors
- 9V battery
- Arduino IDE
Setup the LILYGO TTGO LORA32 board:
- In the Arduino IDE open preferences
- Add https://dl.espressif.com/dl/package_esp32_index.json into the “Additional Board Manager URLs” field
- Open the Boards Manager and add ESP32 by Espressif Systems
Required Libraries: