This video shows an ODROID U-3 single-board computer running a Python program that talks to a an AcroNaze32 flight controller (FC) over USB. The Python program uses MSPPG, our Multiwii Serial Protocol Parser Generator library, to serialize up/down/up/down MSP_SET_RAW_RC messages to the FC. By polling the incoming R/C receiver channels using an MSP_RC message, we were able to have the Python program switch the autopilot on and off without the need for an additional microcontroller. The ODROID is powered by the clean 5v ESC output on the FC.

You can get the code for this example from Remember to remove all propellers before testing!

Views: 2667

Comment by Bim on July 20, 2015 at 7:21am

Interesting, thank you for sharing!

How frequently can you send/receive messages to/from the FC ?

How is it compared (Performance wise) to controlling an APM from an ODROID?

Have you tried it with Oneshot125 ESC by any chance?

Trying to figure out what is the best setup for precision computer control quad.

Comment by Simon D. Levy on July 20, 2015 at 2:41pm

I set the messages-sending rate at 200 Hz.  

I don't have an APM, so can't compare that.  Have not tried it with Oneshot125.

I am working this week on a Pixhawk version of the demo, so stay tuned ....

Comment by Miguel Martín Mateo on July 21, 2015 at 4:53am

Hi Simon,

If you communicate with the FC board using MSP it is possible to use other FC using the same protocol, for exemple, the FC boards supported by CleanFlight or MultiWii?

Comment by Simon D. Levy on July 21, 2015 at 11:43am

Hi Miguel,

Yes: you should be able to communicate with any FC that has been flashed with MSP-based firmware.  Although I do not currently have any other FCs (CC3D, Sparky, etc.) that work with Cleanflight, I just flashed the Cleanflight firmware onto my Naze and ran the MSPPG code successfully.

Comment by Aldo Vargas on July 24, 2015 at 9:52am

Hi Simon! 

I have a similar library to talk MSP with python, take a look (

And I'm doing some indoor position controllers with rpi/naze32 and a Mocap system... 

maybe we could collaborate! :)

great demo!

Comment by Simon D. Levy on July 24, 2015 at 11:19am

Nice work, Aldo!  I was looking for something like your library before I wrote MSPPG.  I'm not sure how I missed it, but I'm glad we found each other.  I too am working on mocap.

Two advantages of the MSSPG approach are (1) multi-language code generation (Python, Java, C++).  Some of my students have written an Android app using the Java output.  (2) Adaptability: if someone wants a new kind of message (for example, modifying the firmware to handle new kinds of sensors), you only have to add a new message spec to the JSON file, and the compiler does the rest.

Anyway, it's great to meet another person doing what I'm doing.  I look forward to seeing what you come up with, and I'll be happy to share with you any mocap progress I make.

Comment by Aldo Vargas on July 25, 2015 at 1:56am

I'm writing you an email :D


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service