diff --git a/App/RobobinApp/ViewModels/ConnectionPageViewModel.cs b/App/RobobinApp/ViewModels/ConnectionPageViewModel.cs
index 14acad7d8fef6247da16ca9d7bd20773ec5787b3..9a4c2b1f73dbaa73727c4a202846bc45e654461d 100644
--- a/App/RobobinApp/ViewModels/ConnectionPageViewModel.cs
+++ b/App/RobobinApp/ViewModels/ConnectionPageViewModel.cs
@@ -19,6 +19,7 @@ using System.Reflection.PortableExecutable;
 using Plugin.BLE.Windows;
 using System.Text;
 using System.Windows.Documents;
+using Robobin.Interfaces;
 
 namespace RobobinApp.ViewModels
 {
@@ -43,6 +44,10 @@ namespace RobobinApp.ViewModels
         public const string SendReceiveServiceUUID = "00000001-710e-4a5b-8d75-3e5b444bc3cf";
         public const string rxUUID = "00000002-710e-4a5b-8d75-3e5b444bc3cf";
         public const string wxUUID = "00000003-710e-4a5b-8d75-3e5b444bc3cf";
+        public const string readCharacteristicName = "CPU Temperature";
+        public const string writeCharacteristicName = "Temperature Units (F or C)";
+
+
         public string tempUnit = "C";
 
         public bool IsConnected
@@ -52,7 +57,7 @@ namespace RobobinApp.ViewModels
             {
                 _isConnected = value;
                 OnPropertyChanged();
-                OnPropertyChanged(nameof(ConnectButtonText));  // Update button text when connection state changes
+                OnPropertyChanged(nameof(ConnectButtonText));  
             }
         }
         private ICharacteristic _readCharacteristic;
@@ -109,6 +114,11 @@ namespace RobobinApp.ViewModels
 
         public ConnectionPageViewModel()
         {
+
+            _bluetoothLE = CrossBluetoothLE.Current;
+            _adapter = CrossBluetoothLE.Current.Adapter;
+
+
             BluetoothDevices = new ObservableCollection<BluetoothDevice>();
             WifiNetworks = new ObservableCollection<WifiNetwork>();
             ConnectCommand = new Command(OnConnect);
@@ -119,8 +129,8 @@ namespace RobobinApp.ViewModels
             SendWifiInfoCommand = new Command(OnSendWifiInfo);
 
             TestWriteOperation = new Command(async() => await PingPiASync());
-            _bluetoothLE = CrossBluetoothLE.Current;
-            _adapter = _bluetoothLE.Adapter;
+           
+          
             _adapter.DeviceDiscovered += OnDeviceDiscovered;
             IsWifiNetworkSelectionVisible = false;
 
@@ -154,7 +164,7 @@ namespace RobobinApp.ViewModels
             Debug.WriteLine("Retrieving Wifi networks from readCharacteristic");
 
             //Delay 5 seconds
-            await Task.Delay(5000);
+            await Task.Delay(2500);
 
             //var networks = await ReadOperationAsync();
             var networks = "Network1\nNetwork2\nNetwork3"; // For testing
@@ -347,15 +357,22 @@ namespace RobobinApp.ViewModels
 
                             foreach (var characteristic in characteristics)
                             {
-                                var descriptor = await characteristic.GetDescriptorsAsync();
-                                Debug.WriteLine($"{characteristic.Uuid} | {characteristic.Name} | {descriptor}");
-                                if (characteristic.Uuid.Equals(rxUUID))
+                                var descriptors = await characteristic.GetDescriptorsAsync();
+                                foreach (var descriptor in descriptors)
+                                {
+                                    var descriptorValue = await descriptor.ReadAsync();
+                                    var descriptorValueString = Encoding.UTF8.GetString(descriptorValue);
+                                    Debug.WriteLine($"Descriptor: {descriptor.Id} | Value: {descriptorValueString}");
+                                }
+
+                                Debug.WriteLine($"{characteristic.Uuid} |{characteristic.Name}");
+                                if (characteristic.Name.Equals(readCharacteristicName))
                                 {
                                     ReadCharacteristic = characteristic;
                                     var result = await ReadOperationAsync();
 
                                 }
-                                else if (characteristic.Uuid.Equals(wxUUID))
+                                else if (characteristic.Name.Equals(writeCharacteristicName))
                                 {
                                     WriteCharacteristic = characteristic;
                                     const string command = "SCAN";                                  
@@ -485,8 +502,8 @@ namespace RobobinApp.ViewModels
                     IsWifiNetworkSelectionVisible = false;
                     // Dispose of the device reference
                     if (_connectedDevice != null)
-                        _connectedDevice.Dispose();
-                    _connectedDevice = null;
+                    //    _connectedDevice.Dispose();
+                        _connectedDevice = null;
                     IsConnected = false;
                     ScanDevices();
                     await Application.Current.MainPage.DisplayAlert("Disconnected", "Device disconnected successfully.", "OK");