Robot Starter kit Bluetooth firmware update


#1

Hi,

I have bought an IR version of the Robot Stater kit, loading some Arduino sketches from Sratch
or Ardublock.
I’ve then purchased a Makeblock Dual Mode Bluetooth adapter, connected it to the port #4.
I’ve downloaded the Makeblock Android application on a Samsung Tab 3 and
sucessfully connected to the Makeblock bluetooth module.
However, the application complains about the firmware, but it can not upgrade it.
The Upgrade Firmware popup remains for ever, asking for a press on the Reset Button, which i did.
So, how / where can I grab the firmware I could download using a USB connection ?
Thanks for your help.
Regards.


#2

Hi @bixator,

Which version of Baseboard did you use? Baseboard Leonardo or Baseboard Orion? If it is Baseboard Leonardo, you can’t upload the sketches by Bluetooth.

http://app.makeblock.cc/firmware/

Please download the firmware here and upload it by USB


#3

Hi Johnny,

Thanks for your reply. Unless I’m wrong, this Robot IR has been delivered with a “Uno” compatible
board (well, this is the one I’m usign when downloading firmare from the Arduino IDE).
So, I’ve tried to download the firmware usong USB but the Android application keeps requiring
a FW upgrade…
How can I debug this issue ?
Thanks.
Regards.


#4

The firmware code is updated, support for “baseboard” with bluetooth now.
https://github.com/Makeblock-official/Makeblock-Firmware/tree/master/firmware


#5

Hi,

I’ve just tried this new FW and it does not look better.
The Application does connect properly to the Bluetooth module,
but does still complain with this message:
“Arduino firmware not found, need to update the firmware”.
Then, if I reset the Makeblock board as requested, the application remains
in this state for ever…
Thanks.
Regards.


#6

the app updated.it fix the problem.
link: https://play.google.com/store/apps/details?id=cc.makeblock.makeblock


#7

I am having a similar problem. I purchased the starter kit with Bluetooth. I am able to connect to the board using the serial cable and control it using Scratch (and yes, I uploaded the firmware). However, when I try to connect using the Android app, it just says “Firmware not found, please update first” (note that the device seems to be paired correctly).

There seems to be something weird about the Bluetooth module. I tried the example TestSlaveBluetoothBySoftSerial.ino and I connected to it using the unofficial Android app (https://play.google.com/store/apps/details?id=com.mscarceller.makeblockbtcontroller&hl=en) which has “bluetooth terminal”. When I type to the terminal I see only weird characters on my serial console (and vice versa).

Could my BT module be broken?

UPDATE: I found that setting the baudrate to 115200 in TestSlaveBluetoothBySoftSerial.ino makes the output to be little better but BT still seems to be garbling the data.


#8

I tried all the advice on these forums (there is really not anything more than “updating firmware” and trying both port #4 and port #5) but none of this worked.

BTW I can quite capable SW developer and this is an educational toy. If cannot get it working after several hours of trying really hard, there is no chance a “normal person” would. At this point, it seems that either my BT module is broken or your documentation and SW are very lacking (or quite likely it is both).


#9

Hi Michal,
I’m unfortunately in the same situation than you. My son, for which I bought this robot, is very disapointed since we can’t get this Bluetooth application working at all despite the FW and
Android or iOS applications updates.

Regards.


#10

Hi Bixator, see this thread:


I am trying to get to the bottom of this by reading their messy source codes. Makeblock documentation is very confusing and the on-line doesn’t seem to understand the technology well.

However, I suspect that you’ll need to connect BT to the port #5
See this picture:
http://app.makeblock.cc/program/makeblock-orion/
Note the grey color mark saying "Hardware serial port"
If you have the older baseboard http://app.makeblock.cc/program/me-baseboard/ then it is indeed port 4 but that may possibly need older version of the FW.

In any case, you can try using option 2 from http://app.makeblock.cc/firmware/ - updating over USB (leonardo or base_shield for the older board with port 4 or uno for the newer one with port 5)

Let me know how it goes. Hope you’ll have more luck than me.


#11

Finally, I had some success with Scratch. I did the following:
0) I installed the Windows driver and the Windows version of Scratch from the makeblock.cc site

  1. I uploaded “Makeblock Orion” firmware via USB in Scratch and I unplugged the USB
  2. I removed the Makeblock BT device from Windows (for some reason this was essential, I had to pair the device completely from scratch)
  3. I unplugged the BT shield plugged it again (to port #5), reset the board, pressed the BT shield button (in some order I do not remember) but the point is that the BT led was blinking
  4. I pressed “bluetooth” menu option in Scratch and paired Windows with the robot
  5. At that time the BT shield blue LED stopped blinking and was on continually.

So I know the BT works well, I have no idea why it doesn’t work from the android app - I am trying both the official one and unofficial one.

I actually care about Scratch more than the app so this is not so bad for me, if I can make the BT work from Linux I’ll be OK.


#12

Hi Michal,

Glad to read that you got some success. I haven’t had a chance yet to test your procedure,
but I will do it as soon as I can.
As for Scratch is concerned, and unless I’m wrong, the Makeblock version is not supported on Linux ?
Also, one issue for me is that the Sratch code is not permanetly written into the Arduino (as opposed
to the ArduBlock or Arduino IDE).

Thanks for your help.
Regards.


#13

So finally a success story!

The firmware that works with the Android app is the GitHub version one

Now the problem is that you have the older board (guessing because you connect BT to port #4) and I do not know if that accesses the Serial port in the same way. There is also


for your board but it might be some older version that will not work.

I suspect that the driver upload from the mobile app failed for you because you are using the older board. The tech support here is incompetent enough to not know .

BTW Scratch uses different firmware (though it uses a similar protocol so it might be an older version or something). The sources are packaged with Scratch and you can compile it yourself for your board.

For the record (if somebody has a similar problem) the app wasn’t upgrading the robot for me because of some problem in my phone. It worked well from my wife’s phone.

My current use-case mostly about controlling the robot over BT and, luckily, for that I can use the Scratch or mobile phone app firmware. I’ll use the same serial protocol that Scratch uses.


#14

Now they updated the Android app and it works with my phone. That’s good.

I am still annoyed how much time I spent with the different ways to connect BT all subtly broken in different ways. And I didn’t even started about other problems like DC motor connectors turned by 90 degrees (=> they face downwards in the second model), voltage dropping when I turn on both engines (=> Arduino resets; I had to connect an extra USB charger to the car) and the motors not being powerful enough to turn the tank (even with new batteries). All of this while getting zero feedback from Makeblock here on the forums (and judging from the other threads this is their normal behavior).

This is not the way to build a successful start-up. Makeblock if you reading this, please put more work to your product to make better. The hardware is actually very nice so do not spoil it!


#15

Hi Michal,

Moving the BT module to the port #5, I’ve finally been able to connect to
the Robot Tank from the Scratch application.
I’ve also been able to connect with an iOS (8) application but this was not
very stable (the application seems to crash, so it does with Android 4.4.2
on my Galaxy Tab).

So, this is really a mix feeling for me.
Thanks for your help.
Regards.


#16

Hi Bixator,

I feel your pain. I spent tons of time debugging what was wrong because the app couldn’t upgrade the firmware. With multiple poorly documented options most of them broken in some subtle ways it took me a while to find the right combination to connect anything to the BT. For some reason my wife’s LG Android phone worked better and after their latest upgrade I was able to use my phone too.

One thing you can try is to drive the robot with connected USB charger. When I turned both motors on, I saw voltage drops that were resetting the Arduino board. Perhaps that can crash the app too (though some BT flakiness).

This is not the only problem I am seeing. I seem to be affected by this http://forum.makeblock.cc/t/dc-motor-connector-angle/790 too. I hope that the developers will wake up after the Chinese New Year and respond to some of these comments. At this moment, I have a serious love hate relationship with their product (love for the HW and hate for SW + documentation). I would certainly not recommend it to beginners.

BTW is your tank able to turn around? Mine doesn’t have strong enough motors (even with fresh batteries). I had to build the tricycle thou driving on the carpet is still out of question.


#17

Hi Michal,

Yes, my tank was able to turn in IR mode. To be honest, the tank worked fine
Out of the Box when using the IR remote control.
The things got more complicated when:

  • I wanted to bring the programming tools to my son (Aduino IDE is too much complex for a kid, ArduBlock UI interface does not handle enough blocks and Scratch requires a live connection with the Tank)
  • I’ve purchased the Dual Mode Bluetooth Adapter and try to use the iOS and Android application to remote control the tank.

There was a new iOS update today which I’ve downloaded on my iPhone.
I’ve then connected to the tank, the iOS application requested yet an
other FW update which I did and which went fine.
Unfortunately, I can not get control on the tank anymore with this setup…

I’m on the point of giving up on this product and I start looking for alternatives…

Thanks.
Regards.


#18

Lets wait until the end of Chinese New Year when the staff is back from holidays. But I understand your frustration. the whole point of this product is to be accessible for beginners. There are way too many problems.

See also my comment here:


#19

I also had this exact problem… Also the Orion block whines now after it attempted the firmware update. So I have flipped that switch off. At some point, I believe after I turned off my bluetooth head set for my phone things just started to work. I am still not sure how that resolved the issue.


#20

After assembling my Bluetooth Robot Starter Kit, I have been unable to get it to do anything other than beep and blink lights at me since then. I have successfully performed many previous uploads to the Rambo board on my 3d printer (the RAMBO is an arduino compatible board that has all the motor drivers, fan and heat sensor connections etc for 3d printing). I had issues with uploading to Uno/Orion initially because I had left the Bluetooth and ultrasonic sensor connected to the board while trying to upload. Thanks to the fellow that suggested unplugging them before uploading as that did the trick and now it seems to upload ok. The machine still doesn’t do anything though. I can’t get the bluetooth app on my HTC to successfully connect to the robot. There isn’t anything in the sketch that mentions bluetooth, so I’m wondering if I uploaded the correct sketch. I used the sketch that was linked previously. When I try to upload the same sketch with the bluetooth portion from the master library added on and that test bluetooth patch won’t compile due to something not being declared. I am not an arduino programmer yet, so I am unsure how to properly declare it. The bluetooth module does light up and blink and I can see it on my HTC phone, but I can’t get it to connect. It fails every time.