Using AVR as companion to APM?

I was wondering if it’s possible to configure an AVR uC to configure and control an APM autopilot?

Is it as simple as sending the MAVlink commands over USART or is there a larger format I need to follow?

Any pointers to the specific relevant documentation would be awesome, I’m digging through the Plane docs at the moment.

Thanks

It’s easy, there are already AVR/Arduino boards like jD-IOBoard and
MinimOSD that does exactly this. Just take a look at source codes of those
boards and you find a lot more.

Given that it’s all written in ArduinoScript it’s not the most useful. What is the APM’s preferred format for sending commands to it via UART?

Am writing bespoke software for a uC based flight computer being used to manage avionics on a high altitude balloon. Just need to know what format the MAVlink packets are in so I can replicate that on our board (all written in C, not ArduinoScript).

Both boards are talking normal MAVLink protocol over UART. MAVLink libraries and sources are fully available but yes most of them are written in C. There are no other ways to talk with APM/Pixhawk autopilots than MAVLink.

Heres few links to MAVlink protocol:
https://github.com/mavlink
http://qgroundcontrol.org/mavlink/start
http://dev.ardupilot.com/wp-content/uploads/sites/6/2015/05/MAVLINK_FOR_DUMMIESPart1_v.1.1.pdf

Hmm looks that PDF is still pointing to our old webserver but seems to work. I need to move it to new areas :slight_smile:

One of those might be helpful, I’ll have a read through. Thanks for the help :slight_smile:

That PDF is almost exactly what I was looking for, thanks!

I assume the UART format is the standard
START
DATA 0…7
STOP
STOP

?

Or does it require parity bits/1 stop bit?

Digging through the git is telling me 8N1 so I’ll go with that for now

yes it’s normal 8N1 and baud rate is 57600

Can you configure that baud rate down or is it fixed?

For MAVLink telemetry ports it’s fixed to make sure that we are not overloading serial and that way crash whole autopilot. I could say that MAVLink packets etc are optimized for 57k speeds.