SToRM32 gimbal controller with Navio+

I am new to this forum and just ordered a Navio+ and intended to install APM(ArduPlane) on the board. I want to be able to control a 3-axis gimbal using the SToRM32 gimbal controller together with the Gimbal Control function in Mission Planner. After some reading I’ve realized that the SToRM32 won’t work with the APM + ArduCopter firmware above 3.3 and I’m worried that this could be true for the Navio+ with ArduPlane as well. Guess my question is if SToRM32 will work with Navio+ with ArduPlane and also if I can use the most recent firmwares?

Any help is appreciated and I’m really looking forward to try the Navio+!


This may help:

What an interesting device!

Thanks for your reply! I also saw this while looking around and this is what I am trying to achieve. Guess it is fair to assume that this will work on the Navio+ as well?

The Linux_HAL variant provided by Emlid is effectively the same as “firmware” (as a software program on an existing OS rather than a traditional hardware boot loader). In that they map the Navio inputs and outputs to the equivalent APM “pins” and logical devices.

So most IO extensions to Pixhawk/APM should have a straightforward (if not direct) way to get running. The only usual variables are pin numbers which also differ between APM models (e.g. voltage sensor pins).

This Storm32 controller appears to use a serial link. If it’s just reading MAVLink data then it’s easy, connect to the Navio’s serial/UART header.

If you need that for something else (e.g. 3DR radio) then you can plug-in a cheap USB to TTL adapter to the RasPi and tell Navio it’s number at “firmware” (Linux program) start-up, as documented here:

The only thing I’m wondering generally, is if the power of the RasPi can also perform what the Storm board is doing anyway. But as an existing solution the Storm is certainly impressive and should be possible to connect.

1 Like

Great, think I’ll order the Storm32 controller right away to try this out! If I succeed I might post my setup here.

Thanks again for your input.


I suppose the controller will work almost out of the box. There’s a official APM tutorial which can help you get started. Hardware wiring is not applicable, though.

Basically, you need to make a mapping between a serial port (/dev/ttyUSBX if you go with an external USB-UART) and the channel used in APM. This mapping can be seen here if you want to thoroughly examine what’s going under the hood.

To sum up, you’ll launch APM with an appropriate switch (./ArduCopter.elf -A/B/C/D <port> ), change the parameter SERIALX_PROTOCOL to 8 as well as a couple of parameters described in the tutorial I just linked and you’re ready to fly!