Project

# Title Team Members TA Documents Sponsor
42 FPV Drone Custom Flight Controller
Hulya Goodwin
Jaelynn Abdullah
Muhammad Rabbani
Jason Jung design_document1.pdf
final_paper1.pdf
grading_sheet1.pdf
presentation1.pptx
proposal1.pdf
# Team Members:
Muhammad Rabbani (rabbani3)
Hulya Goodwin (hyg2)
Jaelynn Abdullah (jja8)
# Problem:
Building a custom drone from scratch requires both hardware and software development, particularly in designing an efficient and reliable flight controller. Most off-the-shelf flight controllers come with proprietary firmware, which limits customizability. For advanced applications such as autonomous navigation, swarm coordination, or precision control, users require deeper access to the flight algorithms and hardware integration.
Our goal is to develop a fully functional flight controller to run an FPV drone system. The system is broken down below.
# Solution
We plan to design a custom flight controller that interfaces with drone hardware to provide real-time flight stability and navigation control. The system will consist of a microcontroller-based flight control unit, sensor fusion for IMU data processing, motor control algorithms, and wireless communication for user input.
Our custom firmware will handle:
Sensor data processing (gyroscope, accelerometer, magnetometer)
PID-based flight stabilization
Motor speed control via pulse-width modulation/ESC
Wireless communication for remote control
Constant streaming of the drone’s live camera feed
Manual and autonomous flight modes
Additionally, we will construct a drone frame through 3D printing or PCB design and integrate all components, ensuring a robust and modular design for future improvements.



# Solution Components
## Subsystem 1 – CPU
STM Microcontroller
This subsystem processes sensor data, computes control outputs, and interfaces with the drone’s actuators. We will use Betaflight to handle:
PID (Proportional-Integral-Derivative) control loops for pitch, roll, and yaw stabilization.
Sensor fusion algorithms to accurately estimate the drone’s orientation.
Communication protocols (I2C, SPI, UART) for sensor integration.
The STM32F405 microcontroller is a good candidate due to its real-time processing capabilities


## Subsystem 2 - Sensors
The flight controller must read and process sensor data in real time to maintain stability and control. This subsystem will include:
IMU (Inertial Measurement Unit): Includes an accelerometer and gyroscope to determine the drone’s orientation.
We will likely use the MPU6050 or ICM-20948 for IMU data


## Subsystem 3 - Power
Within our system, the STM32 requires 3.3V and some components require up to 12V. With this, a 4S battery rated for 14.8V and can provide up to 1400mAh will be used to power the Flight Controller, motors, and peripherals. Using a voltage regulator will ensure that the components are getting the correct voltage and a simple voltage divider component will be added to ensure we can send 3.3V for the STM. Since we are using brushless motors, there will not be a need for an H-Bridge. The battery specifically would be a BetaFPV 4S 450mAh 75C.


##Subsystem 4 - Telemetry System
We will purchase a radio transmitter (LiteRadio 3 SE Radio Transmitter from BETAFPV) in the shape of a game controller to allow us to control the movement of the drone. It uses Tx protocol ExpressLRS to transmit the user's input to the radio receiver. The radio receiver will be an ELRS Nano Receiver (from BETAFPV) with a receiver protocol CRSF to communicate between the receiver and the FC. The FC then communicates with the KISS 24A ESC that will be using ESC protocol Dshot to control the speed of the motors.


## Subsystem 5 - Physical Drone
The physical drone will be made by us. This frame will either be 3D printed and sanded down for aerodynamics or made of PCB material that’s insulated and separated from the flight controller PCB in case of a crash. It will be an X-Frame Quadcopter with a larger center to place the FC on. If our frame is not flyable, then there are cheap drone frames we can purchase as well. For the motors, we will probably stick with the same brand and use BetaFPV 1404 3800KV.


## Subsystem 6 - Camera + Goggles
For using analog communication, a Caddx Ant Lite or a Runcam Nano 3 would be useful considering we are using a MAX7456 OSD. To broadcast this device, we would need a plug in receiver for the phone, however, the latency would be an issue. For staying within our budget, a Eachine ROTG02, however, has a latency near 100ms. We can utilize apps online (such as GoFPV and FPViewer) but if time allows, we can make our own interface. For the phone, we will create a housing similar to Google's Cardboard.




## Criterion For Success
We will demonstrate a working flight controller that has full control over our various subsystems: We receive live data from our sensors. We receive live video from our camera. We have complete control over our power subsystem and various motors to achieve synchronous motion. Our micro controller has our custom/modified program to completely analyze our sensor data to control our motors in response to our orientation and inputted controls.










El Durazno Wind Turbine Project

Alexander Hardiek, Saanil Joshi, Ganpath Karl

El Durazno Wind Turbine Project

Featured Project

Partners: Alexander Hardiek (ahardi6), Saanil Joshi (stjoshi2), and Ganpath Karl (gkarl2)

Project Description: We have decided to innovate a low cost wind turbine to help the villagers of El Durazno in Guatemala access water from mountains, based on the pitch of Prof. Ann Witmer.

Problem: There is currently no water distribution system in place for the villagers to gain access to water. They have to travel my foot over larger distances on mountainous terrain to fetch water. For this reason, it would be better if water could be pumped to a containment tank closer to the village and hopefully distributed with the help of a gravity flow system.

There is an electrical grid system present, however, it is too expensive for the villagers to use. Therefore, we need a cheap renewable energy solution to the problem. Solar energy is not possible as the mountain does not receive enough solar energy to power a motor. Wind energy is a good alternative as the wind speeds and high and since it is a mountain, there is no hindrance to the wind flow.

Solution Overview: We are solving the power generation challenge created by a mismatch between the speed of the wind and the necessary rotational speed required to produce power by the turbine’s generator. We have access to several used car parts, allowing us to salvage or modify different induction motors and gears to make the system work.

We have two approaches we are taking. One method is converting the induction motor to a generator by removing the need of an initial battery input and using the magnetic field created by the magnets. The other method is to rewire the stator so the motor can spin at the necessary rpm.

Subsystems: Our system components are split into two categories: Mechanical and Electrical. All mechanical components came from a used Toyota car such as the wheel hub cap, serpentine belt, car body blade, wheel hub, torsion rod. These components help us covert wind energy into mechanical energy and are already built and ready. Meanwhile, the electrical components are available in the car such as the alternator (induction motor) and are designed by us such as the power electronics (AC/DC converters). We will use capacitors, diodes, relays, resistors and integrated circuits on our printed circuit boards to develop the power electronics. Our electrical components convert the mechanical energy in the turbine into electrical energy available to the residents.

Criterion for success: Our project will be successful when we can successfully convert the available wind energy from our meteorological data into electricity at a low cost from reusable parts available to the residents of El Durazno. In the future, their residents will prototype several versions of our turbine to pump water from the mountains.