Connecting 4 ESCs to Arduino board

There was a 2017 post on this topic with no apparent resolution. Post was also closed, so I'm re-posting. In essence my question is how to connect 4 ESCs to an Arduino board (say an Arduino UNO) to control 4 brushless motors. It's straightforward to connect a single ESC to GND and a PWM pin to control a single motor. However, how can one wire 4 GNDs and 4 PWM pins for the 4 ESCs needed in a quadcopter?? Thank you in advance. AlexA

Let's start by correcting a mistake. You do not need to use a PWM capable pin to control an ESC or a servo using the Servo library. Any GPIO pin will do, including the A* pins

As to connecting multiple ESC 5V and GND wires to a Uno, then you need to connect them together and then a single wire each to the Uno. You can do this using an external power distribution board which are commonly used on quadcopters

An example

Note that because of its size and plug in connections the Uno is not a good choice for a quadcopter controller

OK I got the concept around the A pins, thank you. And I do have a PDB that distributes power to each of the 4 motors through each of the 4 ESCs using https://www.amazon.com/Connection-Portable-Distribution-Connectors-Accessory/dp/B09S3TG2B3/ref=sr_1_22?keywords=Power+Distribution+Board&qid=1703365851&sr=8-22. But then I have 4 BECs with signal line, +5V and ground. I was planning to connect the 4 signals to pins on the UNO, but the 4 grounds are the ones I am not clear on how to connect together.

Why do you have 4 BECs and why do they have signal wires ?

Because each ESC has a 3-wire connector for signal, +5v and GND as in https://www.amazon.ca/RC-Brushless-Electric-Controller-Bullet/dp/B0754H7XZZ?th=1 . This is shown as Standard PWM Signal Input.

Sure, each ESC has a GND, power and signal wire but you said

A BEC (Battery Eliminator Circuit) is not an ESC (Electronic Speed Control)

I know BEC is not ESC. But need to control each of my 4 motor speeds through the ESCs. Hence, I have 4 BECs. My idea was to connect each signal in a BEC to a PWM (or A* as you suggest) pin. But I also need to connect the 4 grounds in each BEC to a common ground, which is where I'm stuck.

You don't need 4 BECs

Again, BECs don't use control signals. They are simply used to reduce the voltage of a power supply to a level required by the electronic circuits in a project. Typically a quadcopter would use a 3S (12.6V) battery (or larger) and a BEC would be used to provide the 5V needed by the flight controller

Please post links to the BECs and ESCs that you are using

A side note
I did not suggest that you use the A* pins, rather that you could use them. Any digital pin can be used with the Servo library, but avoid pins 0 and 1 if using an AVR processor

OK, here is a video with one motor and one ESC https://www.youtube.com/watch?v=qOzE5F5vFGs . I'm trying to do same with 4 ESCs and 4 motors.

Now we are getting somewhere

The ESC used in the video has a built in BEC but, of course, the BEC does not have a signal wire, that is the input to the ESC

If you are going to use 4 such ESCs then it is a bad idea to use the power from all 4 built in ESCs. Only the power from one is needed and using more than 1 may well cause problems

The triple wire (the one with the green ring shown in the ESC CLASSIC Series - RCElectricParts.com) has a white cable that is labelled as the signal wire to control speed. I've used with a servo tester https://www.amazon.ca/DIYmall-Consistency-Controller-Helicopter-Airplane/dp/B07FQNZHG4/ref=sr_1_14?crid=XO48ACNQ6RP&keywords=servo+tester&qid=1703375069&sprefix=servo+tester%2Caps%2C98&sr=8-14 to control speed of all 4 motors using PWM pulses from 1000ms to 2000ms. It is now that I'm trying to do same using an Arduino that the GND has become an issue.

I am sorry, but I don't understand the problem

There are 3 wires going to the Dupont servo connector from the ESC, 5V (red), GND black) and signal (white)

Connect all of the black (GND) wires together and then connect the combined wire to GND on the Arduino. You can do this by cutting each of them, soldering them all together at the same point and adding another black wire to go to the Arduino. Cover the joint with heat shrink tubing. Better still, connect each of the 4 GND wires to pads on a Power Distribution Board as previously suggested

Connect only 1 of the red (5V) wires to 5V on the Arduino to provide it with power. Do not connect the other red wires to anything

Connect each white wire to its own digital pin on the Arduino

Good morning. I think I now understand your idea. I will try it. Thanks!! Happy holiday. AA

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.