[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] How to control more than 8 ESC with paparazzi?

From: Christophe De Wagter
Subject: Re: [Paparazzi-devel] How to control more than 8 ESC with paparazzi?
Date: Thu, 19 Jan 2017 13:27:54 +0100

Just in case you are really planning on a large vehicle (carrying people?) like in the photo you sent:

 - you should certainly never use I2C (these are impedance controlled lines never intended to leave the circuit board)
 - you should certainly not have your safety critical stuff on a ultra-cheap-optimized mechanically sensitive board like a raspberry pi: these boards are great because they bring programming at low cost to millions of people, but have never been designed to be used as life-critical peace of electronics on vibrating platforms.
 - you should use at least double (or even quadruple redundant) safe communication protocols from the multi-redundant autopilot to the actuators (e.g. Dual CAN bus).


On Thu, Jan 19, 2017 at 12:12 AM, Felix Ruess <address@hidden> wrote:

there are several answers to your question (and some info already provided by Michal and Gautier):

- first the very basic question that you have to ask yourself is whether PWM is really what you would want to use for a multi-rotor vehicle like that...
- of course Paparazzi can control more than 8 ESCs (even via PWM) if the board you use has enough IO ports... (e.g. some existing boards have 10+ PWM outputs and you could always design your own board using an MCU with more IO pins to add more of them)
- if it doesn't have to be PWM, then e.g. I2C or S.BUS based ESCs can easily support a larger number of actuators
- delegating the actual actuator output to another board (Linux based or not) is always another possibility
- you can also (mostly) freely mix these concepts, so e.g. have some actuators (ESCs) on direct PWM, some on I2C and some on S.BUS or whatever (but you have to take care to have a "consistent" mapping between the input values and the actual thrust)

Cheers, Felix

On Wed, Jan 18, 2017 at 11:22 PM, Gautier Hattenberger <address@hiddenm> wrote:


A S.BUS output driver have been added recently ( I have not tested it, but you should be able with this to control several (up to 7 it seems) S.BUS compatible servos or ESC (or use a decoder board like maybe?) from a single UART TX.


Le 18/01/2017 à 22:28, Michal Podhradsky a écrit :
Hi Hao,

you could remap some of the other pins (UART,SPI,GPIO) to PWM output since most of them have timers associated with them (I recommend having a look at the Lisa M schematics). That should give you enough ouputs. Indeed it would be at 3.3V logic, so you would need some voltage converter to make it compatible with the servos/ESC.

The drawback is that you would have to sacrifice certain IO depending on how many extra outputs you need. The software side should be pretty straightforward, you would just have to define extra PWM outputs in the board files.


On Wed, Jan 18, 2017 at 10:13 AM, Ranger <address@hidden> wrote:
Dear All The autopilot board, such as lisa M, has only 8 PWM output, and may not be just not enough if more rotors/servos are needed. Is there any way of control more than 8 ESCs/servos using paparazzi? Which would be much useful in multi-rotors(see attached photo) and other hybrid platforms. I was thinking about some arm base board, such as raspberry pi, and customize it by simply adding more I/O ports for GPS, IMU and PWM....Anyone have comment interest in this? I knew there was a Linux based paparazzi initiated in 2010, and personally I think it has the potential to be much more powerful than Lisa M. Much appreciated if any one can teach me on existing paparazzi ones. Looking forward to hearing from you. Best Hao Evolo

View this message in context: How to control more than 8 ESC with paparazzi?
Sent from the paparazzi-devel mailing list archive at

Paparazzi-devel mailing list

Paparazzi-devel mailing list

Paparazzi-devel mailing list

Paparazzi-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]