Firmware

Firmware: is low-level code embedded directly into hardware (ROM/Flash) to control functionality, rarely updated, and essential for booting (e.g., BIOS, router OS).
Software: is high-level, user-facing applications (e.g., Windows, apps) stored on disk, designed for user interaction and updated frequently.
What Runs on/Used for Opensource License When to consider
ArduPilot Firmware/Software having very large hobbyist community planes, copters, rovers, subs Yes GPL Long Range
ArduCopter Ardupilot version. multirotors and helicopters Yes GPL
PX4 Modern Firmware/Software runs NuttX OS commercial, academic, or research applications Yes BSD High Precision

Hardware Board

What Bit
APM(ArduPilotMega) Older, obsolete flight controller board designed around 2011. 8 bit
Pixhawk Advanced 32 bit

Vehicle Types

Planes (Fixed-Wing Aircraft): Fast, and have long ranges but require runways for takeoff and landing.
Helicopters (Rotary-Wing): Use one or two large, main rotors to generate lift, allowing vertical takeoff, landing, and hovering. slower than planes.
Multicopters/Multirotors (Drones) are aerial vehicles. Rovers(operate on land) Subs(operate underwater)

SITL (Software-in-the-Loop)

SITL (Software-in-the-Loop) is a simulation technology allowing developers to run autopilot code (like ArduPilot or PX4) directly on a computer without physical hardware. It enables testing flight algorithms and vehicle behavior in a virtual environment, preventing damage to real drones.