Cant receive/send AT commands on BK8000L (Arduino Uno)

Hi I have recently bought a BK8000L F-6188. I can pair it to my laptop/phone and play audio through it. I now want to add AT command support so I can control it via my Arduino Uno ATMega328.

I have connected it like so:

|500x327

and use the following code:

#include 

SoftwareSerial swSerial(2,3); //rxPin, txPin

void setup() {
  Serial.begin(9600);
  swSerial.begin(9600);//also tried 115200

}

void loop() {
  /*
    Currently enter anything just to trigger sending AT+MA\r\n which is play/pause
  */
  if(Serial.available() > 0) { 
      swSerial.write("AT+MA\r\n");//also tried AT+MA
      Serial.readString();
      Serial.println("sent" ); 
  }

  //print out any received msg
  if(swSerial.available()) {
      String result;
      Serial.print("received: ");
      unsigned long startTime = millis();
      while (millis() - startTime < 900) {//900ns max timeout
          if (swSerial.available()) {
              char c = swSerial.read();
              result += c;  // append to the result string
          }
      }
      
      Serial.println(result);
    }
  
}

However this doesn't work. On a few occasssions i get something like received: ÿ□ however it seems this is just because ive fiddled with the wire.

On a good note when I do try to send a cmd the rx light on the Uno blinks once followed by the tx light blinking once. So the problem isnt sending/receiving on the arduino board. I suspect im missing something with the BK8000L.

I am using SoftwareSerial to connect it to pins 2 and 3, but have also tried to connect it to pins 0 and 1 (the actual TX/RX pins) obviously after uploading the sketch as you can't use them by default when doing that).

I have used baud rate 9600 and 115200

So just seems like the TX/RX is non-responsive. Has anyone had any success with it?

Some additional information [that ive just discovered]. When I use a Serial monitor app on the phone the module is paired with and send any sort of message (even gibberish) the module led blinks (however the module doesnt seem to send back to the serial monitor on phone - or at least im not seeing a response). So this makes me think it must be receiving or send. However Arduino monitor still cant receive. Perhaps my schematic is incorrect?

hi, any progress with this?

thx

As this is a bluetooth audio device then it is unlikely to support the SPP (Serial Port Profile) that is used by bluetooth modules such as the HC-05 that are commonly used with Arduinos.

There is no mention of AT commands in the datasheet for the device.

Bluetooth Basics

Hi Jim_bo,

I was also looking into this functionality via the Serial interface, but early days yet - not read too much about it. AT commands are supported on the unit I have which the datasheet supports here:

https://drive.google.com/drive/folders/0B6uNNXJ2z4Cxb0dWWHpnRjFDMU0

And there's a repo for it by Tomas here which may be useful.

https://github.com/tomaskovacik/BK8000L

My goal is to write a simple Android app that establishes a Serial port to send commands from my phone via BT and the SPP interface to pass-through the BK8000L using Rx to an Arduino, whilst playing a music track.

Might be a bit of a mission though.

Cheers, Rich.

Seems like cheap modules don't have configured serial communication: https://youtu.be/p5ptruefUnM?t=242

Maybe they are preprogrammed as I2C... ?

to get response from bk8000l on bluetooth terminal on android you need to send on serial first a command after each connection is made APT+SPP8888

more infos here https://github.com/tomaskovacik/kicad-library/tree/master/library/datasheet/F-6188_BK8000L

also you need to have a firmware with serial enabled you can load this firmware by flash the 8 pins chip that is on pcb board; this is a 25xxx 4mb memory ; some say it can be wrote no desoldering but it didnt work for me; use usbasp oc ch341 programmer and rear IC pdf for pinout

firmware bin files on same link from above

good luck :)