How to upgrade DF BLE device bootloader to 2.0?
How to upgrade DF BLE device bootloader to 2.0?
The neweset version bootloader for BLE products developed by DFRobot can prevent Bootloader Lost for moter interfere, insufficient current supply, etc. It had been tested by our engineers. So let's upgrade the newest firmware.
Note: About how to use the software and more into, you can visit Bluno wiki to get more info about how to use the simple software to update the firmware of Bluno.
Hardware requirement:
Only a micro USB cable and your BLE card(Here, I use Bluno Mega2560 as an example.)
STEPS
1. Press the button BOOT
2. Hold on the step 1 and plug the usb connecting with your PC. And you will see the two LED, pair&link, are flashing regularly.
3. Open the program BlunoFWDownload, and it will recognize the com port automatically, do some settings(115200bps is more stable when upgrading, 25600bps cab be faster but easy get failed.), and select the file "SBLV1.0ToSBL2.0.bin" which is to upgrade the bootloader from V1 to V2. Click the downwawrd arrow to perform the action.
4. After it is finished, you could notice some error alert popping up on your computer ceaselessly. Don't worry, it's ont finish yet.
5. Close the program, unplug the USB cable. And repeat the step 1,2,3. That is: Hold the button BOOT > Plug the USB cable > Open the software BlunoFWDownloader
6. Select the newest firmware(Download from Github), here, I select 1.96 for Bluno MEGA2560. And upload again, wait for done.
You can
- Upload a sketch to Bluno mega2560 to see if it can be performed. Or
- use the BlunoBasicDemo, that is an APP run on iPhone/Android (supported?), to have a test.
NOTE: Please use the AT command AT+SETTING=DEFAULT to set all the default setting in case of that you made some modification before. The firmware uploading won't change any settings you've made.
Upload the sketch below, it will receive what you have sent from your phone and print some info to your phone, what's more, if you
1. send "1", it will open the LED on card connected with D13
2. send "0", it will turn it off.Code: Select allString val = "";
boolean mark = LOW;
void setup() {
Serial.begin(115200);
pinMode(13, OUTPUT);
}
void loop() {
while (Serial.available()) {
val += char(Serial.read());
delay(2); // Can't be deleted for it needs time to read Serial1
mark = HIGH;
}
if (val.length() == 1) { //Send command without CR/ LF/ NL
if (val == "1") {
digitalWrite(13, HIGH); //turn on the LED on D13
Serial.println("LED is ON!");
}
else if (val == "0") {
digitalWrite(13, LOW); //Trun off
Serial.println("LED is OFF!");
}
}
if (mark == HIGH) {
Serial.print("Length: "); Serial.println(val.length());
Serial.print("Val: "); Serial.println(val); delay(50);
Serial.println("Done"); Serial.println();
Serial.flush();
val = "";
mark = LOW;
}
}