Unable to recieve data via BLE - send works fine

Hi, I’m having trouble getting my app to display any data received via BLE in my app. I’ve only been able to get an error code if I use call – BLE1’s Receive String – in which case the error reads: Can’t read the characteristic provided error – however I believe that’s not relevant, because my data is being sent via notify not read in my code so it should populate with a “when BLE1 characteristic change” if I understand correctly.

Here’s a screenshot of the relevant blocks:


Here’s the relevant parts of my Arduino code:

// This function builds a plain-text string with each schedule
// formatted as "HH:MM,runTime,settleTime,dose" (each schedule on a new line)
// It then prints the string along with the notify characteristic UUID,
// sets it as the value for the response characteristic, and sends a notify.
void sendSchedulesToApp() {
  String data = "";
  for (int i = 0; i < scheduleCount; i++) {
    // Format time with leading zeros for consistency
    String hourStr = (schedules[i].hour < 10 ? "0" : "") + String(schedules[i].hour);
    String minuteStr = (schedules[i].minute < 10 ? "0" : "") + String(schedules[i].minute);
    String line = hourStr + ":" + minuteStr + "," +
                  String(schedules[i].runTime) + "," +
                  String(schedules[i].settleTime) + "," +
                  String(schedules[i].dose);
    data += line;
    if (i < scheduleCount - 1) {
      data += "\n"; // Newline separates each schedule
    }
  }
  
  // Debug print: show the UUID and the exact data being sent
  Serial.print("Sending schedule data via notify on characteristic ");
  Serial.print(RESPONSE_CHARACTERISTIC_UUID);
  Serial.print(": ");
  Serial.println(data);
  
  responseChar->setValue(data.c_str());
  responseChar->notify();
}

void Setup() {
  //Initialize BLE
  responseChar = pService->createCharacteristic(
    RESPONSE_CHARACTERISTIC_UUID,
    BLECharacteristic::PROPERTY_NOTIFY
  );
  responseChar->addDescriptor(new BLE2902());

I can call the function using the app via transmit string, but no matter what I’ve tried I cannot get the response(notify) string to populate in the app. Any help would be massively appreciated, thanks!

proof of the Arduino receiving GETSCHEDULES:

Gemini was able to solve the problem! The issue seems to have been with the UUID: efgh5678-ab12-cd34-ef56-abcdef654321

I changed it to: 19B10001-E8F2-537E-4F6C-D104768A1214 and now it works as expected, I’m not sure if thats due to the string characters, or it being all caps, but FYI in case anyone else finds this thread. Now the delimiter \n doesn’t work as shown in the image or with the “newline” block. But at least I’m making progress so this is fixable, hooray!