A system-on-module (120, 200) for controlling an unmanned aerial vehicle, comprising: a first processing system including a first processing unit and a first programmable logic array, the first processing unit configured to execute a primary autopilot process for controlling the UAV, the first processing unit further configured to provide an output based on the primary autopilot process; and a second processing system including a second processing unit and a second programmable logic array, the second programmable logic array configured to enable control of the UAV based on the primary autopilot process in response to a valid output of the first processing system, the second programmable logic array further configured to enable control of the UAV based on a backup autopilot process in response to an invalid output of the first processing system, wherein: the primary autopilot process includes a first set of processor readable instructions associated with controlling one or more vehicle devices of the unmanned vehicle; and the backup autopilot process includes a second set of processor readable instructions that is different than the first set of processor readable instructions and is associated with controlling the one or more vehicle devices of the unmanned vehicle, wherein the first set of processor readable instructions includes one or more functions that are not included in the second set of processor readable instructions such that the backup autopilot process is a simplified version of the primary autopilot process. a first processing system including a first processing unit and a first programmable logic array, the first processing unit configured to execute a primary autopilot process for controlling the UAV, the first processing unit further configured to provide an output based on the primary autopilot process; and a second processing system including a second processing unit and a second programmable logic array, the second programmable logic array configured to enable control of the UAV based on the primary autopilot process in response to a valid output of the first processing system, the second programmable logic array further configured to enable control of the UAV based on a backup autopilot process in response to an invalid output of the first processing system, wherein: the primary autopilot process includes a first set of processor readable instructions associated with controlling one or more vehicle devices of the unmanned vehicle; and the backup autopilot process includes a second set of processor readable instructions that is different than the first set of processor readable instructions and is associated with controlling the one or more vehicle devices of the unmanned vehicle, wherein the first set of processor readable instructions includes one or more functions that are not included in the second set of processor readable instructions such that the backup autopilot process is a simplified version of the primary autopilot process. the primary autopilot process includes a first set of processor readable instructions associated with controlling one or more vehicle devices of the unmanned vehicle; and the backup autopilot process includes a second set of processor readable instructions that is different than the first set of processor readable instructions and is associated with controlling the one or more vehicle devices of the unmanned vehicle, wherein the first set of processor readable instructions includes one or more functions that are not included in the second set of processor readable instructions such that the backup autopilot process is a simplified version of the primary autopilot process.