Pixhawk, Arduino Uno and L289N motor driver

Hi everyone,

I am currently planning to create a an autonomous rover that uses Pixhawk 2.4.8, Arduino Uno and L289N motor driver to power and control the motors of the rover.

Is it feasible to interface these 3 components?

Firstly, the Pixhawk is used to plot the path on the virtual map and coupled with sensors for obstacle avoidance abilities. The Pixhawk is connected to the enA and enB input of the L289N motor controllers to control the stop and go motion of the motors. Next, the Pixhawk is also connected to the analog input to the Arduino.

The Arduino then reads in the analog input and sends out PWM signals to the input 1, 2, 3, 4, of the L289N motor controller. This is to control the left and right turns of the rover.

L289N motor controller is used because we are using 24V motors, and connecting the motors straight to Arduino which is beyond the capable voltage of the Arduino Uno. Also, it can facilitate the left and right turns of the rover.

Thanks in advance.


even if L289N controler are working (you could plug them directly to the pixhawk …), I really recommand you to buy another controler. The only good point of the L289N is that they are cheap … but for 10$ you can have decent brand with simplier and more effective control.

Thanks for the reply khancyr.

Do you have any recommendations for a good motor controller at the stated price range($10)?

Hi, I have a Cytron 10A dual-channel motor driver. Can I connect directly to Pixhawk, or do I need to use Arduino as a medium between Pixhawk and the motor driver? Now that I’ve connected the motor driver directly to the Pixhawk, skid steering works well, but when I move the RC controller down for reverse, it only moves forward.