Lots of no-name or DIY drones use flight controller running a BetaFlight [1] firmware, which is open source and quite hackable. If you want low-level real-time programmatic control (like manipulating servos, lights or camera), that is most likely the easiest way. There is also ArduPilot [2] firmware, which is focused more on the high-level control (like managing GPS waypoints and autonomous takeoff/landing).
In both cases you can piggyback your control signals using standard radio or use serial port via dedicated wireless bridge.
In both cases you can piggyback your control signals using standard radio or use serial port via dedicated wireless bridge.
[1] https://github.com/betaflight/betaflight
[2] https://ardupilot.org/