Brushless motors compatibility

Will these work together? Alternatively i found these

I prefer the first ones because i need a bsdc for my project. Also I havent found a battery for the second.

The first 3 should work together but not for long. The battery capacity is too small and will only run that motor for about 1 minute or so before it needs recharging.


What are you trying to do? Perhaps these aren't sensible choices of motors, but we won't be able to know if you don't explain the end-goal -

Yes. Minutes at best, depending on…

so many things you aren't saying. It seems your are developing a battery-powered something that needs a motor or motors.

Without knowing what it is, how much it weighs, how fast it is meant to go, what kind of operations times you are expecting &c. it is impossible to say the first three combined will be satisfactory.

I prefer the first ones because i need a bsdc for my project

OK, tell us as much as you can. This requirement seems like an odd starting place.

Like what at all it ha to do with an Arduino microprocessor system, for starters. :expressionless:


it's an exo arm. For kinisiotherapy, trying to build a prototype to show to my uni, so i need something that will work, but it has room for improvement and isnt expensive. The arduino is used to control the motor. Bsdc are better for exoskeletons than brushed motors. I hope this helps.

Yes a little tiny bit it helps. Raise our curiosity.

So try telling us more. How heavy is the arm, are you using a gear box, what is the range of motion and speed see what I mean?

At a glance that motor looks whimpy for doing anything like that.

Also, if this is a demo proof of concept, why do you need to use a battery? That battery is def small, too.

And how again is the Arduino involved?


140 degrees flexion, 40 degrees extension, it is for the elbow. Speed doesn't really matter for therapeutic reasons, besides if i want to use it for something else i can always use bigger/ smaller gears on the gearbox. The exo will be pla, so not heavy. It is more of a "look what i can do, I know we have teams doing research int his uni, can i be part of them" (or at least that's what my prof suggested me to do), so it needs to function. As for the size of the battery, I didnt even look at the mAh tbh. I just found something that isn't expensive and is compatible with the rest and even this was hard to find. (i will buy everything from local stores, no online shoping). The arduino will take input from two buttons to start/stop the motor.

You answered "how heavy?" with "not heavy". That's not of use for calculating motor or gear torque. Numbers and units are needed, not adjectives!

The size/dimensions of the system is vital too - so perhaps a sketch, and estimates of the load are also needed to begin to size up components.

Have you looked at James Bruton, YouTube channel?

He has done quite a lot with brushless motors controlling robot limbs.

Tom... :smiley: :+1: :coffee: :australia:

i said, it is designed for kinisiotherapy. So it just has to aid the movement of the hand, no added weight. It doesnt have to move the hand by itself, just aid with the movement.
Besides, as I said before it is a prototype, there is no point at calculating exact numbers at this stage.

A The ESC you mention is a speed controller generally used for a model airplane propeller. I don’t think it would be very useful for the sort of small range motion I’d expect to see in robotics type applications. Usually you use a “stepper motor” or servo for that sort of motion.

A stepper motor is a form of brushless motor, just one designed to be move is discontinuous steps rather than at some particular RPM.

Most servos contain a dc motor, plus a lot of gearing, feedback electronics, so they can be set to a particular position.

You can theoretically run a servo using a bldc motor, and probably run a bldc motor as a stepper motor as well, but not with the first controller you linked. (Without putting new firmware on it.)

The second controller is suitable for most stepper motors, but it’s a relatively primitive version, and I think you need two of them to drive the three coils of a bldc motor.

Maybe see

stepper won't work because it is too precise and fragile for what i want. My initial thought was using a servo as you said, but they have low torque plus i cant use more gears to increase the torque since they have low rpm too.
(I wanted to make it as an aswer to waht you said, so i deleted the other post)

Servos are available in a wide range of sizes, torques, speeds, and so on. (higher torque usually means a bigger motor, of course.) And that's just the hobby class motors. Here's a database of nearly 2500 different servo motors: All RC Servos - Servo Database

I think you will have to realise, if you want to control postion, speed and acceleration a servo is probably the way to go.

No matter what sort of motor/servo you use you will still need the same electrical energy to drive your system.
If a joint needs x amount of torque the you need a servo that produces at least that amount and a power supply to back it up.
I understand that this is basically a proof of concept, but you cannae change the laws of physics!

Tom... :smiley: :+1: :coffee: :australia:

1 Like

why can't you control the position without a servo? For a simple motor that i tested it (not brushless), I just set the motor to stop when a value is greater or smaller than a number. Also I made it to start, stop with buttons. For the brushless i have some issues doing that, as you can see on the new topic i opened

What are you talking about?

Where does this value come from, how do you stop, or start for that matter, the motor in this easier case?


a variable that goes up or down while the motor moves. You saw my last post, so when the one button is pressed the var goes up (variable+=1 for example) and when the other is pressed it goes down. After that it is a simple switch statement to determine if the motor should stop

Nope, that's not the way to succeed, sizing motors works the same way for prototypes as anything else, motors are always motors, the mathematics of mechanics always applies. We have no numbers, so nothing to work on at all. Best guess numbers really will help.

OK. I don't see any code anywhere that looks anything like what I think you mean.

If you mean to start the motor running, then increment some variable at some regular interval, then stop the motor because it means a certain amount of time has passed your remarks may make some sense.

But it has nothing to do with how to make a motor run - that depends on what kind of motor. Simple motors just need to be powered directly, brushless motors need a controller, which controller needs its own method for starting and stopping or running at a certain speed. Or taking step.

In practice, running a motor for a certain amount of time is unlikely to be adequate for controlling what the motor does. Some kind of feedback from the mechanical system will be necessary, or a well-designed stepper motor where you can expect the step count to always corrrepsond to the real motion of the motor.

Or I have completely misunderstood.


i just added the "timer effect". I think the only think i need to add is making it go in reverse, which I don't think it is possible with the servo library, so if you have any ideas feel free to tell me