u/Flashy_Net_6985

Building a drone from absolute scratch as a 1st year student — no Betaflight, no ready-made FC, everything coded by hand ?

Building a fully custom autonomous quadcopter from scratch — no Betaflight, no off-the-shelf FC. Looking for advice

Hey everyone! I'm a 1st/2nd year engineering student and I'm building a drone called **Raya** completely from the ground up over 6 months — firmware, transmitter, airframe, everything. No Betaflight, no pre-made flight controller. Here's what I'm working with:

The drone brain

- Arduino Nano running a custom PID algorithm (reads MPU6050 IMU, outputs PWM to 4 ESCs at ~500 Hz)

- Arduino Uno handling all the autonomy logic (optical flow, ultrasonic sensors, flight mode management)

- These two talk to each other over UART serial

Flight modes I'm building

  1. Manual— full stick control, Nano keeps it stable

  2. Stable mode— toggle it and Raya holds position + altitude using a PMW3901 optical flow sensor and HC-SR04 ultrasonic (no GPS)

  3. Normal landing — manual throttle-down

  4. Kill switch— one toggle triggers a fully autonomous safe landing sequence, cuts motors on touchdown

Custom transmitter

- ESP32 + LoRa SX1278 (433 MHz) for ~2–3 km range with zero WiFi — pure radio

- Dual analog joysticks, 0.96" OLED showing battery + flight mode, mode toggle and kill switch

- The drone also has an ESP32 as the radio receiver, which forwards everything to the Uno over UART

AirframeF450 frame with everything mounted custom — prop guards, rubber dampeners, foam-padded electronics bay, zip-tie breakpoint arms

Total budget: under ₹7,500 (~$90 USD

I'm learning all the physics and writing every line of code myself. Currently at the start of the journey and trying to understand as much as possible before I start building.

A few things I'd love input on:

- Any tips on tuning a PID from scratch without an oscilloscope?

- Best way to test the motor mixing algorithm before the frame is assembled?

- Anyone used PMW3901 for indoor position hold on a homebrew FC? How reliable is it?

Happy to share more details, schematics, or code as I progress. Thanks in advance!

reddit.com
u/Flashy_Net_6985 — 16 days ago