diff --git a/ButtonControls/RPiBluetooth.py b/ButtonControls/RPiBluetooth.py
new file mode 100644
index 0000000000000000000000000000000000000000..5ad351d4a82dc6729618148c3231e0b9f6721730
--- /dev/null
+++ b/ButtonControls/RPiBluetooth.py
@@ -0,0 +1,64 @@
+import dbus
+from dbus.mainloop.glib import DBusGMainLoop
+from gi.repository import GLib
+
+ADVERTISING_UUID = '00001801-0000-1000-8000-00805f9b34fb'
+
+def register_ad_cb():
+    print("Advertisement registered")
+
+def register_ad_error_cb(error):
+    print(f"Failed to register advertisement: {error}")
+
+def register_advertisement(adapter, advertisement):
+    ad_manager = dbus.Interface(adapter, 'org.bluez.LEAdvertisingManager1')
+    ad_manager.RegisterAdvertisement(advertisement.get_path(), {},
+                                     reply_handler=register_ad_cb,
+                                     error_handler=register_ad_error_cb)
+
+class BLEAdvertisement(dbus.service.Object):
+    def __init__(self, bus, index):
+        self.path = f"/org/bluez/example/advertisement{index}"
+        self.props = {
+            'Type': dbus.String('peripheral'),
+            'ServiceUUIDs': dbus.Array([dbus.String(ADVERTISING_UUID)]),
+            'LocalName': dbus.String('MyRaspberryPi')
+        }
+        super().__init__(bus, self.path)
+
+    def get_path(self):
+        return dbus.ObjectPath(self.path)
+
+    @dbus.service.method('org.bluez.LEAdvertisement1', in_signature='', out_signature='a{sv}')
+    def GetProperties(self):
+        return self.props
+
+    @dbus.service.method('org.bluez.LEAdvertisement1', in_signature='', out_signature='')
+    def Release(self):
+        print(f"{self.path}: Released")
+
+def main():
+    DBusGMainLoop(set_as_default=True)
+    bus = dbus.SystemBus()
+    
+    # Access the Bluetooth adapter
+    adapter = dbus.Interface(bus.get_object('org.bluez', '/org/bluez/hci0'), 'org.bluez.Adapter1')
+
+    # Make sure the adapter is powered on
+    adapter_props = dbus.Interface(bus.get_object('org.bluez', '/org/bluez/hci0'), 'org.freedesktop.DBus.Properties')
+    adapter_props.Set('org.bluez.Adapter1', 'Powered', dbus.Boolean(1))
+
+    # Create the BLE advertisement and register it
+    advertisement = BLEAdvertisement(bus, 0)
+    ad_manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez/hci0'), 'org.bluez.LEAdvertisingManager1')
+    
+    ad_manager.RegisterAdvertisement(advertisement.get_path(), {},
+                                     reply_handler=register_ad_cb,
+                                     error_handler=register_ad_error_cb)
+
+    print("BLE Advertising started. Press Ctrl+C to stop.")
+    mainloop = GLib.MainLoop()
+    mainloop.run()
+
+if __name__ == '__main__':
+    main()