HM-11 BLE (Xadow BLE and BLE bee) not working in master mode

Hi,

I watched this video for HM-10 that shows pairing master/slave with two BLE modules:

I have two problems:

  1. HM-11 BLE BEE in Uartsbee (V4 and V5) does not respond to any AT commands (AT should return OK at 9600baud rate). Uartsbee is connected to PC and I have console open. When switching from HM-11 to Meshbee, setting 115200baud and issuing +++ returns answer to the console. So the problem is that BLE BEE is not responding. PWR led on Uartsbee is steadily on. LED with name ‘ON’ is blinking on Uartsbee.

  2. I have two XADOW BLE modules with two mainboards. In slave mode they work ok. I can receive and send data to Android tablet with BLE. Now I turn off BLE on Android and want to connect two Xadow BLE to each other. AT+ROLE0 returns OK+SET0. AT+ROLE1 on other device returns OK+SET1. According to the Youtube video, it should now return also OK+CONN. But this never happens.

I bought it like 6 months ago and still cannot solve this :frowning: …tried also other AT commands from data sheet such as AT+DISC? for discovery. But your demo source code does not work for me: seeedstudio.com/wiki/Xadow_-_BLE …only AT+ROLE[] command works, but it’s not pairing with the master.

Please help, I’m lost :smiley:

Your antispam didn’t like offsite links. So here the Youtube video: youtube com/watch?v=nliVeSmpFgg

Right now I’m going to test Bees shield+Seeeduino V3 with BLE Bee. There is some RX/TX jumper for console debug…glad I bought more solutions :smiley:

Got it tha pairing working. Had to use Bee Shield+Seeeduino V3. AT commands works only with delay?

 
#define SerialBaud   9600
#define Serial1Baud  9600
void setup()
{
  Serial.begin(SerialBaud);
  Serial1.begin(Serial1Baud);
  while(!Serial.available());
// set master
Serial1.print("AT+CLEAR");
  delay(1000);
Serial1.print("AT+ROLE1");
  delay(1000);
Serial1.print("AT+DISC?");
  delay(1000);
}

void loop()
{
  //Serial1.print("test I am slave ");
  //delay(10000);
    if (Serial.available())
    {
      Serial1.write(Serial.read());
    }
    if (Serial1.available())
    {
      Serial.write(Serial1.read());
    }
}

This will return: OK+CLEAROK+SET1. But AT+DISC? should return something as well. On the other side I did run: AT+ROLE0 and now it has paired!!

Seeeduino V3 with SoftSerial:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(7, 8);

void setup() {
  Serial.begin(9600);
  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  mySerial.println("Hello, world?");
  delay(1000);
}

void loop() {
  // run over and over
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available())
    mySerial.write(Serial.read());
}

However I can send only from master to slave. Slave to master does not print anything. Also characters from master to slave are muffled - looks like a wrong baud rate or something. But I tried issuing AT+BAUD0 on both and am setting 9600 serial speed on both as well. Arduino Console is set to 9600 too.

UPDATE: Right now I plugged the BLE back to Uartsbee V5 (UART mode) and Xadow BLE can talk to each other! But characters are still muffled.
It prints ÿ for each character no matter if I type a, b, 1, 0…

I’m using Windows 7 by the way.

So the HM-11 in Uartsbee had a different baud rate. Now it works both sides! :slight_smile:

Still don’t know how can I issue AT commands through Uartsbee…