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.
As the title suggests, this first part covers the unboxing and setup of the pi-top, with some initial impressions of the product.
A big box from element14 was delivered. Inside were two things:
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 rscasny can shed some light on this. Anyway, no bits were missing or damaged, which is most important.
Inside the box, everything you can expect:
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. |
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.
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.
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 tone, when powered on. Even with the keyboard closed, it is clearly audible.
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.
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.
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.
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.
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.
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-top | pi-topCEED | |
---|---|---|
Power Adapter | 18V / 2.5A | 18V / 1.0A |
USB ports | 4 + 1, of which 2 are occupied | 4, of which 1 or 2 occupied by keyboard/mouse |
pi-topSPEAKER (not included) | mk2 support only | mk1 and mk2 support |
pi-topPROTO | PROTO+ with breadboard and female headers | mk1 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.
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.
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.
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 vlaine '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.
Top Comments
Nice review. Now I really want to try Retropi on mine :-D
Nice review, I especially like the deviation from standard OS to other options to show flexibility.
Totally aside from the review, while I find the product interesting the price boosts it outside my comfort…
I'm using one of those DimeCards to carry around multiple microSD cards, so I always have a RetroPie handy