mBot not travelling in straight line


My mBot 2.4 Ghz version is pulling slightly to left. I checked for any obstruction with cables - things are clean. Can I reprogramme the motors to address this issue?


You could issue commands for each motor M1/M2 with different speeds…

Maybe make a custom block (function) “Move forward” with speeds that work for you.

If you feel like hacking a bit…
You could change the definition of what “Move forward” means. In OSX, the file is


In line 89 I see some references that you could change.


I have the same issue. I use the speed 100.


I saw another topic on this issue and on one of them it was the cables to the motors rubbing against the left wheel.
However this is not the issue on the other robot, So I looked for other things that could block, but I have not found anything blocking.

I have the same problem, I got the family pack on Kickstarter and both robots pull left when told to go forward. Both when using the iPad app and when using the Remote. I do not have a Mac or Windows so do not have access to the software. I have Linux and a Chromebook. How can I calibrate the software in mBot?


I’m having the same issue.
I’ve edited the javascript file to pad one side, but i am not seeing any difference, is there something that has to be done to get mBlock to re-read the file? i’ve restarted the application and that did not work.

To test i set the speed to 50 and padded one motor by 50 so i should have seen only M2 drive, but it continued to drive as normal veering to the right.

when i slow it down to 50 i notice that M1 starts a short time before M2, in fact i have been seeing instances where M2 will not drive at all when trying to control the two motors individually.

Do i just have a defective part? and if so how do i get a replacement, i am supposed to be doing a product demo for this at a maker faire to sell them and i’m having nothing but problems getting it up and running.

(i’m running the windows version of mBlock by the way)

EDIT: Never mind, i got it. you need to clear the cache, restore extensions and then restart the application for it to pick up the changes you make to the underlying javascript file.

I was able to correct the drive by reducing the left motor value by 3


Unfortunately using Mblock I can’t seem to change defaults. Changing ../Program Files/mBlock/ext/libraries/mbot/js/mbot.js does not do anything. Even when

Also, if it does work, is then only the remote program calibrated or also any other scratch app. And probably when using the app mbot will still not go in a straight line. In my case the deviation is very significant, in three meters (steps) it makes a 90% curve and when it goes for 12 meters it’s back at the starting point. If there is no better solution (e.g. firmware calibration) I’ll have to request a replacement motor.


Mine pulls to the right… No idea yet why, looking into it.


As it turns out.

Does not work for de default program, only for scratch. My deviation turned out 24 at speed 100! However on backward it turns out to be variable. And even worse the left motor is making a high pitch sound. Very annoying. I´ ll request a new motor from my webshop (the Netherlands).


I checked the wheels for any possible kind of resistance or deviation, that’s not the problem. When I write a litte program to let the Mbot ride forward it is riding in circles (clockwise), so it is no software issue (same with the remote). When I use the remote control I can clearly see the right wheel spinning more slowly than the left wheel. So, the left motor is delivering more traction to the wheel. Either the left motor has a greater capacity or it is getting more power than the right I guess…


It seems pretty frustrating that this is happening to so many people. I joined this forum because I’m experiencing the same thing. I was looking for something fun to help teach coding with my 6th grade classroom, but this seems like it’s more trouble than it’s worth. Do people from the makeblock company ever comment in these forums?


In my case motor 1 was significant (25%) faster than motor 2. I’ve switched left and right, but the same result. My webshop was very helpful sending me a new motor 3. However the new motor 3 is even faster than motor 1, my guess is again 25%. Combining motor 2 and 3 results in a very small circle instead of a straight line. I tried that one to be sure I did not mix op motor 1 and 2. Conclusion, the extra motor did not help me very much. It looks like the mBot has some motor issues. I have the 2.4G Wireless Serial USB version. And I hope my webshop will solve my problem.


I Have the same problem I think it is because it has been running into things and burning out the engines causing them to get out of sync. So. one is faster than the other and it does not work properly.


They probably have to much to do then comment in tonnes of problems


Curiously, when I put a set of fresh rechargable batteries in my little robot, it began to drive straight. That was an interesting surprise.


Just tried that, that does not fix my problem…
the strange thing is that the circle the bot drives is dependent from the direction (smaller circle when driving backwards)