Motor Test Station (MTS)

Hi, Would it improve things if you moved the pcb etc on the arm back towards to pivot point and beyond to give you some balance in the spinning axis. I'm not up on the dim years of my physics 101 , but concentrating the load around the pivot point should reduce the angular momentum as well.

Unless you need the load to help with traction.

Tom.... :)

Hi, For speed measurement, put an LED on the arm as far out as possible, pointing down. A photo-transistor in the test bed can detect the passing LED and using another arduino, calculate RPM and hence motor shaft speed and arm tip speed.

Tom..... :)

The LED tip is good, I did plan to build a light barrier for rpm counting myself. Unfortunately I have killed one of my photo resistors and cannot find the other ...

On load at pivot point -- I did what you proposed: |500x375

I depened the 3 LiPos for the 12V and put everything besides the motor to pivot point. It was really good that I took a video!

To my surprise the load went to the outside at very high speed, and continued to work as programmed! See youtube video with quarter speed:

I will try again with better fixation of load tomorrow, its late here (in Germany).

Thanks to my slow android video camera this picture shows exactly the moving out of load from pivot point (watch the LED)! |500x279

Slighty faster than before (before loosing load), 268.66rpm compared to 260.9rpm, or 21.44km/h.


Thank you so much Tom -- pivot point mass concentration gave 20% max speed boost !

Added a small wooden piece with superglue onto the moving wooden arm in order to prevent Arduino and LiPos moving away from pivot point.

I killed 2 Arduino Nanos by loose cables and 12V getting in contact with what it should not -- good that I had 3 Nanos (OK, have several Pro Minis that can be used as well). You can see small on/off switch below the Arduino that allows to live safely without removing cables for powering on/off.

The pivot point Tip from Tom gave another 4km/h max. speed! (youtube video)

11 rounds in 2.12s gives 5.19rps or 311.3rpm. And wheel with 1.33m per round runs 6.90m/s or 24.84km/h!



If your motor has a spec and you have a reasonable idea of the load torque, it will give you the right numbers within the tolerance you'd expect. Sizing motors is not rocket science really! Its finding the datasheet for a small motor that's the trickiest part.

You have a good testbed there for a smooth flat surface, but usually its the lumps, bumps and slopes that place the most demands on the drivetrain - check you have the torque and power needed for the worse incline too.

Hi Mark,

I provided link to (12V) motor specification above, but here is a better photo: |500x375

Spannung: voltage Leerlauf: running idle Strom: current Maximaler Wirkungsgrad: maximal degree of efficiency Drehzahl: number of revolutions Stromaufnahme: current consumption Drehmomemnt: torque Abgabeleistung: output power Effizienz: efficiency

The wheel is the 48mm diameter one of these.

Calculating with 17.500 rpm gives: π*0.048*17500 = 2638.9 m/min

What I have measured is: 6.90*60 = 414.0 m/min

So what to do with above motor specification? How to take the weight (52g here) into account? How the mass distribution on the wooden rotating stick?


The wheel is the 48mm diameter one of these.

Calculating with 17.500 rpm gives: π*0.048*17500 = 2638.9 m/min

What I have measured is: 6.90*60 = 414.0 m/min

So what to do with above motor specification?

Well I'd first calculate the velocity and force at the wheel rim, getting v = 42 m/s, F =0.03N

Hmm, 0.03N is not enough force for anything really (3gf)! Clearly some gearing is needed (which of course it always is with a small motor as torque is limited by motor volume)


How to proceed?

1) Work out the worst case torque (at the wheel) needed for inclines, acceleration that you need. 2) Work out the max speed (at the wheel). 3) the product of those two gives the power you need for the motor, but you'll need to add 50 to 100% to allow for transmission losses if you use gears/belts. 4) with the gearing and wheel radius you can then map that to motor specifications, and thereby select an appropriate motor.

Lets say I have 200g load I want to drive up a 1-in-10 incline worst case - thats 0.2N at the wheel (weight force x 0.1). With two motors you share that, so 0.1N per wheel. Want max speed of 5m/s, then power needed is 0.5W per motor (double for good measure as will use gears, 1W motors).

Say a 20mm radius wheel, so torque = 2mNm, angular velocity 250 rad/s (2500rpm).

You motor can only do 0.7mNm, so lets assume 5:1 reduction gearing, gives it 3.5mNm and a angular velocity of 350rad/s.

Its rare that you can avoid reduction gearing of some form in a small motor - your system is overloading your motor completely I think, so the motor can't get close to its max speed - you are likely overloading the windings as it struggles to supply enough torque.

If you want to get that rig going faster you need to reduce the friction at the pivot and try to reduce the air resistance. Remember that the force that moved things to the outside is also acting on the pivot and increasing the friction there.

If you don't believe the motor specs and want to test the motor you need to make a dynamometer.


If the point is to move a robot, the puny 0.00071Nm rating is not going to go away by testing it (neither will making a low friction test rig remove friction from the actual robot), you need to do the math and add the reduction gearing!

Thanks Mark for the detailed calculations, I will follow up on that later.

Thanks Russel on the friction, that will go away with two motors/wheels and give a little boost then.

You mentioned to consider the requirements, those are easy (at least for my first use case "line follower"). The surface is completely flat in simple scenario (screenshot from first 3.1m/s average video):

And I am very satisfied with the speeds achieved sofar, pretty sure that they cannot be reached because of all the turns. The last MTS run I did with this 12V motor was to take into account that the robot will have two motors/wheels sharing the load. So I moved the load into the middle of the wooden arm:

It was clear that this will reduce speed, but it did not that much (youtube video): 6.90m/s -> 5.46m/s or 24.84km/h -> 19.64km/h

Now regarding the total weight of the robot, I target for sub 70g (if using this motor) and not 200g: |500x163

4 LiPos + Arduino + L293D motor controller + soldering solution: 33g 2 motors with 2 wheels: 18g half table tennis ball as 3rd point of contact, 2 foto transistor, 1 IR LED, board piece: 11g

So total weight of "Asurano": 62g "Asurano" = "Asuro" like robot (see) based on Arduino "Nano"

Next MTS task is to test this 15V motor with 3 times the torque (2.16Nmm) of previous motor (15g vs. 8g weight): |500x375

Non-flat surface requirement is given by RobotChallenge Line Follower Enhanced "Seesaw" ;-) |500x313


Did start testing of 15V motor -- not the motor is the problem but the wheel mounting: |500x375

youtube video with bumping.

youtube text copied in:

After much good testing with 12V motor I started testing the 15V motor today.

After killing my 3rd and last Arduino Nano had to modify the soldering to work with Arduino Pro Mini. Interestingly the Arduino Pro Mini does not work with 4.18V from LiPo -- the Nano did even work fine with 3.9V.

For the motor now 4 LiPos give 16V, and a new connector in the middle gives 8V for Raw input of Arduino Pro Mini.

After getting very bumpy run with the wheel already used for the 15V motor I decided to enlarge the diameter of the wheel hole that worked so well before with 12V motor. Result is the same bumpy runs.

Next I tried to add weight to counter the bumps (the disconnected battery pack on the middle of the wooden arm), without success. The slowflyer wheels cannot be used with this motor.

Wheel bumping starts at 13s and is maximal at 17s.

Now have to wait for new wheels for the 12V motor and find alternate wheels for the 15V motor.


Today got new wheels with 64mm diameter (compared to 48mm before). This is the middle diameter wheel of these three wheels -- 85mm will be sent when available again ;-)

I thought the wheel hole was a perfect fit for 12V motor axis -- it was not ;-) LiPos were not fully loaded, only 11.23V compared to >12V.

Here is just the high speed accident with 5.7m/s or 20.52km/h at quarter speed on -- impressive:

youtube video

Youtube text copied in for completeness:

2nd High speed accident with new 64mm diameter wheel. Thought that wheel was a perfect fit for motor axis Wheel got lost at 0:23, wheel hole was too wide for the speed/force. frame by frame analysis with new wheel diameter: Just before accident 6 rounds in 1.4s gives 4.3rps or 257.1rpm. Wheel moves 1.33m per round giving 5.7m/s or 20.52km/h.



Its good to see that like NASA and Spacex, you video your successes and failures, to learn from them. A mean looking line follower, do they have a 1/4mile dragstip event at RobotChallenge?

Tom.... :)

A mean looking line follower, do they have a 1/4mile dragstip event at RobotChallenge?

Nice idea!

My older son was on field robot event two weeks ago with his university team and (30kg) robot Beteigeuze:

After the official contest they did a fun contest of "tractorpulling" with their robots ;-)

Probably I would need to go with gearing as proposed (and calculated) by Mark. I did fix the wheel with superglue, this is complete run (without accident/problems):

"Only" 11 rounds with 1.33m per round gives 5.63m/s or 20.26km/h, far less than with 48mm diameter wheel, perhaps because the 64mm wheel adds 2g of weight.

Perhaps less diameter wheels can give better results for the 12v motor -- with 6.9m/s maximal speed seen sofar the motor did show 2064rpm at the wheel although it could do 17500rpm.


Today I tried wheel with smaller diameter (20mm), a "Lego" wheel with the well known cross for Lego "cross axis": |500x375

In order to use that wheel with 12V motor axis I had to completely fill the cross with superglue. After more than a day I did drill a small hole with small screwdriver and press motor axis in then. To my surprise there was nearly no imbalance.

This is youtbube video with 12V motor and the new wheel:

Video shows the exact same maximum speed as previously achieved with 15V motor and 64mm diameter wheel. Looking at formula 1 wide base wheels I will probably go with the current wide base 20mm wheel for my Arduino controlled 2 wheel + ½ table tennis ball based (line following) robot (see here with previously planned parts)

[u]Here text from youtoube video for completeness:[/u] This time with smaller diameter wheel (20mm) and 12V motor.

3 LiPos, not fully loaded (11.60V instead of 12.6V).

Same speed as maximal speed with 15V motor and 64mm wheels.

15 round in 2.80 seconds is 5.35rps or 321rpm. Wheel moves 1.33m per round, gives 7.125m/s or 25.65km/h.


The 12V motor has 17500 rpm at maximal degree of efficiency as mentioned earlier in this thread.

Until this last run all tests did show less than 3000 rpm at motor axis.

Now I did the math for the last run. 1.33m per round of the wooden stick is 21.1 rotations of 20mm diameter wheel. With 5.35 rounds per second this gives 113.2 rps or 6794 rpm at motor axis. Still not 17500, but much higher than for all previous MTS runs.


You do know that torque depends on motor volume if you eschew gearing? Little motors without gears will never have enough torque for a robot with all but the tiniest wheels.

Thanks, the tiny wheels did it.

I did build real "robot" now with two motors and two wheels, and it showed 9.89m/s or 35.6km/h !! |500x375

The whole "robot" two wheels carry the complete weight of 73g, the nail just forces circular movement. |500x375

Copying in youtube video text with the details:

It turned out that in previous run only one motor did run. The 2nd was dead due to too hot soldering.

Here both motors (bought a new one) did run, and achieved nearly 10m/s or 36km/h !

With new motor, cabling was a problem. This is first run where centrifugal force did not cut any cables.

Two motors are much louder than one ;-)

The whole "robot" two wheels carry the complete weight of 73g, the nail just forces circular movement.

Now the analysis (20.27s - 21.63s):

9.75 rounds in 1.36s gives 7.17rps or 430rpm of wooden stick.

Radius of 22cm of wheels wrt nail gives 1.38m per round, ppeed now is 9.89m/s or 35.61km/h (!).

Wheel has diameter of 2cm, so with 7.17 rounds of 1.38m this is 157.4rps or 9447rpm at motor shaft (pretty close to data sheet max of 17500 under load).

Last comment on Arduino microcontroller, program did increase PMW from 20 to 255 in 12 seconds, keeps at 255 for 10 seconds and then goes back to 20 in 10 seconds before stopping and LED blinking. In order to use this simple program that has been used in so many testruns now, I did duplicate the PWM signal and both motors are controlled by the same L293D motor output. The second L293D motor driver output is not cabled/used yet.


Mark was right, torque of 0.00071Nm was good enough for (to me) impressive 9.89m/s or 35.6km/h in motor test station, but may not be enough for autonomous robot (I just ordered 2 motors with 0.0055Nm, a factor of 7.7).

Yesterday I did quite some work on real autonomous robot, these are the tops of two linked tweet sequences:

This is new robot jacked for initial wiring testing with bitlash (allows interactive as well as scripted programming w/o Arduino IDE):

I did first full speed test run last night:

Compared to Asuro robot 8 years ago (0.43m/s, 1.2m/s, 1.8m/s) it was quick (3.1m/s or 11.16km/h).
But previous runs (same motors and wheels) in Motor Test Station showed 9.89m/s.

Copying in youtube description with the details:

This is first autonomous full speed run of new Arduino robot (3.1m/s or 11.16km/h).

Weight of robot is 96g, and the three LiPos were not fully loaded, but showed 11.41V, the motor is 12V motor.

Although pin 13 LED starts to blink when reaching leg of grand piano (indicating that motor has stopped) the kitchen door did a hard stop on the robot. analysis (7.95s-8.55s) shows that robot did pass 6 floor tiles with edge length 31cm. The speed in that time frame was therefore 1.86/0.6=3.1m/s or 11.16km/h.

This is far less than the 9.89m/s seen in motor test station (robot there had 73g weight with same motors and wheels, but no ground friction of half table tennis ball). For details see:


If I was making that contraption, I'd have the motor stationary and the disk turning.

I'd mount the disk ( or use an old LP records ) above the wheel, so the wheel turns it from underneath. And then measure how fast the disk is spinning.