🛠 Discovering I/O on PlugMate

TrustKernel PlugMate : Secure Miniature USB-C Computer running PlugOS · debutant · Apprenez à interagir avec les périphériques virtuels et le système d'exploitation sécurisé du PlugMate sans risque pour l'hôte.

Objectives

This tutorial aims to understand the PlugMate's secure architecture and explore how internal applications interact with peripherals via virtualization. Unlike a classic Raspberry Pi, the PlugMate does not expose physical GPIO pins. The goal is to master the isolation concept: applications run in an encrypted environment (PlugOS) and do not directly access host hardware, but use secure virtual interfaces.

Required Hardware

Steps

  1. Connection and Startup: Insert the PlugMate into the host's USB-C port. Launch the client app. Wait approximately 24 seconds for PlugOS to fully start. You will see the hardened Android 14 home screen.
  1. Access System Settings: Navigate to *Settings* > *About Phone*. Tap *Build Number* 7 times to enable developer options. Return to the main menu and enter *Developer Options*.
  1. Enable USB Debugging: Enable the *USB Debugging* option. This step is crucial to allow secure communication between your host and the PlugMate for development. Note that the system firewall may request explicit permission during the first ADB (Android Debug Bridge) connection.
  1. Explore Virtual Peripherals: Open a "Terminal" or "File Manager" type app preinstalled or installed via the secure store. Type the command ls /dev to list devices. You will observe entries like /dev/virtual_gps or /dev/virtual_camera. These interfaces are secure bridges to host sensors, without raw direct access.
  1. Test Keyboard Input: Open a simple text editor. Type on the host's virtual or physical keyboard. Observe that characters appear in the PlugMate application. This confirms that the USB-C channel transmits input events in an encrypted and isolated manner.

Verification

To validate functionality, verify that data typed in the PlugMate text editor is not visible in host applications, ensuring strict isolation. Additionally, ensure the duress PIN is configured in security settings to erase keys in case of physical coercion.

Going Further

Explore the PlugOS API documentation to create applications that use virtual location. Note that the PlugMate does not work on Intel Macs or Windows ARM.

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials