The SurfPad project as on GitHub and hackster.io is a UWP app that runs on a touchscreen Windows device. It runs as the configurable UI for an app running on an embedded device such as an Arduiino device or a Raspberry Pi (running IoT Core).. The frontend sends single characters as commands (representing button presses) whereas the backend returns responses as text strings, representing sensor data that the remote device has determined. So the communication data is textual. The communication between the two devices can be a network sockets client-server conduit, USB Serial or Bluetooth Serial. Whilst Bluetooth Serial works OK between a Windows 10 desktop (or IoT Core) as the frontend and an Arduino device as the remote backend, using an IoT Core device as the backend has been shown to be problematic. This article presents an alternative based upon Bluetooth RFComm Chat client –server architecture, which does work.
As covered in previous blogs ... Interconnect issue over Bluetooth Serial & Notes on RPI Windows 10 IoT-Core WiFi & BT Connectivity ... there is problem passing data between two UWP apps over Bluetooth Serial. This uses the SPP profile that sits on top of RFCOMM the underlying Bluetooth serial conduit. Whilst it does working quite simply between a UWP app and an embedded device such as an Arduino Uno (Arduino Bluetooth Shield) it doesn't work between two UWP apps, whether Windows 10 desktop or IoT Core. A suggested alternative mechanism is RFCOMM Chat (Client-Server) as in the GitHub UWP sample: Bluetooth RFCOMM chat sample