Being applied to many fields of research and industry, UAVs require reliable but modular autopilot software. An autopilot task can range from simple waypoint following to complex maneuvering or adaptive mission tracking. The developed and presented autopilot, uavAP, aims to be fully modular in a decentralized manner, embracing an object-oriented design in C++. It implements a typical control stack comprising of a mission planner, global planner, local planner, and controller. To facilitate its modularity, uavAP makes use of its core, cpsCore, for module management as well as core utilities. cpsCore administers the configuration, aggregation, and synchronization of all the modules in uavAP. With the emulation environment uavEE, uavAP forms an ecosystem for rapid prototyping and testing of modules for various research directions, ranging from scheduling and memory management, through planning and control system design, to flight profile and configuration optimization. The uavAP-uavEE ecosystem has facilitated the design of an accurate UAV power model based on the aircraft’s physical model, flight maneuver automation for aircraft system identification and dynamics parametrization, and an algorithm for geo-fencing of fixed-wing UAVs. This paper describes the control stack of uavAP, its core, cpsCore, as well as application examples highlighting the framework’s modularity and flexibility.