diff --git a/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Commands.cs b/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Commands.cs
index 0f7d33ac..7f10e7cc 100644
--- a/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Commands.cs
+++ b/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Commands.cs
@@ -156,6 +156,11 @@ public class Monitor_Ping
///
public const uint Monitor_Ping_c_ConfigBlockRequiresErase = 0x00040000;
+ ///
+ /// This flag indicates that the device has nanoBooter.
+ ///
+ public const uint Monitor_Ping_c_HasNanoBooter = 0x00080000;
+
///////////////////////////////////////////////////////////////////////
public uint Source;
diff --git a/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Engine.cs b/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Engine.cs
index 346f17ed..9fed0699 100644
--- a/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Engine.cs
+++ b/nanoFramework.Tools.DebugLibrary.Shared/WireProtocol/Engine.cs
@@ -132,6 +132,11 @@ public BinaryFormatter CreateBinaryFormatter()
/// This indicates if the device has a proprietary bootloader.
///
public bool HasProprietaryBooter { get; private set; }
+
+ ///
+ /// This indicates if the target device has nanoBooter.
+ ///
+ public bool HasNanoBooter { get; private set; }
///
/// This indicates if the target device is IFU capable.
@@ -237,6 +242,8 @@ public async Task ConnectAsync(
ConfigBlockRequiresErase = (reply.Flags & Commands.Monitor_Ping.Monitor_Ping_c_ConfigBlockRequiresErase).Equals(Commands.Monitor_Ping.Monitor_Ping_c_ConfigBlockRequiresErase);
HasProprietaryBooter = (reply.Flags & Commands.Monitor_Ping.Monitor_Ping_c_HasProprietaryBooter).Equals(Commands.Monitor_Ping.Monitor_Ping_c_HasProprietaryBooter);
+
+ HasNanoBooter = (reply.Flags & Commands.Monitor_Ping.c_Ping_Source_NanoBooter).Equals(Commands.Monitor_Ping.Monitor_Ping_c_HasNanoBooter);
IsIFUCapable = (reply.Flags & Commands.Monitor_Ping.Monitor_Ping_c_IFUCapable).Equals(Commands.Monitor_Ping.Monitor_Ping_c_IFUCapable);