A Tale of Three Laptops

This is a summary of my research project enabled by the National Upcycling Computing Collective (NUCC). Who allowed me to examine three retired laptop computers of unknown condition, evaluating them as potential robot brain for running Robot Operating System (ROS).

For all three machines, I found a way to charge their flat batteries and get them up and running to evaluate their condition. I also took them apart to understand how I might mechanically integrate them into a robot chassis. Each of them got a short first-pass evaluation report, and all three are likely to feature in future projects both robotic and otherwise.

In the order they were examined, the machines were:

  1. HP Split X2 (13-r010dx): This was a tablet/laptop convertible designed for running Windows 8, an operating system that was also designed for such a dual-use life. Out of the three machines, this one had the longest feature list including the most modern and powerful Intel Core i3 CPU. But as a tradeoff, it was also the bulkiest of the bunch. Thus while the machine will have no problem running ROS, the mechanical integration will be a challenge. Its first pass evaluation report is here. For full details query tag of 13-r010dx for all posts relating to this machine, including future projects.
  2. Toshiba Chromebook 2 (CB35-B3340): This machine was roughly the same age as the HP, but as a Chromebook it had a far less ambitious feature list but that also gave it a correspondingly lighter and slimmer profile. It is possible to run a form of Ubuntu (and therefore ROS) inside a Chromebook, but there are various limitations of doing so. Its suitability as a robot brain is still unknown. In the meantime, the first pass evaluation report is here, and all related posts (past and future) tagged with CB35-B3340.
  3. HP Mini (110-1134CL): This was a ~10 year old netbook, making it the oldest and least capable machine of the bunch. A netbook was a simple modest machine when new, and the age meant this hardware lacks enough processing power to handle modern software. While technically capable of running ROS Kinetic, the low power processor could only run the simplest of robots and unable to take advantage of the more powerful aspects of ROS. The first pass evaluation report is here, and all related posts tagged with 110-1134CL.

While not the focus of my research project, looking over four old laptops in rapid succession (these three from NUCC plus the refurbished Dell Latitude E6230 I bought) also gave me a perspective on preparing old laptops for computing beginners.

HP Mini (110-1134CL): First Pass Evaluation

This HP Mini netbook was the oldest of three laptops in this NUCC-sponsored research project. As a netbook, it was a very limited and basic machine even when new, and that was around ten years ago. A lot has changed in the computing world since then.

Today, its 32-bit only CPU limits robot brain applications, as only the older ROS Kinetic LTS released prebuilt 32-bit binaries. Outside of robot brain applications, any modern graphical user interface is sluggish on this machine. From Chrome OS up through Windows 10 and everything in between. When running Ubuntu Mate, it actually felt worse than a Raspberry Pi running the same operating system, which came as a surprise. Both had ~1GHz CPUs and 1GB of RAM. And even though a 10-year old Atom could outperform a modern ARM CPU, the 10-year old Intel integrated graphics processor has fallen well behind a modern ARM’s graphics core.

So it appears the best position for this machine is in running command line computing or data processing tasks that work well on old low-end Intel 32-bit chips. It would be a decent contender for the type of projects that today we would think of running on a Raspberry Pi. With the caveat of weaker graphics effects, it offers the following advantages over a Raspberry Pi:

  • Intel x86 (32-bit) instruction set.
  • Higher resolution screen than the standard Raspberry Pi touchscreen.
  • Keyboard (minus the N key in this particular example)
  • Touchpad
  • Battery for portable use
  • Actual data storage device in the form of a SATA drive, not a microSD card.

It is also the only one of the three NUCC machines to have a hard wire Ethernet port. As someone who’s been burned by wireless communication issues more than once, this is a pretty significant advantage over the rest of the machines in my book.


HP Mini (110-1134CL): Command Line Adept

So far I’ve determined a ~10 year old netbooks lack the computing power for a modern desktop graphical user interface, even those considered lightweight by today’s standards. Was it always sluggish even in its prime? It’s a little hard to tell from here, because even though computers have undoubtedly gotten faster, our expectations have risen as well.

But there’s more to a computer’s capability than pushing pixels around, so we fall back to the next round of experiments with command line interface systems. And since we’ve already established that a solid state drive was not a great performance booster on this platform, I put the original spinning platter hard drive back in for the next round.

This time instead of Ubuntu Desktop, I installed Ubuntu server edition instead. This minimalist distribution lacks the user friendliness of a graphical user interface, but it also lacks the graphics processing workload of displaying one as well. As a result this machine is quite snappy and responsive. I found it quite usable, especially now that I’ve learned about virtual consoles and use the Alt key plus F1 through F6 to switch between up to six different sessions. Simple tasks like running Python scripts and running a basic server were done easily and quickly.

I started experimenting with Ubuntu 16, because Ubuntu did not release prebuilt installation binaries for 32-bit Ubuntu 18. However, once Ubuntu 16 server was and and running, I was able to rundo-release-upgrade to move up to Ubuntu 18. From minor tinkering I didn’t notice any significant difference between them.

Then I remembered I had played with an even more minimalist Ubuntu earlier, on an even older machine. Ubuntu 18 Snappy Core is available for 32-bit i386 processors, and it installed successfully on this laptop. Now I have one more incentive to learn how to build my own snaps to install on such a system. I just have to remember to that I can only connect to an Ubuntu Snap machine via SSH, and the list of valid keys associated with an account do not auto-update. I typically generate a SSH key every time I reset a machine, and I no longer have the keys to access my previous snappy core experiment. I ended up reinstalling snappy core to pick up the current set of SSH keys.

HP Mini (110-1134CL): Ubuntu Mate and Chrome OS Slow Even With SSD

After a ~10 year old netbook was upgraded with a solid state drive, we can now confirm the hard drive is not the only thing holding back performance. The following experiments indicate the old Atom CPU at the heart of this machine lacks the power to run any modern operating system graphical user interface.

First up at bat was Ubuntu Desktop 16.04 i386. It ran sluggishly when loading from this machine’s original spinning platter hard drive, and it was not significantly better when loading from the upgraded solid state drive. Watching the HDD activity light earlier, I thought this might be the case, but wanted to verify firsthand, which I have.

Next candidate was Ubuntu Mate, which has a 32-bit installer for 18.04. (Mainline Ubuntu stopped supporting 32-bit in 18.) Even though Ubuntu Mate advertised itself as a lighter-weight alternative to mainline Ubuntu, it was unfortunately still far from pleasant to use. But if needed, one reason to run Ubuntu Mate 18.04 is for the longer supported timeframe of Ubuntu 18. According to Ubuntu releases list, 18 is supported until April 2023.

I then tried an even more constrained operating system: install Chrome OS and make a faux Chromebook out of this thing. I had known Neverware CloudReady as a build of Chrome OS that anyone can install on an old laptop to turn it into a Chromebook. I had trouble making it work before on an old machine before, and wanted to try again.

I noticed the minimum recommended amount of RAM has increased as I remembered it was 1GB, now it is up to 2GB. But that was just a recommendation and I was able to load CloudReady on this netbook with just 1GB RAM. Once launched and running, CloudReady proved to be about as sluggish as Ubuntu Mate 18.

But that’s not the biggest problem:

CloudReady 32-bit EOL

CloudReady, originally advertised to help give old machines new life, has been forced to leave 32-bit CPUs behind. After seeing this notification I went online to find their announcement, as well as confirmation that Chrome OS v76 was about the right vintage for this to happen.

For interactive graphical desktop use, it really doesn’t get any more lightweight than Chrome OS and this machine still struggles. It looks like we need to fall back to a text-based server edition of operating system software.

HP Mini (110-1134CL): SSD Upgrade

Installing Ubuntu Desktop 16.04 LTS on this ~10 year old netbook resulted in a very sluggish computing experience. Since it was not a speed demon even when new ten years ago, I doubt its performance was only held back by its old school spinner platter hard drive. As a quick experiment, I’ll perform a SSD upgrade and see how much of an performance improvement it would result.

Opening the door at the bottom revealed a memory module as expected. It appears to be a DDR2 memory module with a capacity of 1 GB. Unfortunately I don’t have any DDR2 laptop memory modules to attempt a memory upgrade, so I left it alone and continued trying to open the laptop.

HP Mini 110-1134CL remove easy stuff

There are clips around the perimeter. Trying to open them up, I find resistance at the corners due to screws hidden underneath each rubber feet.

HP Mini 110-1134CL screws hiding under feet

Removing them did not help release the top and bottom halves of the machine, so there are even more fasteners I have yet to see. Looking for what I might have missed, I found three screws with a keyboard icon inside the battery compartment.

HP Mini 110-1134CL keyboard retention screws

Removing those screws allowed the keyboard to be popped open, exposing the hard drive plus additional fasteners holding the laptop together. The focus at the moment is the SSD upgrade, so I’ll hold off on further disassembly for now.

HP Mini 110-1134CL keyboard removed

The bright piece of metal had the right shape and size for a hard drive cage, and it was also conveniently labeled with an instructional diagram. I thought that was great — it’s going to be as easy as 1, 2, 3! Except it wasn’t. For reasons I don’t understand, they neglected to mention two more screws that had to be removed before I could proceed with steps 2 and 3.

HP Mini 110-1134CL hard drive removal

Once removed, the stock hard drive was held to this cage with four standard mounting screws. From there it was straightforward to install a 2.5″ SATA SSD for further adventures in netbook computing.

HP Mini (110-1134CL): Slow At Ubuntu 16 Desktop

A quick hardware orientation tour of this retired netbook found that we should be able to run ROS Kinetic Kame on this computer. Getting a simple ROS Kinetic environment running would be a baseline test to see how it might perform as a robot brain. And for that, we’ll have to erase the Windows 7 Starter Edition on this hard drive with Ubuntu 16.04 “Xenial Xerus”.

A sticker at the bottom of the machine identified the default operating system as Windows 7 Starter Edition. Since this machine predated Windows 8 mechanism for embedded licenses, we know this hardware would not have an embedded license for Windows and erasing this drive would mean the loss of a Windows license. I decided a Starter Edition license was no great loss and proceeded to install Ubuntu Desktop 16.04 LTS, i386 (32-bit CPU) edition.

Installation was successful on this netbook, but it was annoyingly slow to use. Every action required a few seconds, starting from activating the logon screen to every single interaction after that. I don’t know if running Windows 7 Starter Edition was any more responsive on this computer, but I wouldn’t have wanted to run an end-of-life OS even if it was faster.

What was the bottleneck here? Was it the CPU? Was it the RAM? Was it the hard drive? Or perhaps a combination of the above, like a lack of RAM triggering virtual memory activity that is hampered by a slow hard drive? For diagnosis I appreciated the fact this little netbook had a hard drive activity light, a feature that has been dropped from most modern machine. Judging by the lack of activity on that light, I suspect the problem is a slow CPU and upgrading the drive to a SSD would have limited benefit.

Even with this pessimistic view, I wanted to give it a try. I had a spare SATA SSD already on hand so it shouldn’t take a lot of time to test.

HP Mini (110-1134CL): Hardware Specifications

After a quick check to make sure this machine comes to life after charging, I started researching its hardware specifications. A sticker below the machine identified itself as a HP Mini 110-1134CL.

Based on reviews online for the HP Mini 110 product line, this is roughly ten years old powered by an Atom N270 processor. This is a big strike against using this computer as a robot brain running ROS, as the N270 is limited to 32-bit software. The latest longer-term support distribution of ROS “Melodic Morenia” only officially supports 64-bit Intel/AMD chips. If this machine is to run ROS, it would be limited to the previous LTS of ROS “Kinetic Kame” which is not ideal, but at least it will be supported until April 2021.

According to BIOS readout, there is 1GB of RAM installed on this computer. An access door with a memory module icon is visible on the underside of the machine, so a RAM upgrade is probably possible. But I don’t have any old memory modules on hand and I’m not inclined to spend money upgrading a ten year old computer. A single gigabyte is expected to be very limiting, but it is possible to get a very basic ROS installation running on a Raspberry Pi 3, which also only has 1GB. It might get annoying but is probably not going to be a deal breaker.

The BIOS hardware list also describes the hard drive as an old school spinning platter type, which was as expected. Thankfully the Fujitsu MJA2160BH G2. A 2.5″ 160GB 5400 RPM is at least a standard SATA drive and not the compact variant that stumped me earlier. This means I have the option to try upgrading it with one of the SATA SSD drive I already have on hand.

Now that I’m oriented, it’s time to take on the first experiment: see if it can run Ubuntu 16, the basis for ROS Kinetic Kame.

HP Mini (110-1134CL): Relic of the Netbook Era

After I had completed my first pass at the Toshiba Chromebook 2, I moved on to the third and final machine in this research project made possible by NUCC: the HP Mini 110-1134CL. It is an example from “netbook” era, a category of computers launched by the Asus Eee PC. Netbooks were an early attempt to build minimalist computers for basic internet activity, years before Chromebooks defined their own product category.

Like Chromebooks, the first netbooks ran a custom operating system that offered a web browser and very few other basic applications. But unlike Chromebooks, netbooks quickly abandoned custom OS and started running a special “Starter Edition” of Windows. Was it due to customer demand? Manufacturer preference? Microsoft offering carrot and stick? I have nothing useful to contribute here.

Like the other two machines, when I received this machine the battery was flat. Nothing happened when I first pushed the power switch. Fortunately it could be charged with the “type I” tip for my Targus universal laptop AC power adapter, same as the Toshiba Chromebook 2 I looked at earlier.

While it was charging I looked over its physical condition. There is a missing “N” key on the keyboard, but nothing else was outwardly wrong. Once the battery was charged, I turned it on to take a quick look at its condition. I saw what I recognized as the Windows 7 boot up sequence, but after some time staring at “Welcome…” I never got to the login screen. It threw up an error of “failed to start” without any error codes I could investigate, and suggested “rerun installation” which I don’t particularly care to do as we’ve long passed the end of life for Windows 7.

That’s a problem to be looked at later. For now, I’m glad the machine showed signs of life making it worthwhile to spend some time looking over its specifications.