Answers to some of your questions:

The VOXL is meant to be a flexible development platform that allows developers to choose where best to run the components of their application. There is documentation describing various CPU and DSP development paradigms. The GPU is typically accessed via OpenCL and OpenGL. In general, the CPU is used for most things, the "sensors DSP" (aka SLPI, SDSP) runs the flight controller (SNAV, PX4 in the near future), and the GPU offloads certain OpenCV or other applications via OpenCL / OpenGL. The "applications DSP" (aka ADSP) is not really used for anything right now but is accessible. There is also a hardware video accelerator known as "Venus" that can offload certain tasks via OpenMAX.

There is flexibility with how sensors are attached to the system. Cameras primarily come in via the MIPI connectors. Each camera, however, requires custom support. There are some supported "out of the box" (eg OV7251, IMX214, etc.), while new ones would have to be developed. Cameras can also come in via USB using UVC. There are IMUs on the VOXL that can be accessed directly via the SDSP. There is GPS capability directly on VOXL (See the GPS antenna connector) that can be accessed via SNAV or else an external GPS unit can be attached via the J7 connector. There are other lots of other options as well depending on the application.

Load on CPU and GPU can be monitored using our voxl-perfmon python script (https://gitlab.com/voxl-public/voxl-utils/-/blob/master/bin/voxl-perfmon). We will add DSP to this as well.