Hi everyone, I hope you are all enjoying your mBots! I feel that mBot and mBlock have come a long way recently, and thanks to firmware updates most of the little bugs have now been resolved.
However, there is still one issue which is causing my students some frustration. I have a question about the mBot onboard button and the way it is handled in the most recent mBot firmware. The firmware I am referring to is this one:
- File Name: mbot_factory_firmware.ino
- Version: V06.01.007
- Date: 07/06/2016
This firmware is located here:
The issue with this firmware is that the button is programmed to cycle between the three “demo” modes:
A - driving in response to IR remote
B - obstacle avoidance
C - line follower
This behaviour of the onboard button can clearly be seen in lines 957 to 1024 of the source code.
The problem is, having the firmware this way means that the onboard button cannot be used in mBlock to create programs such as “Wait Until On Board Button Pressed”. The onboard button does not respond to mBlock at all - when you press the button, the mBot ignores any program you have in mBlock and instead cycles to the next mode.
This was previously discussed (but not resolved) on this thread back in August:
I suspect this change was made because MakeBlock stopped shipping the IR remote and needed a new way to cycle between the different “demo” modes. However, this renders the onboard button basically unusuable over USB, WiFi or Bluetooth, which is pretty frustrating - especially for anyone who has an IR remote which duplicates the demo mode functionality anyway.
If someone wants to create a program in mBlock which uses the onboard button, the only way seems to be to upload the program using the Arduino IDE. However this is not ideal and is a bit complicated for younger students - ideally I would like a way to use the button over USB, WiFi or Bluetooth.
Is there any chance of this being fixed in the next version of the firmware?
Thanks in advance and thankyou for what is otherwise an incredibly powerful little robot!
Tim