Introduction: Use Your Tablet As Raspberry Pi Screen

Picture of Use Your Tablet As Raspberry Pi Screen

You need a certain type of monitor to use Raspberry Pi. Most of people do not have a monitor specifically for his/her Raspberry Pi. By taking this method, you can make your tablet or smartphone a screen for your Raspberry Pi. This will increase your productivity when you work with Raspberry Pi since you don't have to connect it with a PC screen.

Note that this technique works only when your Raspberry Pi and tablet/smartphone are connected to a same WiFi network.

For the detailed procedure, please refer to my blog.

Step 1: Check Raspberry Pi IP Address

You will be required IP of your Raspberry Pi in the following steps. You have to connect Raspberry Pi with screen and open the command line to In order to check the IP. Enter ifconfig or hostname -I. Keep the IP!

Step 2: SSH Client Setting - 1

Picture of SSH Client Setting - 1

SSH (Secure Socket Shell) client needs to be installed on your device. For example, Serverauditor is available both for Android and iOS devices. As an example, check my blog to set up SSH client, Serverauditor.

Step 3: VNC Server Installation and Setting

Picture of VNC Server Installation and Setting

You can do this either on your tablet as now your SSH is available. Of course, you can do this on your Raspberry Pi connected with a PC monitor. Open a console line and enter the command by referring my blog.

Step 4: Install & Set Up VNC Viewer App on Your Tablet

Picture of Install & Set Up VNC Viewer App on Your Tablet

Now you need to install VNC viewer app on your device. Many similar apps are available. The most famous one is the app by Real VNC. Once you install a VNC app, you need to set it up. You will need to enter Raspberry Pi IP followed by ":1" which is a display number. Also you will required VNC server password that you create in the previous step.


IvanH3 (author)2017-05-01


I encountered the following error at step 2.

Please advise.

Thank you.

ToolboxGuy (author)2016-10-09


If you have proper network routing set up on both
devices, this should be possible even over the Internet. It'd be too
entailed to describe the steps here, and since I don't have an rPi to
work with, I can't create an instructable to show you how. However,
what you will need to do is to add a forwarding rule to your home
Internet gateway/router, to point incoming traffic to your rPi.

Ports to open:

vnc-server 5900/tcp # VNC Server
vnc-server 5900/udp # VNC Server

ssh 22/tcp # The Secure Shell (SSH) Protocol

1) permanently assign an IP address to your rPi, on the gateway/router.

Create forwarding rule to allow incoming addresses asking for port 5900
to be redirected to that permanent IP address and same ports. Note:
This allows any monkey on the internet to poke your VNC services, so
make sure you have passwords set up. You may have to do the same for
port 22, or SSH. Again,if someone gets that password, they can take
over your rPi, and try attacking everything on your home network too.
You can tighten security by only allowing specific IPs to "come in", so
make sure to learn how to do that once you have a working connection.

3) From your rPi, Go to
to see what IP address from the "outside" you'd need to use on the
"outside computer." When you are "inside" you would use the IP from
step 1.


In regards to the IP
address details in the configuration of VNC, this interface is looking
for IP:Display# , not IP:port number. VNC is a tool to allow multiple
people to have separate virtual "displays" to interact with the VNC
server. Each user has a definition, which includes the display numbers,
in the example, it's display 1. Additionally, VNC can be changed to
unique ports per connection.

Fuzzywaffler (author)ToolboxGuy2016-11-10

3389 will open up rdp

PolashR (author)ToolboxGuy2016-10-13

Is it possible assign a fixed ip?
Your mobile connected to internet by a provider, you find ip by whatsmyip if you hit that ip with any other device, do you think request will come to your mobile ? You sure ?

Spokehedz (author)ToolboxGuy2016-10-09

No, no no... No. Do not do this. This is extremely dangerous, opening your network up to LOTS of bad things for zero gain.


Because there is no need to do so, when you are connecting to SSH anyway. Just use a SSH tunnel to connect to port 5900 through the SSH connection. Then all your traffic for both SSH and VNC is encrypted (Which most VNC connections are NOT by default) and you only have to open a single port.

Final warning: Do not open 5900 to outside traffic.

AntoineP8 (author)Spokehedz2016-10-12

Yes, It is the clever way to encrypt the communication using ssh tunnel !

pinchan (author)ToolboxGuy2016-10-10

Thanks. Your comment is definitely a good addition for this post. It's roughly mentioned,
But I didn't know what to do. As you advise, setting password is must for security, I think. Also thank you for pointing out wrong description. I corrected "port#" as "display#".

iancarbarns (author)ToolboxGuy2016-10-09

Rather than opening ports (which is inherently insecure) you can set up a free VPN service using Weave. See Raspberry Pi instructions at

mi1ez (author)iancarbarns2016-10-09

Or use proper port redirection. Pick a random public side port that maps to the standard private port.

BojanM11 (author)mi1ez2016-10-10

Using a different port than standard is nearly as insecure as using standard port is. Port sniffing is so easy to do nowadays that using non-standard ports is only useful if the attacker is using IP range discovery to hunt for low hanging fruit (people with open common ports) that he might gloss over you and pick someone else. If it's your specific system he is after using non-standard port is useless.

The onyl proper solution is to use secure/encrypted networking. Besides, NX/X2go are better for latency and speed in most cases than VNC and are inherently more secure because they're built atop of ssh -x and promote best practices (certificate based auth etc.)

GaganS (author)2016-10-22

Another method is set a static IP on the Pi, update to PIXEL(which has inbuilt VNC, has to be enabled in raspi-config), install VNC client in play store or app store, give the IP and get started.

VynncentM (author)2016-10-10

Optionally,you could use RDP. It works surprisingly well compared to VNC.

pinchan (author)VynncentM2016-10-14

This sounds interesting!

przemek (author)2016-10-11

It's possible to use the TCP/IP over USB, where you connect RasPi and
the tablet by a USB cable; which of course takes care of charging the
tablet battery. Caveat: I did it on a Beaglebone, but it should work on
RasPi as well.By the way, VNC is one way to do it, and you
can also install and run an X server on the tablet and display remote
X11 protocol.

googc (author)2016-10-09

nice! will the tablet get asleep if viewing long time?

pinchan (author)googc2016-10-11

It's up to your tablet. I didn't test how long battery lasted. But it doesn't consume battery so much, I feel.

Ajax4Hire (author)2016-10-10

Don't stop with the Raspberry Pi.

You can use VNC on any Linux based or Windows based computer. Install "tightvncserver" on either, configure(make sure to give it a password) and start.

Set the VNCserver to be either view-only or complete control.

Once you get it running, you will install it on anything you want to remotely access.

!Security Warning! VNC has little or NO security. do NOT VNC on an open network as 100% of your keystrokes can be captured and logged.

If you need more security, try tunnelling VNC thru SSH, google instructions.

I agree, NEVER open port 5900(VNC) to the wider network, that is just asking for trouble. Even SSH will be targeted with 100s of login attempts ever minute. Anything that is internet facing WILL be probed/attack and you will quickly find out how nefarious and ingenious the rest of the world is.

Ajax4Hire (author)2016-10-10

use "ifconfig" to get the IP address (or addresses).

"hostname -l" may return, the localhost IP address.

ifconfig will list all active network interfaces.

So, if you have a small USB-to-WiFi adapter, you will have two-2 real network interface: eth0=Wired Ethernet, wlan0=WiFi (and lo=loopback, the internal network)

You could use the simple shell script with grep to get just the ip address(es):

ifconfig | grep "inet addr:"

mopowah. (author)2016-10-09

This method requires another computing device as well. The only issue I see with this great for remote access but not the best to use as a screen in many situations. Other possibilities if you have a VGA based TV get an HDMI to VGA with audio converter and stick your RPI to the back of your TV viola a cheap PC for every TV in your home. I would like to see RPI alternatives devices that run on faster storage medium would be great like a hard drive or SSD for instance. Even better yet would be USB SSD drive boot or possibly next gen SD card storage will provide improvements to be more comparable with hard disk drives at the very least.

I love the possible but for me it lacks a lot storage being its largest bottleneck. Maybe this will change in the future I sure hope so.

Other possible things do exist out there for RPI already they do make usb based displays. They also make HDMI to DVI adapters methodology of using VNC is cool on a tablet but it would be neat to see tablets come with micro HDMI inputs and allow switching of inputs as a standardization in the future as well as phones. It would be a very cheap addition that would add a lot of possibilities to smart devices. It would also stop phones and tablets from hitting the landfill as quickly as well.

buteman (author)mopowah.2016-10-09

I have a RPI with a 3 terrabyte USB drive attached. No shortage of space at all. I back up my laptop and my wife's to it among other things.

mopowah. (author)buteman2016-10-09

Sure this is really a side issue the brunt of my point was to offer solutions to using an external monitor although I would be there is still a way to interface tablet monitors somehow. The users title is very misleading so I was attempting to help take off some of the pressures of this but exercising discussion about monitor use. As I said I am well aware of usb drive based use scenarios but it almost would have been better if that was where the image was ran from or heck even a sata port would have been a cool addition ... m.2 anyone?

I covered reasoning in depth to add other storage options ports etc.. mainly speed based issues. Again all of it is not relevant I suppose to the OP but the misleading title was sure to generate discussion and maybe that was the OP's intention now that I think of it.

LarryLong (author)mopowah.2016-10-10

There are plenty of (other) places to spark such a discussion

browneaction (author)mopowah.2016-10-09

You might want to google the raspberry pi and see why and it was designed

browneaction (author)2016-10-09

using a Pi as a media player plugged in to an HDTV is so 2012.

LarryLong (author)browneaction2016-10-10

agreed. Everyone stuck XBMC on it in the old days when it was an alternative to running a media PC in the living room. Gone are those days though. Perfectly good for running other services though

LarryLong (author)2016-10-10

No one uses them for that anymore, and you just contradicted yourself.

LarryLong (author)2016-10-10

Nice, I may try that though I don't tend to need to plug displays in to my Pis as I can web to them see check on the services they run. I've tried half a dozen monitors when setting them up and never had a problem though; only with a 720p HDTV that a little off centre which was annoying back in the day when everyone used to use them for XBMC (ie before Plex stole the show)

dj_segfault (author)2016-10-09

I'm a little confused about when and how you would do this. You
start out by saying many people don't have a monitor they can hook up to
their RPi so they can use this instead, but the very first step is to
hook the RPi up to a monitor. So you do in fact need a monitor that
will work with the RPi in order to do this. Am I missing something?

pinchan (author)dj_segfault2016-10-09

Thanks for your comment. I'm sorry if it's confused you.

Yes, you need a monitor at the beginning to check your IP. After that, you don't need it. I have a 22" monitor. I usually connect my laptop with it. I always work with my laptop but it's small, so it's not comfortable for me to work with it long time. So I didn't want to connect Raspberry Pi with the 22" monitor. Then I came up with this idea. Now I use the 22" monitor only for my laptop.

Is that clear?

iancarbarns (author)pinchan2016-10-09

You don't need a monitor. You should be able to look up the RPi's IP address by looking at your router's interface - in fact, better to look there anyway, because you will probably want to switch it to be a fixed local IP address which does not change day by day ...

So you may as well look it up and make it fixed in the same step ...

browneaction (author)dj_segfault2016-10-09

@dj_segfault. I have several RPs running tasks and virtually never need to plug a screen in to them after they were set up. So they are stored under the stairs with my fibre ONT, ISP router, IP camera POE switch etc out of the way. So a remote viewing method like this is handy for the odd occasion you need to change something

Collcroc123. (author)2016-10-09

Doesn't work. When I enter in 'chmod x +', it says:

chmod: invalid mode: 'x'

then if i try to do './', it just says

-bash: ./ Permission denied

How do I fix this?

Thanks for the replies. It was 'sudo chmod +x' after all!

Merlin04 (author)Collcroc123.2016-10-09

The command should be "chmod +x".

rcochran5 (author)2016-10-09

Your format for your IP address is wrong I believe.

It should look somethink like

0r <-different port (21)

Im not exactly sure what :(Port) you want to use with VNC for Pi

but I do know that the IP address has to have four sets of numbers seperated by (.) -

iancarbarns (author)rcochran52016-10-09

The number after the colon in VNC-Viwer is NOT a port number, it is the monitor number on the Raspberry Pi's VNC-Server, usually it will be :1.

In the picture in the Instructable, it does show :1, but the IP address shown only has 3 sections instead of 4!! (it says 192.168.16:1)

Usually it will be 192.168.XXX.YYY:1 where XXX:YYY need to be substituted by your RPi's local IP address on your home network

snorkpants (author)rcochran52016-10-09

generally a vnc server defaults to port 5900

He brings up a great point

Good idea to include in the guide, how to change this. Leaving it on port 5900 is asking to be hacked since Pi VNC still doesn't support 256 bit encryption and may never.

FlaredElectronics (author)2016-10-09

Sorry to scrutinize, but I feel the title is a little offsetting from the subject matter. With the HDMI or serial interface even if something goes wrong in software, you still see it. VNC isn't a monitor, its a type of terminal service. I would suggest "How to setup your Raspberry Pi Project to remotely view, and use with a Tablet or SmartPhone." It still requires that someone configure SSH, Switch it to command line login, and configure networking before you can start the Instructable. 90% of people will use HDMI for this so that throws the title off.

Another idea would be to include in your guide, how to configure a default SD image so you never need to do what I mentioned, therefore never needing the Monitor, keyboard, mouse, and seeking the IP in the first place.

To get around needing the IP, have it announce the host name via LocalDNS, and on first command login, run Sudo raspi-config and let the user decide what to call it.

BerndW (author)FlaredElectronics2016-10-09

FlaredElectronics, took the words right out of my mouth. Exactly what I thought as I just read it. Not using it as a monitor at all, but rather remotely controlling it. Which has merit but should really be described as such.

buteman (author)2016-10-09


buteman (author)buteman2016-10-09

whoops it's chmod +x

permissions in linux are represented by ( as a minimum ) 9 characters:

rwxrwxrwx first 3 are file owner permissions, the second members of the group and the last for everyone else.

r = read, w = write, x = execute

FlaredElectronics (author)2016-10-09

Add "sudo" in front of that command. I hate Linux people for failing to include this step in every guide on the internet. The people I point it out to don't do it on purpose as a "noob trap" I don't find it funny, and there are times when you should not use Sudo and times when you have to, leaving it out throws everyone off and forces them to guess. Just s heads up you might see this problem 100 times over again, so keep an eye out for it

LarryF29 (author)2016-10-09

Have you considered plugging your HDMI cable into your television ?, you can then use that as a temporary monitor to set up your Pi

browneaction (author)LarryF292016-10-09

I think you're missing the point. Raspberry Pis are normally hidden in a cupboard somewhere performing a task; not sitting on display beside a TV

LarryF29 (author)browneaction2016-10-09

Ok maybe I misunderstood that comment of not having a computer monitor to set it up with. Sounded like "how would I do this without having a monitor ". So my reply was that they could always use a tv for setup purposes. Never said they should run it on a tv

pinchan (author)LarryF292016-10-09

Thanks for a nice remark. Yes I have. Today TV has HDMI input. So you can use it as a monitor. Unfortunately as far as I know, tablets don't have HDMI input (some has only HDMI "output" like my x80 pro).

BrianS300 (author)2016-10-09

Look on your router for the pi's lp address

JunezRiyaz (author)2016-10-06


Swansong (author)2016-10-06

Thanks for sharing :)

About This Instructable




More by pinchan:Use your tablet as Raspberry Pi screen
Add instructable to: