Pi-Top - A Raspberry Pi Laptop - Review

Table of contents

RoadTest: Pi-Top - A Raspberry Pi Laptop

Author: fvan

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: pi-topCEED

What were the biggest problems encountered?: Clear instructions on how to assemble and use the inventor's kit. Needs to support more languages.

Detailed Review:

This post represents my review of the latest pi-top.


To keep this readable and structured, I've split up this review in multiple parts, each covering a particular subject.

 

 

Review

 

Part 1: Unboxing and Setup

 

As the title suggests, this first part covers the unboxing and setup of the pi-top, with some initial impressions of the product.

 

Unboxing

 

A big box from element14 was delivered. Inside were two things:

  • pi-top
  • Raspberry Pi 3B+

 

 

I didn't expect a Raspberry Pi 3B+ to be included, especially because the RoadTest description specified "Raspberry Pi not included". So thank you for adding one of those, it is much appreciated!

 

Upon closer inspection of the box, I did notice all the seals (main box and inventor's kit) had already been cut, the box was slightly damaged, and that the laptop was even put back in the box incorrectly. I'm not sure if this was done pre shipping or by customs, as the package was marked as hazardous most likely due to the laptop's battery. Perhaps can shed some light on this. Anyway, no bits were missing or damaged, which is most important.

 

 

Inside the box, everything you can expect:

  • pi-top laptop
  • Power supply 18V/2.5A
  • Getting started guide which also contains a 8GB microSD card preloaded with pi-topOS
  • Inventor guide
  • Inventor kit containing a special breadboard and some components such as LED, LDR, ultrasonic sensor, buzzer, etc ...
  • Project cutouts to be used with the inventor kit

 

There is a slot foreseen inside the packaging to fit a Raspberry Pi, so it appears to be an option.

 

{gallery} Pi-Top Unboxing

01: The pi-top (inserted incorrectly). Power supply in the top-right corner, slot for Raspberry Pi in top-left corner.

02: The pi-top!

03: The keyboard slides down to reveal access to the electronics.

04: Under the pi-top is the inventor's kit.

05: The kit contains a special breadboard with various connectors and various components.

06: The power supply comes with different connectors.

07: Two booklets are included. The getting started guide and the inventor guide.

08: The Pi's microSD card is attached to the getting started guide.

09: Some cutouts are included to give the example projects an extra touch and more appealing appearance.

 

Physical Installation

 

The instructions to install the Raspberry Pi in the pi-top are clearly detailed in the getting started guide. There is even a miniature multi-tool present to screw/unscrew and to remove or insert the microSD card once the Pi is installed.

 

The Pi slides into two flexible USB connectors at the rear of the laptop. This gave me some trouble as one of the two connectors would bend and not connect. After some fiddling, both connectors were inserted correctly and I could fasten the Pi in place. The two USB ports seem to be used for the keyboard/trackpad combo and a USB port inside the laptop. The remaining two USB ports and the ethernet port are exposed at the back of the laptop.

 

 

The pi-top hub connects to the Pi's HDMI and audio jack. The hub's audio jack is exposed at the back of the laptop along with the charger input. The Pi's GPIO are connected to the hub as well, but via the cooling bridge that is mounted on top.

 

That's all the physical installation there is for the base device. Additional modules such as a speaker or the inventor kit's breadboard can be added via the magnetic rails.

 

Build Quality

 

The pi-top is a good looking device. It feels solid, isn't too heavy or too big. The keyboard keys have a nice click to them and the screen has a 180° swivel, so the screen can sit flat.

 

There are however some imperfections to the entire assembly of the device.

 

The first one I discovered is that the keyboard slider isn't flush with the main body of the laptop:

When sliding the keyboard back into place, I can also feel it slightly bump into the cooling bridge, even though it is screwed on tight. There should be a little bit more clearance on the inside of the device.

 

Finally, one of the magnetic rails wasn't glued into place properly. Using the magnetic multi-tool, one rail came loose easily, while the other remained in place. Easily fixed by adding some glue myself, though.

 

pi-topOS

 

The pi-top's native OS is ... pi-topOS. A customised Raspbian with some pi-top specific applications and interface.

 

The pi-topOS which is pre-flashed on the microSD card is not the latest version (released on 25/04), and as a consequence, does not support the Raspberry Pi 3B+ yet. That is quickly solved by downloading the latest image and flashing it onto the microSD card.

 

The image can be downloaded from the pi-top website, and flashed onto a microSD card using Etcher.

 

Upon first boot, some configuration is required with regards to language, keyboard layout, etc ...

 

{gallery} pitopOS

01: Start screen

02: Language selection. It's quite limited.

03: Country and time zone.

04: The keyboard layout selection is also very limited.

05: Networking setup.

06: Network connectivity working, and detecting available updates.

07: Network no longer connected when trying to install the updates.

08: The desktop!

 

The last step of the wizard checks for available updates after configuring network connectivity. When the wizard switches to the desktop to install the updates, it seems to disconnect the network and the update fails. There is no command to try again.

It's not a one off, as I was able to reproduce the same issue when installing the latest image on my pi-topCEED. The script should either wait for the device to reconnect to the network, or offer the possibility to retry the update.

 

What I do find a pity, is the supported languages. We are not native English speakers, and with my daughter being 8 years old, she doesn't master it yet. With the pi-top being marketed as an educational tool, I think supporting more languages is important.

The same applies to the documentation. Things are explained very well, in simple terms, but in English only.

 

That being said, the variety of applications and the structure of the desktop are excellent. Everything is neatly organised and easily accessible.

On one occasion, I did have an issue with the display. Rebooting the pi-top appears to have solved it for now, but it remains strange.

 

The pi-top also emits a very annoying, constant beep, when powered on. Even with the keyboard closed, it is clearly audible. I tried to record the sound using my phone, to give you an idea. You'll have to turn up the volume.

 

 

During boot, the background is dark, and I noticed a white pixel on the screen. So it looks like there's a dead pixel ... Not a disaster, but not a pleasant sight either.

 

A final little quirk I observed is that the built-in keyboard and trackpad cannot be used simultaneously. When a key is being pressed, the mouse cursor can no longer move and vice versa. Using an external mouse, both keyboard and (external) mouse can be used simultaneously without one blocking the other.

 

Part 2: Various OSes

 

This is the second part in which I'm testing different OSes with the pi-top hardware. I'm covering distributions other than the pi-topOS.

 

Raspbian

 

 

The first OS I wanted to try, is the vanilla Raspbian on which pi-topOS is based. The idea is to test support for pi-top hardware with default drivers of the non-customised OS.

 

I flashed the SD card and booted the pi-top. The desktop appeared with a black border around it. A quick look in the settings file provided and option to get rid of it:

 

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

 

After uncommenting and rebooting, the border was gone, and the desktop was stretched across the entire screen.

 

Audio does not work out of the box, but there is a package available in the Raspbian repository:

 

pi@raspberrypi:~ $ sudo apt-get install pt-speaker
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libzmq3-dev pt-desktop pt-device-manager python3-pt-common python3-pt-hub-v1 python3-pt-hub-v2 python3-pt-proto-plus python3-pt-pulse python3-pt-speaker python3-systemd python3-zmq xprintidle
The following NEW packages will be installed:
  libzmq3-dev pt-desktop pt-device-manager pt-speaker python3-pt-common python3-pt-hub-v1 python3-pt-hub-v2 python3-pt-proto-plus python3-pt-pulse python3-pt-speaker python3-systemd python3-zmq xprintidle
0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
Need to get 866 kB of archives.
After this operation, 3,654 kB of additional disk space will be used.
Do you want to continue? [Y/n]

 

Another reboot and audio is working.

 

RetroPie

 

The pi-top is perfect for use on the move. So why not use it as a portable retro gaming station for the kids (and myself) ?

 

RetroPie is a great distribution for retro games and comes with a bunch of emulators preinstalled: SEGA Master System, GameBoy, NES, PlayStation 1, ...

 

 

Of course, to play with multiple players, a speaker is required. When playing alone you could use a headset. The pi-top speaker is the obvious choice, but as with Raspbian, it requires additional software to be installed.

pi@retropie:~ $ sudo apt-get update 
pi@retropie:~ $ sudo apt-get install pt-speaker
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libwayland-cursor0 libwayland-egl1-mesa
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  adwaita-icon-theme aspell aspell-en at-spi2-core dconf-gsettings-backend dconf-service desktop-base dictionaries-common emacsen-common enchant glib-networking glib-networking-common glib-networking-services gnome-accessibility-themes gnome-themes-standard gnome-themes-standard-data gsettings-desktop-schemas gstreamer1.0-plugins-base gstreamer1.0-plugins-good
  gstreamer1.0-x gtk-update-icon-cache gtk2-engines-pixbuf hicolor-icon-theme hunspell-en-us i2c-tools libaspell15 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libcairo-gobject2 libcdparanoia0 libcolord2 libdconf1 libdv4 libenchant1c2a libepoxy0 libexpat1-dev libfontenc1 libgail-common libgail18 libgl1-mesa-dri libgstreamer-plugins-base1.0-0
  libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libharfbuzz-icu0 libhunspell-1.4-0 libhyphen0 libjavascriptcoregtk-4.0-18 libjson-glib-1.0-0 libjson-glib-1.0-common liblightdm-gobject-1-0 libllvm3.9 libnotify4 liborc-0.4-0 libpciaccess0 libpython3-dev libpython3.5-dev librest-0.7-0 librsvg2-common
  libsecret-1-0 libsecret-common libsensors4 libsoup-gnome2.4-1 libsoup2.4-1 libtxc-dxtn-s2tc libvisual-0.4-0 libwebkit2gtk-4.0-37 libxaw7 libxcomposite1 libxfont1 libxfont2 libxkbfile1 libxklavier16 libxmu6 libxpm4 libxt6 libzmq3-dev lightdm lightdm-gtk-greeter notification-daemon pt-desktop pt-device-manager python-pip-whl python3-cffi-backend python3-crypto
  python3-cryptography python3-dbus python3-dev python3-gi python3-idna python3-keyring python3-keyrings.alt python3-pip python3-pkg-resources python3-pt-common python3-pt-hub-v1 python3-pt-hub-v2 python3-pt-proto-plus python3-pt-pulse python3-pt-speaker python3-pyasn1 python3-rpi.gpio python3-secretstorage python3-setuptools python3-six python3-smbus
  python3-spidev python3-systemd python3-wheel python3-xdg python3-zmq python3.5-dev read-edid wiringpi x11-xkb-utils x11-xserver-utils xfonts-base xfonts-encodings xfonts-utils xprintidle xserver-common xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-legacy xserver-xorg-video-all
  xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-nouveau xserver-xorg-video-radeon xserver-xorg-video-vesa zenity zenity-common
Suggested packages:
  aspell-doc spellutils gnome | kde-standard | xfce4 | wmaker wordlist gvfs hunspell openoffice.org-hunspell | openoffice.org-core libi2c-dev python-smbus colord libdv-bin oss-compat libenchant-voikko libvisual-0.4-plugins gstreamer1.0-tools pciutils lm-sensors libwebkit2gtk-4.0-37-gtk2 accountsservice upower xserver-xephyr python3-crypto-dbg python-crypto-doc
  python-cryptography-doc python3-cryptography-vectors python-dbus-doc python3-dbus-dbg gnome-keyring libkf5wallet-bin gir1.2-gnomekeyring-1.0 python3-pykde4 doc-base python-secretstorage-doc python-setuptools-doc python-spidev-doc nickle cairo-5c xorg-docs-core xfonts-100dpi | xfonts-75dpi xfonts-scalable xinput firmware-amd-graphics xserver-xorg-video-r128
  xserver-xorg-video-mach64
The following NEW packages will be installed:
  adwaita-icon-theme aspell aspell-en at-spi2-core dconf-gsettings-backend dconf-service desktop-base dictionaries-common emacsen-common enchant glib-networking glib-networking-common glib-networking-services gnome-accessibility-themes gnome-themes-standard gnome-themes-standard-data gsettings-desktop-schemas gstreamer1.0-plugins-base gstreamer1.0-plugins-good
  gstreamer1.0-x gtk-update-icon-cache gtk2-engines-pixbuf hicolor-icon-theme hunspell-en-us i2c-tools libaspell15 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libcairo-gobject2 libcdparanoia0 libcolord2 libdconf1 libdv4 libenchant1c2a libepoxy0 libexpat1-dev libfontenc1 libgail-common libgail18 libgl1-mesa-dri libgstreamer-plugins-base1.0-0
  libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libharfbuzz-icu0 libhunspell-1.4-0 libhyphen0 libjavascriptcoregtk-4.0-18 libjson-glib-1.0-0 libjson-glib-1.0-common liblightdm-gobject-1-0 libllvm3.9 libnotify4 liborc-0.4-0 libpciaccess0 libpython3-dev libpython3.5-dev librest-0.7-0 librsvg2-common
  libsecret-1-0 libsecret-common libsensors4 libsoup-gnome2.4-1 libsoup2.4-1 libtxc-dxtn-s2tc libvisual-0.4-0 libwebkit2gtk-4.0-37 libxaw7 libxcomposite1 libxfont1 libxfont2 libxkbfile1 libxklavier16 libxmu6 libxpm4 libxt6 libzmq3-dev lightdm lightdm-gtk-greeter notification-daemon pt-desktop pt-device-manager pt-speaker python-pip-whl python3-cffi-backend
  python3-crypto python3-cryptography python3-dbus python3-dev python3-gi python3-idna python3-keyring python3-keyrings.alt python3-pip python3-pkg-resources python3-pt-common python3-pt-hub-v1 python3-pt-hub-v2 python3-pt-proto-plus python3-pt-pulse python3-pt-speaker python3-pyasn1 python3-rpi.gpio python3-secretstorage python3-setuptools python3-six
  python3-smbus python3-spidev python3-systemd python3-wheel python3-xdg python3-zmq python3.5-dev read-edid wiringpi x11-xkb-utils x11-xserver-utils xfonts-base xfonts-encodings xfonts-utils xprintidle xserver-common xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-legacy
  xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-nouveau xserver-xorg-video-radeon xserver-xorg-video-vesa zenity zenity-common
0 upgraded, 143 newly installed, 0 to remove and 30 not upgraded.
Need to get 127 MB of archives.
After this operation, 431 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

 

The package is available for installation, but it seems to drag an awful lot of dependencies along for something as simple as a speaker. Whereas Raspbian needed 13 new packages, RetroPie requires 143! Perhaps the pi-top team could come up with a lightweight package ...

 

After installation, RetroPie doesn't appear to be messed up by the extra packages and the speaker works as expected. Not the most efficient approach, but it works.

 

OSMC

  • Purpose: Multimedia player

 

Following the same logic as RetroPie, it'd be nice to have a portable media center as well.

 

I remembered an old distro from the early days, called RaspBMC. Nowadays, it's called OSMC, and it has come a long way!

OSMC is based on the popular Kodi (formerly XBMC), an open-source media player.

Add-ons can be installed to watch YouTube, listen to some internet radio channels, etc ... OSMC also has a remote control available, and the pi-top's internal USB port is perfect for the receiver dongle. The remote worked without having to install anything software-wise.

 

Same remark as with RetroPie though: I you intend to watch with multiple persons, you'll need a speaker. Unfortunately, the pi-top speaker software doesn't seem to be readily available for OSMC, as the package cannot be found in the repositories.

 

osmc@osmc:~$ sudo apt-get update
osmc@osmc:~$ sudo apt-get install pt-speaker
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package pt-speaker

 

A valid alternative would be to use a portable bluetooth speaker, like the "JBL Go" for example.

 

Part 3: pi-top vs pi-top CEED

 

There are currently two models pi-top: the pi-top (v2) and the pi-topCEED. I suppose you could say the CEED is the desktop version of the pi-top.

 

There are however also technical differences between both models, beyond the form factor.

 

{gallery} CEED

 

The first observation is that the green colour has changed. The (older) pi-topCEED seems to be slightly more yellowish? Even the speakers (mk I vs mk II) have the same change in colour.

 

The CEED's cabling seems a lot more fragile than the pi-top's cooling bridge. I like how that has evolved into something more robust, while keeping the useful elements such as the magnetic rails.

 

Just like the pi-top, the CEED can be powered by the same Raspberry Pi 3B+. The screen however has improved, along with the other advantages of the pi-top vs the CEED:

 

The website's comparison is rather limited, so I'd add the following:

 

pi-toppi-topCEED
Power Adapter18V / 2.5A18V / 1.0A
USB ports4 + 1, of which 2 are occupied4, of which 1 or 2 occupied by keyboard/mouse
pi-topSPEAKER (not included)mk2 support onlymk1 and mk2 support
pi-topPROTOPROTO+ with breadboard and female headersmk1 without breadboard or headers
Price (pi-top.com)$319.99$149.99

 

The price difference is big. In exchange, you get portability (battery + integrated keyboard/mouse), and better resolution. Is it worth such a difference? In my opinion: probably not.

 

 

Part 4: Inventor's Kit

 

To test the inventor's kit, the idea was that I first built a project on my own, and then had my 8yo daughter build another one (with assistance) to see how well she'd fare.

 

Music Maker

 

The first project I picked, was the Music Maker. Using the Inventor Guide booklet, I got started.

 

The booklet refers to the pi-topCODER application on the pi-top for instructions on how to build these projects.

 

I opened the application and performed a search for "music maker". A result came up, so I launched it. The first thing that became clear, is that there weren't dedicated instructions on how to combine the cutout and the components for this project, or at least I couldn't find them. Of course it's possible to figure out by yourself, but when aimed at children, instructions are a must. Perhaps they do exist and I missed them? In which case I think they should be easier to find ... A couple of issues: the cutouts don't seem to sit properly on the breadboard, they are quite flimsy, and the components fall out unless glued or taped.

 

Ideally, I would have preferred a kind of dedicated button or shortcut icon allowing users to quickly find the Inventor's kit projects, including instructions on assembling the cutouts and their components for these projects. I understand not everyone will have the cutouts from the kit when building these projects, but those specific steps could be made optional.

 

Another thing I noticed is that the three projects have components in common which are only available once in the kit (e.g. ultrasonic distance sensor: music maker & robot). Not a big deal, but it does mean you have to partially tear down one project in order to build the other, which I would personally rather avoid.

 

Slightly frustrated with this project, we didn't build another one right away. Instead, my daughter experimented with browsing the internet for crafts projects and watching YouTube videos. The applications are sometimes slow to load, but work rather well overall.

Conclusion

 

The form factor, portability, access to GPIO via sliding keyboard make it a practical development tool, as well as a learning tool. And even though my daughter was a bit too young to build a project on her own, we did have fun working (or should I say playing) together despite the problems we encountered, which is always a win.

 

There are some things that could've been better: the constant beep is extremely annoying, and the dead pixel is a pity but has no real impact. Combined with 's tab key and coding issues experience, it sounds like not all issues are captured during hardware or software quality control. Finally, as a tool aimed at children, I think support for more languages is crucial: dutch, french, ... Or perhaps more language neutral guides and tutorials by means of drawings or pictograms. It should be easier to find clear instructions on how to assemble and use the inventor kit, as well.

 

All in all, the pi-top is a decent and useful device, though a bit on the pricey side for something based on the Raspberry Pi. The pi-topCEED seems like a better and more affordable alternative for home use.

Anonymous