How about reimagining an old Surface etc, to be used as the UI for a remote app running on an Arduino or RPi. UI runs as a touch based UWP app and communicates with remote devices using a textual protocol. UI (as a grid of  buttons) is specified by a Json string that is sent from the remote device. Commands representing button presses are then sent to remote device from UI which then performs the commands using sensors etc. (such as get temperature or humidity) and returns result as text for display. Communication between both ends can be Network Sockets, USB Serial or over Bluetooth.





Code Repository

GitHub Repository





    1. The UI
    2. Json Configuration
    3. Text Output
    4. SurfPad States
    5. TCPIP Socket Connectivity
    6. Bluetooth Connectivity-Connectivity
      Bluetooth Connectivity-Arduino Software
      Bluetooth Connectivity-UWP Software
      Bluetooth Connectivity-Win 10 IoT-Core Remote App
    7. USB Serial Connectivity

    8. Misc.

    9. RPI as the SurfPad (Bluetooth)


Additional Articles

Interconnection Issue over Bluetooth Serial

Notes on RPI Windows 10 IoT-Core WiFi & BT Connectivity

SurfPad: UWP Bluetooth to Bluetooth Connectivity Solved