Software apps and online services
The Raspberry Pi 4 is finally powerful enough to be used as a proper computer – one with a keyboard and a screen, and not hidden away behind some cabinet. I wanted my set up to be portable and light and not a desktop computer, a laptop would be nice. But most DIY laptops look a bit too much like DIY for my taste, so I kept looking for a nicer solution.
I found the PiTop, but there is no Pi 4 support (yet) and the device itself is quite pricy. So I continued my search and stumbled upon the Motorola Atrix Lapdock, a phone dock from 2012 which was supposed to kill your laptop – but never did.
The Lapdock looks like a proper laptop and features a 11" screen (1366 x 768), a touchpad and keyboard, a USB hub and a built-in power bank (4400 mAh). But since it is only a dock (and not a standalone computer) it has no mainboard nor a graphics card, only a female Micro HDMI and female Micro USB connector.
Using these two connectors you can turn it into a Pi laptop. The hardest part (after buying a used one – I paid 50 € for mine) is finding the proper cables: female Micro HDMI and Micro USB connectors. You also need to solder your own USB cable, but this is not really that complicated...
Note: You can also use the Pi 3 as an alternative. The setup is even easier that the Pi 4 one. But it be less snappy since is only the Pi 3. In the following I will describe both setups.
Making the HDMI connection is easy. I used a Micro HDMI female to HDMI cable and a HDMI to Micro HDMI cable since I couldn't find a single Micro HDMI extension cable. You can discard the second cable for the Pi 3 since it offers a regular HDMI input connector.
Some cheap HDMI cables might not work since their pins are not properly connected. I had no problems with mine but I read about it in quite a few places. If your HDMI cable works, an indicator in the top left corner of the trackpad is turned on and the Lapdock provides power through the USB port. Unfortunately it is not enough to feed 3.1A to the Pi 4. But more on this later.Step 2: Building an USB cable
In addition to power, the USB cable provides also data from the trackpad and keyboard. The easiest way is to use a Micro USB female to USB cable to get the Lapdocks trackpad and keyboard signal.
I built my own cable out of two existing ones, to separate the power line from the data lines. After a bit of soldering I got an Y-shaped cable combo: the female Micro USB adapter sends the power line and the ground signal to a Micro USB adapter with an on/off switch, and the data and ground signals to a regular USB plug.
The Micro USB cable with the on/off switch are there to make the cable ”Pi 3 ready”. The switch provides the option to "disconnect" the power line and use an external power source instead. If you only want a Pi 4 cable you can just disconnect the power line in the regular USB cable part. The regular USB plug sends the mouse and keyboard data to the Pi.
Disconnecting the power line is a precaution, since powering the Lapdock and the Pi from different mains power sources will blow up the Atrix regulator.Step 3: Powering the Pi
If you connect the Y-shaped cable to the Lapdock and your Pi 4 USB input you are ready for starting up the Pi. For this I chose a power bank which provides 3A to the Pi 4.
For the Pi 3 you can use the other end of the Y-cable. But people recommend to step the Pi 3 down the CPU, otherwise you'll get a low power warning and the Pi might crash during complex tasks.
When you now connect the power bank (or switch on the power) the Pi will boot up and the Raspian desktop will load, if you did install Raspian first, of course.Step 4 - Setting the proper screen resolution
To set the correct screen resolution open the raspi config from the command line:
... or use the display settings from the desktop. Set the resolution to 1360x768 at 60Hrz.
Update (04/2020): The latest Raspbian Buster has (again) problems applying the proper screen resolution for the Lapdock. If you encounter a blank screen after a reboot, edit the config.txt...
sudo nano /boot/config.txt
...and enter the following values:
hdmi_cvt=1366 768 60
Save and close the file (CMD + X, Y) and reboot again.
Afterwards the display should be working.
(This is a known bug and it is reported at github. You might want to check out the latest developments there.)And that's it.
I hope you enjoyed this quick tutorial.
Let me know what you are doing with your new Pi laptop.