Android Phone Workstation
< RFC >
It is possible to connect a physical keyboard, mouse and display to an Android phone to make it into a more productive for some tasks.
Revisions:
20210310 pre-draft <bob.ajob
20250903 found, ping
Ties to:
* 🔗dev-android-repurpose
* 🔗mobile
* 🔗workflow
Table of Contents
| 1 | *** |
| 1.1 | Basics |
| 1.2 | USB Accessories |
| 1.3 | Mouse |
| 1.4 | Display |
| 1.5 | Optimising the phone for second displays |
| 1.6 | Holding the display |
| 1.7 | Keyboard shortcuts |
| 1.8 | USB Storage |
| 1.9 | ADB over USB |
| 1.10 | Operating system |
¶Basics
The power conserving design of Android devices makes them interesting options for off grid use.
A suitable phone holder can bring the phone up to eye level and make it more practicial to use the phone with keyboard and mouse without an additional display.
The power conserving design of Android devices makes them interesting options for off grid use.
A suitable phone holder can bring the phone up to eye level and make it more practicial to use the phone with keyboard and mouse without an additional display.
¶USB Accessories
Due to USB OTG it is possible to attach USB devices to android device. Adaptors are available to suit either micro USB or the increasingly common (and more robust) USB C ports and provide a female USB A port, that will accept a common USB keyboard or mouse. USB C and micro USB hubs are also available allowing multiple USB devices to be utilised.
Care should be taken to minimise stress on the phones USB port.
It is worth considering that it is common for phones, chargers, accessories and leads to not fully comply with USB specifications. If you don't achieve expected behaviour it is worth trying to unplug a USB C plug and turning it over and plugging it back in. Some USB hubs are fussy about their power supply. One which required power via USB C did not function with an 18W PD power supply, but worked with a lower power supply.
Due to USB OTG it is possible to attach USB devices to android device. Adaptors are available to suit either micro USB or the increasingly common (and more robust) USB C ports and provide a female USB A port, that will accept a common USB keyboard or mouse. USB C and micro USB hubs are also available allowing multiple USB devices to be utilised.
Care should be taken to minimise stress on the phones USB port.
It is worth considering that it is common for phones, chargers, accessories and leads to not fully comply with USB specifications. If you don't achieve expected behaviour it is worth trying to unplug a USB C plug and turning it over and plugging it back in. Some USB hubs are fussy about their power supply. One which required power via USB C did not function with an 18W PD power supply, but worked with a lower power supply.
¶Mouse
Both USB and Bluetooth mice work with Android. A pointer should appear on screen as soon as the mouse is connected.
Both USB and Bluetooth mice work with Android. A pointer should appear on screen as soon as the mouse is connected.
¶Display
Its likely that secure screens, where the app blocks the taking of screenshots will not be shown on an external display. It is often possible to change this behaviour in the apps settings. Chromium and forks can enable this by visiting chrome://flags/#incognito-screenshot
Android 10 supports more than 2 displays https://source.android.com/devices/tech/display/multi_display/displays#more_displays
Micro USB
MHL
First on Samsung Galaxy S2 https://en.m.wikipedia.org/wiki/Mobile_High-Definition_Link
Slimport
https://en.m.wikipedia.org/wiki/DisplayPort#SlimPort
Displaylink
See below
USB C
Display port
Many Android devices with USB C offer display port over usb C https://web.archive.org/web/20191003182256/https://en.wikipedia.org/wiki/List_of_devices_with_video_output_over_USB-C
Displaylink
Need to install the Displaylink Presenter app.
https://www.displaylink.com/downloads/Android
Despite what that page says, it appears some phones can be charged (maybe all USB C?) while connected to a Displaylink display.
Mirrors the phone display. Decreasing the text and display size in the phones accessibility or display options makes things more useable.
Google have decided not to enable display port on their Pixel phones (which is a pity as their phones are well implemented compared to the way most other Android device manufacturers hack things together). Displaylink offers a solution.
Its possible to pick up used ASUS MB168B displaylink monitors for a reasonable price. One usb port supplies images and power. Phones can not supply enough. Need a powered hub.
https://web.archive.org/web/20161117170605/http://www.asus.com/uk/Commercial-Monitors/MB168B/
Its likely that secure screens, where the app blocks the taking of screenshots will not be shown on an external display. It is often possible to change this behaviour in the apps settings. Chromium and forks can enable this by visiting chrome://flags/#incognito-screenshot
Android 10 supports more than 2 displays https://source.android.com/devices/tech/display/multi_display/displays#more_displays
Micro USB
MHL
First on Samsung Galaxy S2 https://en.m.wikipedia.org/wiki/Mobile_High-Definition_Link
Slimport
https://en.m.wikipedia.org/wiki/DisplayPort#SlimPort
Displaylink
See below
USB C
Display port
Many Android devices with USB C offer display port over usb C https://web.archive.org/web/20191003182256/https://en.wikipedia.org/wiki/List_of_devices_with_video_output_over_USB-C
Displaylink
Need to install the Displaylink Presenter app.
https://www.displaylink.com/downloads/Android
Despite what that page says, it appears some phones can be charged (maybe all USB C?) while connected to a Displaylink display.
Mirrors the phone display. Decreasing the text and display size in the phones accessibility or display options makes things more useable.
Google have decided not to enable display port on their Pixel phones (which is a pity as their phones are well implemented compared to the way most other Android device manufacturers hack things together). Displaylink offers a solution.
Its possible to pick up used ASUS MB168B displaylink monitors for a reasonable price. One usb port supplies images and power. Phones can not supply enough. Need a powered hub.
https://web.archive.org/web/20161117170605/http://www.asus.com/uk/Commercial-Monitors/MB168B/
¶Optimising the phone for second displays
Enabling extra features. Android 10 introduced some extra features for second displays. Go to Settings > About phone and tap on “build number” 7 times.
Then go to Settings > Developer options, scroll down and turn on “enable freeform windows” and “force desktop mode.”
Launcher
Taskbar is designed to provide good functionality with a second display, keyboard and mouse. Taskbar can be enabled as an accessibilty app to enable button press functions. This has considerable security implications (malware often tries to trick you to grant it this) and is not recommended. For similar reasons granting 'usage access' is best avoided. The launcher still works well without these. https://github.com/farmerbb/Taskbar
Enabling extra features. Android 10 introduced some extra features for second displays. Go to Settings > About phone and tap on “build number” 7 times.
Then go to Settings > Developer options, scroll down and turn on “enable freeform windows” and “force desktop mode.”
Launcher
Taskbar is designed to provide good functionality with a second display, keyboard and mouse. Taskbar can be enabled as an accessibilty app to enable button press functions. This has considerable security implications (malware often tries to trick you to grant it this) and is not recommended. For similar reasons granting 'usage access' is best avoided. The launcher still works well without these. https://github.com/farmerbb/Taskbar
¶Holding the display
Gooseneck tablet stands work well for positioning the screen and are relatively cheap. Make sure it opens wide enough for your display. Alternatively can be used for holding the phone.
Gooseneck tablet stands work well for positioning the screen and are relatively cheap. Make sure it opens wide enough for your display. Alternatively can be used for holding the phone.
¶Keyboard shortcuts
Android has some built in keyboard shortcuts. A list of available shortcuts is displayed by pressing Windows Key and /
Its possible to get keyboards with built in trackpads or trackballs. There are also keyboards with USB ports so you can plug in a mouse.
Apps with keyboard shortcuts
Acode
A powerful text/code editor with loads of configurable keyboard shortcuts. Available in the izzyondroid F-Droid repo
https://acode.foxdebug.com/
Bromite
A privacy and security focused fork of Chromium. Lots of useful shortcuts can be listed by pressing Windows Key and /
They have their own F-Droid repository.
https://bromite.org
Collabora Office
A full, usable, office suit for Android
Android has some built in keyboard shortcuts. A list of available shortcuts is displayed by pressing Windows Key and /
Its possible to get keyboards with built in trackpads or trackballs. There are also keyboards with USB ports so you can plug in a mouse.
Apps with keyboard shortcuts
Acode
A powerful text/code editor with loads of configurable keyboard shortcuts. Available in the izzyondroid F-Droid repo
https://acode.foxdebug.com/
Bromite
A privacy and security focused fork of Chromium. Lots of useful shortcuts can be listed by pressing Windows Key and /
They have their own F-Droid repository.
https://bromite.org
Collabora Office
A full, usable, office suit for Android
¶USB Storage
Android has support for USB storage.
USB Flash Storage
USB harddrives
Don't work with all usb C hubs
Android has support for USB storage.
USB Flash Storage
USB harddrives
Don't work with all usb C hubs
¶ADB over USB
It is possible to connect to another android device via usb and run commands as if you had already issued adb shell See ADB OTG app available on the Play store or via the izzyondroid F-Droid repo.
Creating bootable USB flash drives
https://github.com/EtchDroid/EtchDroid
Terminal Emulator
https://termux.com
Kali Nethunter
The Kali Nethunter F-Droid repository has a number of tools available that would more commonly be found on PC workstations
It is possible to connect to another android device via usb and run commands as if you had already issued adb shell See ADB OTG app available on the Play store or via the izzyondroid F-Droid repo.
Creating bootable USB flash drives
https://github.com/EtchDroid/EtchDroid
Terminal Emulator
https://termux.com
Kali Nethunter
The Kali Nethunter F-Droid repository has a number of tools available that would more commonly be found on PC workstations
¶Operating system
There is a new wave of alternative operating systems for Android devices designed to maximise privacy and security.
The tend to favour the few devices that support verified boot with alternative operating systems.
AOSP based
CalyxOS GrapheneOS - using one of these OSs provides what is likely one of the most secure open source workstations available— see details in The Android Security Whitepaper https://arxiv.org/abs/1904.05572
LineageOS based
DivestOS supports many older devices - many are too old to have verified boot, some of them you can still lock the bootloader and gain dm-verity which provides extra protection against data corruption and remote exploitation
There is a new wave of alternative operating systems for Android devices designed to maximise privacy and security.
The tend to favour the few devices that support verified boot with alternative operating systems.
AOSP based
CalyxOS GrapheneOS - using one of these OSs provides what is likely one of the most secure open source workstations available— see details in The Android Security Whitepaper https://arxiv.org/abs/1904.05572
LineageOS based
DivestOS supports many older devices - many are too old to have verified boot, some of them you can still lock the bootloader and gain dm-verity which provides extra protection against data corruption and remote exploitation