We managed to get our hands into a Raspberry Pi 3 and decided to give APM a try with it using the PXFmini. Here’s a walkthrough over some of the tests that our team conducted:

Benchmarking

So, down to the benchmarks, we performed 3 types of tests using sysbench and the default Raspbian images (no APM running for now). SysBench is a modular, cross-platform and multi-threaded benchmark tool for evaluating OS parameters that are important for a system running a database under intensive load. The output of sysbench looks like this:

sysbench --test=cpu --cpu-max-prime=20000 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 1 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 20000 Test execution summary: total time: 477.3324s total number of events: 10000 total time taken by event execution: 477.3236 per-request statistics: min: 47.69ms avg: 47.73ms max: 85.54ms approx. 95 percentile: 47.72ms Threads fairness: events (avg/stddev): 10000.0000/0.00 execution time (avg/stddev): 477.3236/0.00

The output is graphed against the Raspberry Raspberry Pi 2 (note that smaller bars indicates better results):

sysbench --test=cpu --num-threads=1 run







sysbench --test=memory run --memory-total-size=2G

sysbench --test=memory run --memory-total-size=2G --num-threads=1 --memory-oper=read

The 64 bits CPU of the Pi 3 dramatically improves the results of this particular tests over the Pi 2. It’s 40% - 60% faster.

Mounting the autopilot:

We mounted the shield as follows which proved to be robust enough. Vibrations were kept at a reasonable level as will be shown later in the log analysis:

Flying with APM and log analysis

After a short flight we started some checks. The official documentation of APM will tell us:

“Check the scale on the left and ensure that your vibration levels for the AccX and AccY are between -3 and +3. For AccZ the acceptable range is -15 to -5.“

Fine on this. We also felt that the drone was reacting really good so made a few plots that convinced us about the autopilot responses with the Raspberry Pi 3:

Conclusion

Raspberry Pi 3 is a great candidate to make APM Linux autopilots using the PXFmini!. Having Bluetooth and WiFi is indeed a great asset removing the need of using additional USB dongles unfortunately, WiFi is solely b/g/n and does not support the 5 GHz frequency band (which comes handy when flying with RC controllers that work in the 2.4 GHz band).