Headless SBC (Single Board Computer)

Table of Contents

Definition

Headless is when an SBC (single board computer) is installed in a robot without a monitor, keyboard, or mouse.

Mounting an SBC on the robot, such as a LattePanda, Rock Pi X, Up Board, Atomic Pi, etc., provides the freedom for your robot to roam autonomously. The computer will most likely not have a monitor, keyboard, or mouse when running headless. Meaning you have to interact with the computer remotely over a remote desktop connection. There are a few things to consider when setting up a computer for a headless robot.

*Note: We recommend reviewing our Windows 10 Performance Tips before continuing these steps.

Do Not Disconnect Power to Shutdown

Never flip the switch on a robot computer while it is running. Doing this multiple times can corrupt the file system, as any unsaved data is lost.

  • Use the Windows Shutdown option in the start menu.
  • Use a JavaScript or Python command in ARC like ShutdownPC().

Disable Windows Password

When installing Windows, you can leave the password blank. If you already set a password, you can remove it:

Press the Windows key or Start Menu and type "Change Password."

Enter your current password and leave the new password field blank.

Remote Terminal Connection

There are several options for sharing the desktop remotely from another computer or device. Here are two of the options we recommend.

  • Tight VNC: For third party across any device, we recommend using Tight VNC for remote access. By default, it uses TCP port 5900, allowing you to connect remotely via your router's public IP address.
  • RAS (Remote Access Service): ARC has a built-in remote access service which allows sharing not only the display but the audio input and output. Read more about it HERE

Connecting to Headless Robot by IP Address

Use the IP address of your robot to connect. On the same network, run ipconfig in Command Prompt.

Speak IP Address

The ARC skill can announce the IP address when a network connection is established.

Get Local IP Address

Get Remote IP Address

If connecting remotely, forward port 5900 TCP to the robot's local IP.

Headless HDMI Resolution

When no monitor is connected, Windows may default to a low resolution. To fix this, use an HDMI Dummy Emulator, such as this one on Amazon.

Once connected, adjust the resolution in Windows.