In case someone else comes along looking for a solution to this problem. Simply add this callback before the while loop: def char_notify_callback(char): char_value = (char.value()) print("Got new char: {} value: {}".format(char.uuid(), char_value)) And update the char condition: if ((char.properties()) & (Bluetooth.PROP_NOTIFY)): characteristic.callback(trigger=Bluetooth.CHAR_NOTIFY_EVENT, handler=char_notify_callback, arg=None)