I regularly use my Nexus 7 or my Android smartphone (was Galaxy S2, now Nexus 5) to help me with my Raspberry Pi activities. Here is a ‘top ten’ roundup of my favourite Android apps that I use with Pi.
Sorry iPhone users. I don’t have an iPhone, but I expect many/most of these apps are available for iPhone too.
These apps are used for a whole range of activities, so I’ll try to put them in a reasonably logical order. Each app has an icon by its title. Clicking it, takes you to the Google Play page for that app.
Fing (free)
Picture the scene…
- You’ve just switched on your Raspberry Pi but you forgot to connect the HDMI lead, so you have no display. You don’t want to pull the plug, but you can’t ssh into it without the ip address. How to find it? Or…
- You got your headless Raspberry Pi up and running, but you forgot what ip address it’s on. Or…
- You rebooted your internet router and it’s changed the ip address of the Pi. What do you do?
You install Fing on your phone and use it to scan your whole network and tell you the ip and mac addresses of every connected device.
Very useful indeed. There’s no looking back once you’ve got Fing installed. It’s a superb app. You can assign names to each device and choose an appropriate icon to make identification easier. They recently added a Raspberry Pi icon too…
Once you know your Pi’s ip address, you can log into it remotely by ssh. How? Using the next app…
ConnectBot (free)
ConnectBot is a lovely little app that lets you log into your devices by ssh
I use it to log into my Pis from my tablet or phone…
- over wifi when I’m at a Raspberry Jam meeting,
- over the internet when I’m away from home
…and I even sometimes log into one of my web servers when I’m out and about.
It’s quite powerful because you can use your public/private keys with it, which makes it much more secure for you to expose your devices to the internet.
The default font is a bit small, and this catches people out. Once logged in, you can change the font size using the volume buttons on your device.
So you can ssh into your Pi, or any other ssh enabled machine, and get a command line console.
I used this a lot over the summer to keep an eye on my garden while I was away. I ‘ssh’ed into Pi, with Pi camera attached, and made it take a photo or stream video so I could see the state of things.
So, ssh works whether you’re near or far away from your Pi, as long as it’s connected to the internet. (I really do recommend you use keys for logging in, there’s a tutorial here.)
If your Pi isn’t on the ‘net, you can achieve a similar thing for short-range (~10m) console login with a Bluetooth serial adaptor and our next app…
Bluetooth Terminal Emulator (paid)
This is the only paid-for (£1.90) app in this roundup. There is a very good free alternative, called Blueterm, but it lacks the “killer feature” for which I bought Bluetooth Terminal Emulator.
If you have no internet connection or network, but you still want to be able to get a wireless console login, the answer is to use a Bluetooth serial adaptor and log into the Pi, with your mobile device, through the serial port (using the UART Tx & Rx on pins 8/10, GPIO 14/15). This is what I use on my RasPiCamcorders…
In the app, you can change the font size and the foreground and background colours to suit your preferences. And there are quite a lot of other options I haven’t even played with yet.
So, what’s the killer feature? It’s the only Bluetooth console app I’ve found (from about 3 or 4 I tried) that can actually handle the use of <CTRL>, which is quite important if you want to be able to stop a program with CTRL+C. So, in my opinion, that was well worth paying a couple of pounds for.
But there’s another hurdle to get over before you can do that easily. There isn’t a CTRL key on the default Android keyboard! But, as you’ve probably guessed, there’s another app that makes this possible.
All the console login apps can be used to greater effect with this enhanced keyboard app, that gives you extra keys (cursor keys, CTRL etc). We’ll go there next…
Hackers Keyboard (free)
This app is great because it gives you access to a fuller-featured keyboard than the standard Android offering. You’ve got keys like Ctrl, Esc, Alt, that are really useful in a command line environment. Without this kind of keyboard, a lot of functionality is lost, not just in command line situations, but others too.
Cursor keys are also really useful for repeating the last command (up arrow), moving around a file when editing in nano etc. Hackers keyboard is a must-have. Here’s what it looks like in landscape format with Bluetooth Terminal Emulator.
Note that it occupies a lot of the screen. If you don’t need the full five row layout, you can rotate the device to portrait to get more usable screen area. And, you can also change back to the standard keyboard at any time (or even change to Android’s voice input, if you’re feeling brave).
AndFTP (free, with paid upgrade option)
This is a really nice ftp client you can use to move files securely between your Pi and your mobile devices (in both directions). In the free version you can do FTP and SFTP. FTP is the old, original file transfer protocol, but SFTP is the secure version that works with SSH (secure shell).
I use SFTP exclusively with this app and it works perfectly with public/private SSH keys.
Both devices need to be on the same network, or connected to the internet. If you’re exposing your Pi to the internet, keys are almost mandatory (in my opinion).
I also use this with my GoFlex media server for transferring films (movies) to my Nexuses. It’s a lot faster than going through the clunky, slow ‘piece of poo’ software the GoFlex shipped with. And, if you’re happy navigating through a file system, it’s much more efficient to have direct control as well.
As with the other apps (apart from Bluetooth) you can use this with any web servers or other computers you want to transfer files to/from.
AndroidVNC (free)
The command line is where I prefer to be, most of the time. But there are some things, and some people, that simply aren’t comfortable without a Graphical User Interface (GUI).
Well, we can even give you that on your Android, if you install tightvnc on your Pi. (It’s very easy, see how to do that here.)
It takes about five minutes to install on the Pi, with just two commands, and another to run it. Then all you need is AndroidVNC, the IP address of your Pi (which you can get with Fing) and the password you set up for tightvnc. Once you’ve entered those details, they’re saved for future use. Then you’ll see this familiar sight…
…but be aware! There are limitations. Using a touch interface has its pitfalls. It’s not as precise for pointing as it would be with a mouse, but you can get some things done that you wouldn’t otherwise be able to. So it’s worth having and worth knowing about. I don’t use it a whole lot, but then I don’t use the GUI a whole lot in general. You might be different, so I include it for you.
RPiREF (free)
I was at the Oxford Jam. Alex Gibson had something he wanted to try. It needed the special functions on GPIO 4.
“Does anyone know which pin that is?”
He asked. Nobody did. But I had my Nexus with me. So I opened Matt Hawkins’ RPiREF and found it straight away. No messing about. (It’s pin 7 on P1 in case you’re wondering.)
RPiREF is a very simple and useful app that identifies all the pins on the three main Pi headers. I’ll usually have my phone or tablet with me, so I can always refer to it if needed.
It covers rev 1 and rev 2 Raspberry Pis, pin numbers, GPIO numbers and alternative functions. It’s free and it only takes up 3 Megabytes on your device. Unless you never connect things to your Pi, or you’ve memorised all the ports, you need this app!
VLC Beta (free)
VLC is a media player. Why do I need that for Pi? And why the Beta version?
If you want to be able to watch live video streams from your Raspberry Pi camera, VLC enables you to do it. But the stable version doesn’t work for this, so it has to be the Beta. A screenshot doesn’t do it justice, so see it in action on Galaxy S2 phone and Nexus 7 simultaneously in this video…
I already mentioned that I had a RasPiCamcorder set up to monitor my garden last summer. I would ssh into it, start it streaming, then use VLC to watch the stream. (Full instructions here.)
DropBox (free with paid upgrade options)
Another thing I did with this RasPiCamcorder last summer was have it upload photos of the garden to my DropBox account. I could log into the Pi, make it take a photo, then see that 5 Megapixel photo (about 30 seconds later) on my phone or tablet, both of which are synced to my DropBox account with the official DropBox app.
If you forward to 5 minutes and 7 seconds on this video, you can see how it works…
Dropbox and RasPiCamcorderLinks
How to use DropBox with Raspberry Pi
How to make a RasPiCamcorder
RasPiCamcorder software
Official XBMC Remote (free)
This one is fairly self-explanatory. If you’ve set up an XBMC based media centre on your Raspberry Pi, you can use this Android app on your wifi network as a remote control for XBMC. It takes just a few moments to set up, and it works really well (although it could probably do with a prettier ‘skin’ on the main user interface).
What’s Your Favourite Android App to Use with Pi?
I hope you’ve enjoyed this little mini review of my top 10 Android Apps for the Raspberry Pi, and that you’ve found at least one new app to play with and use. Let us know how you get on.
And if there are any apps not included, that you use with your Pi, we’d like to hear about them in the comments…
I think the OwnCloud app would be useful to several Raspeberry Pi owners: https://play.google.com/store/apps/details?id=com.owncloud.android
The OwnCloud server still runs very slow on the Pi, but it’s acceptable enough for a truly Free alternative to Dropbox.
[…] Read all about them here […]
Best Remote for RASPBMC, XBIAN, OpenElec and everything else based on XBMC.
https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetfree
That looks nice. I’ll have to try it someday. I don’t use XBMC all that much ;)
100% agree with this. Yatse is an amazing remote and I use it constantly.
This. Official XBMC remote is useless. Yatse remote is without doubt the best app I’ve ever downloaded.
Yatse is the best. Works fine with the library and also with files. Sending youtube links to xbmc from android works fine too. I’ll buy the full version and give streaming a try.
Juice ssh owns connect bot well worth having. Also get mqttitude to send your phone location to your raspberry pi if you install a mqtt broker such as mosquitto
Also seafile app is good. I use seafile instead of owncloud. Owncloud is terribly slow on the pi even with php optimisation
I actually have the full version of Juice. I got it when they had a special introductory promotion (free) last summer. But I haven’t “switched over” (yet). Only because I haven’t really made time to play with it.
Ah OK I like the layout and the more important keyboard buttons are always available unlike some other apps
Matt Manning’s echoing your opinion, so I’m going to have to have a look at Juice in more depth when I get a chance :)
Mine is Pi Sight – for obvious reasons :-)
That’s your camera control app isn’t it? I’ve not had a try of that yet
https://play.google.com/store/apps/details?id=com.pisight
Yep that’s the one. Need to upload the new python script though.
Pi Sight floats my boat! Thanks for that. Great for testing my Pi camera, before I toss it into the forest to take pictures of wildlife. With luck I’ll get a shot like this before their mother devours it..
http://yle.fi/uutiset/dancing_bear_cubs_make_it_to_us_newspaper/6949939
DroidEdit(free but for raspi I recommend to have paid(full) option) – it allow us to write software on android and compile it on remote machine, in my case it allows me to Write programs for university in C++ and C#.
BTsync indeed dropbox, ES file explorer, juice ssh and of course fing are the apps that use with raspberry pi and not only.
I think fing is the most useful app for anyone that works with computers, networks etc.
I use Fing at work all the time to help troubleshoot network issues. I also use Remote Ripple instead of AndroidVNC; the latter doesn’t seem to be as stable.
Of the ones you’ve listed: ConnectBot, Hacker’s Keyboard, AndroidVNC.
ConnectBot has an onscreen toggle for shift or ctrl, but it only applies for a single keypress. Hacker’s Keyboard gives a normal keyboard layout, allowing key combinations of a ctrl key or shift key, even to the point of allowing normal shift effects with the number keys. And, as a crowning glory, it’s got cursor keys.
As others have already suggested: ES file explorer, which not only allows you to browse the file system on your device, but incorporates SMB, FTP, SFTP, FTPS and WebDav connections (I’ve used it to transfer entire albums from my home server to my phone whilst on holiday in Portugal). And Yatse for XBMC control. Speaking of which, there is an XBMC application for Android, which works just like the normal version (it’s got problems with my DVDs, due to the capabilities of the Android device).
Fing looks like a useful addition for when I’m on random networks ;-)
Sure. It’s the Bluetooth apps that couldn’t handle CTRL apart from the paid one. ;)
I have and use ES file explorer, but didn’t realise it could do all that as well.
For XBMC remote control:
https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetfree
and assoc’d plugins:
https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetnotificationplugin
https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetstreamplugin
https://play.google.com/store/apps/details?id=org.leetzone.android.yatsewidgetqueueplugin
For SSH users needing ssh-agent functionality to manage public/private keys:
https://play.google.com/store/apps/details?id=com.madgag.ssh.agent
For VLC users:
https://play.google.com/store/apps/details?id=com.vlcforandroid.vlcdirectprofree
Total Commander has numerous plugins useful to access the pi:
https://play.google.com/store/apps/details?id=com.ghisler.android.TotalCommander
https://play.google.com/store/apps/details?id=com.ghisler.tcplugins.FTP
https://play.google.com/store/apps/details?id=com.ghisler.tcplugins.WebDAV
https://play.google.com/store/apps/details?id=com.ghisler.tcplugins.SFTP
https://play.google.com/store/apps/details?id=com.ghisler.tcplugins.LAN
That’s quite a list ;)
FYI, the “VLC Beta” app won’t work with my device MotoX running KitKat — listed as incompatible device?
Fortunately my above recommendation for VLCdirect does work with this device.
See http://www.upubuntu.com/2012/12/stream-video-and-music-from-pclaptop-to.html for details.
Interesting and useful, Alex – thank you.
I use RasPi Check. It shows running processes, mounted partitions, temperature of the pi, free memory and many other details. It also gives the option of sending a command to halt or reboot the pi with 1 click. Just enter your details of the pi (ip address,user & pw and that’s all.
Link to app. https://play.google.com/store/apps/details?id=de.eidottermihi.rpicheck
I tried that one out yesterday. Quite nice.
At first I wondered why it didn’t work, then spotted the extra “super user password” box that I’d missed.
I doubt if it’s one I’d use a lot, but quite an interesting project nonetheless. :)
Thanks for sharing us this valuable information
I found ConnectBot did not support Ctrl- key combinations so it was useless for nano or emacs. I could use the hackers keyboard but I’ve found JuiceSSH supports strange key combos right out of the box.
It does though. If you touch the screen you can get a ctrl pop-up option which you then press before the key you want. Not as elegant as it could be, but it is possible.
Excellent selection. I’ve used most of those, although not seen fing (so will add that!). For bluetooth I use Bluetooth spp pro (although not tried it for terminal, it is great for adding serial commands to on screen buttons). For VNC I use bVNC Free.
If you are running XBMC then “bubble pnp” is amazing for it.
“QPython” and “QPython 3” is worth having a go with for messing around with Python when you don’t have your Pi.
Also “920 Text Editor” is a great editor for code on the go.
“ES File Explorer” is very useful for browsing your Pi files you have shared over SMB.
I like ES File explorer, but I haven’t used it with Pi. Actually it’s got a lot I haven’t used. Been playing with it this morning.
Fing is excellent. Another one that didn’t make the cut because it’s not strictly Pi related (but I suppose it could be) is WiFi Analyzer.
I’m running a Gopher server on my Raspberry Pi (heh, who isn’t?) and so I use Floodgap’s free Android Overbite Android client to browse it. It’s not on the Play store so you can download it from http://gopher.floodgap.com/overbite/
[…] RasPi.tv has a useful post of the top ten android app for using with your pi. Here’s 3, for more click here. […]
JuiceSSH instead of connectbot. Even the free version.
[…] 可配合树莓派使用的十大Android应用 […]
S’funny….
I went down the list (I’m logged onto google in the pub where I am at the moment, consoling my girlfriend with a couple of beers to get over the loss of her cat*) and sent each one to my fondleslab (Galaxy Tab 8,9)
Bloody good list – thanks!
* She never had a cat. My girlfriend doesn’t need a concrete excuse for a couple of beers….
Plex for Pi http://rasplex.com/
[…] Top Ten Android Apps for use with Raspberry Pi; […]
Instead of connectbot try “vx connectbot”. You won’t be sorry.
For SSH file transfer I use SSH Send :
https://play.google.com/store/apps/details?id=kitty.cheshire.sshsend
Whilst my galaxy s5 was broken I was using a iphone and on their store is an app called “Official XMBC Remote” I doubt it is official but feels very polished and nice interface. When I got my galaxy fixed I went looking for a comparable app to this ios one and found only Yatse was similar. It isn’t as well put together as the ios one but deffo just as feature rich and gets my thumbs up.
Es file explorer – as it allows to set up a graphical sftp/ftp connection.
JuiceSSH – for the code snippets.
Total Commander with SFTP extension: it’s the best file manager on Android. Not so easy to use but really strong and reach of usefull feature as linux’s users likes!
VNC works very well for me, this is what I do when I connect to a new network (with no primary display)
Use fing to see Rpis ip address
use SSH to send a command to turn on VNC
Use VNC for a GUI display on my android phone
before I didnt have Fing so I couldnt do this, so thanks so much for teaching me that
JuiceSSH works great with Fing where you can open ssh straight from Fing
is there anything where you can save pi’s and commands so you only have to shutdown the pi by pressing 1 button?