Regarding the Bluetooth issue, difficult to believe as it may be, there could be a power issue…
Seems when connecting with the app, a resulting “firmware update required” can be a simple problem with the batteries.
Yes, the BATTERIES.
If the power level of the batteries is not sufficient, then the result will be a FIRMWARE UPDATE REQUIRED message (even if you have the most recent firmware)…!
Fortunately, there is an easy way to test this. With batteries disconnected, plug your MegaPi by USB cable to your PC (you don’t need to run the mBlock application, you just using the PC’s USB power).
Then with the USB connected, open the Makeblock app (android or ipad) and try to connect via bluetooth.
If the app connects to the robot, then you know it’s a power issue (battery issue).
Note, the app won’t allow the robot to move, you can only connect (Bluetooth connection will be obvious when the app goes to the robot control screen).
I suggest getting a Makeblock lithium ion battery pack (or similar). That seems to have the power output necessary (I’ve seen those rechargeable batteries helping in other scenarios too).
In my opinion, the Li-ion battery should be part of the Ultimate 2.0 kit.