Bringing Your Raspberry Pi on the Road: A Portable Pi Setup Guide

Let’s say you’ve built something cool with a Raspberry Pi — some project that requires physical access to your Pi. You’re about to head out the door, and you realize: you’ll need a way to reliably access that Pi when you’re not on your home network — portable Pi.

If you’ve ever tried this before, you know the pain. Connecting to a Pi outside your LAN is a minor nightmare. Tethering via USB? Finicky. Public Wi-Fi? Unreliable. Hotel or café networks? They’re usually locked down tighter than Fort Knox.

But don’t worry. You don’t need to go back to the dark ages of juggling dongles or dragging around a monitor and keyboard. With a little Tailscale magic and your phone’s hotspot, you can keep a secure and direct line to your Pi wherever you go.

What You’ll Need

To follow along, here’s what you’ll need to have beforehand:

  • A Raspberry Pi (any model with Wi-Fi will do)

  • Access to your home network for the initial setup

  • A phone with a working hotspot

  • A basic working knowledge of how to SSH into your Pi

You don’t need to be a Linux wizard—but if you’ve used ssh [email protected] before, you’re in great shape.

Step 1: Initial Setup at Home

Before you hit the road, let’s set things up on your Pi while it’s still cozy at home.

  1. Connect your Pi to your home network – Ethernet is best here, but Wi-Fi works too.

    1. Note: If using Wi-Fi, you will have to configure this in the Pi Imager before flashing your SD card.
  2. Enable SSH – This can be done in one of three ways:

    1. In the Pi Imager: Click the gear icon before flashing, enable SSH, and set your username and password.

    2. Using raspi-config: Run sudo raspi-config, go to Interface Options → SSH, and enable it.
      A screenshot of the Raspberry Pi Software Configuration Tool (raspi-config) showing the option "11 SSH", with a description stating "Enable/disable remote command line access using SSH". The option is highlighted in red, indicating it is currently selected.

    3. Via the boot directory: Add an empty file named ssh (no extension) to the /boot partition of the SD card.

  3. (Optional but recommended) Set up SSH keys – Password authentication is fine, but keys are smoother and more secure.

At this point, your Pi should be booted, connected to your network, and accessible via SSH.

Step 2: Installing Tailscale

Now comes the good part – making your Pi portable.

  1. Create a Tailscale account at tailscale.com.

  2. Install Tailscale on your laptop and connect it to your Tailnet (or whatever device you’ll use to connect to your Pi).

  3. Go to the Tailscale admin console, click “Add device” → “Linux” and copy the install command.
    Screenshot of the Tailscale "Add device" interface. It instructs users to install Tailscale on a new device and log in. There are platform options for Linux, Windows, macOS, iPhone & iPad, Android, and Synology. Below the options, there are links for "Email link", "Copy command", and "Read guide". A terminal command is displayed: curl -fsSL https://tailscale.com/install.sh | sh.

  4. SSH into your Pi, paste the Tailscale install command, and run it.

  5. Once Tailscale is installed, run sudo tailscale up and connect it to your Tailscale account by opening the printed link in your browser.
    Terminal screenshot displaying a successful Tailscale installation message. The user travis@portapi:~$ runs the command sudo tailscale up. The output instructs the user to authenticate by visiting a unique URL at https://login.tailscale.com/a/ followed by a blurred token
    Webpage titled "Connect device" displaying a prompt to connect the device named "portapi" to a Tailscale tailnet. A large blue "Connect" button is shown. Below, device details include the public key (partially blurred), hostname "portapi", operating system "linux (6.6.51+rpt-rpi-v8)", and Tailscale version "1.82.0-..." with the rest blurred.

  6. Once connected, you will need to approve your device in the Tailscale Admin Console
    Screenshot of the Tailscale admin panel showing the device "portapi" with a green status indicator. The status is labeled "Needs approval" in a red tag. A blue "Approve" button appears on the top right. The section also indicates which account manages the device, though the account information is blurred.

At this point, your Pi should have a 100.x.x.x IP address assigned by Tailscale (this will show in the Admin Console)—write that down. That’s your golden ticket.

Step 3: Setting Up the Hotspot Connection

Time to untether your Pi from the home network.

  1. Turn on your phone’s hotspot – Make note of the SSID and password.

  2. Navigate to the Pi’s wireless LAN configuration – If you’re using Raspberry Pi OS, you can easily do this via the NetworkManager TUI by running sudo nmtui.
    Screenshot of the NetworkManager TUI (Text User Interface) menu with the title "NetworkManager TUI" in red. The prompt reads "Please select an option" in blue. Menu options include "Edit a connection" (highlighted in red), "Activate a connection", "Set system hostname", and "Quit". An "<OK>" button is shown at the bottom right.

  3. Connect the Pi to your hotspot – In NetworkManager TUI, perform the following:
    1. Choose ‘Activate a connection’
    2. Arrow down to your hotspot’s SSID and press enter
    3. Enter your hotspot’s password and press enter
      Screenshot of a NetworkManager TUI interface showing a Wi-Fi selection menu. "Travis’ iPhone" is highlighted under the Wi-Fi section. A pop-up dialog displays the message "Authentication required by wireless network", asking for a password to connect to the wireless network 'Travis’ iPhone'. A blue password input field is shown, along with "<Cancel>" and "<OK>" options.
    4. After a few seconds, the Pi should connect, and a star should appear next to your hotspot’s SSID

Once connected to the hotspot, the Pi will boot, join your phone’s network, and immediately start Tailscale in the background. You can now SSH into it using that same 100.x.x.x IP—even though you’re on a mobile network with no port forwarding.

Terminal screenshot showing successful ping results to IP address 100.107.107.42 with 0% packet loss. The user then runs an SSH command: ssh travis@100.107.107.42. Upon connecting, the terminal displays system information for a Debian GNU/Linux system running on a Raspberry Pi (Debian 1:6.6.51-1+rpt3, aarch64). The session ends at the command prompt for user travis@portapi:~$, showing the last login time as "Mon Apr 7 17:36:36 2025".

Here is an image of me pinging my hotspot-connected Pi from a completely different network, then SSHing into it.

Bonus Tricks

Once Tailscale is up and running, you’ve got some additional bonus options:

  • Leave the Pi at home – Depending on your use case, you may occasionally want to leave your Pi at home, but still have access to it. As long as it’s on and connected to your home network, you can connect from anywhere through Tailscale. No more setting up dynamic DNS or poking holes in your router.

  • Use Tailscale’s MagicDNS Instead of remembering IPs, name your Pi something like ‘portapi’ and connect like it’s a regular hostname.

  • Tailscale Sharing – Want a friend or coworker to access your Pi too? Just share the device with their Tailscale account. No VPN config or open ports necessary.

Portable Pi Wrap-Up

A Raspberry Pi that just works—anywhere, anytime—is a great tool for hobbyists, developers, and tinkerers. Whether you’re using it as a Software Defined Radio platform, working on a hardware project that requires GPIO access, demoing at a conference, or just playing around on your lunch break, this simple setup gives you secure and portable access to your projects.

No cables, no network gymnastics—just you, your Pi, and the open road.

Conversation

Join the conversation

Your email address will not be published. Required fields are marked *