Node-RED Challenge Round 2: Bluetooth Low Energy

My first challenge to Node-RED was a success: I was able to read battery voltage and charge percentage from a slow Samsung 500T tablet stuck on an old 32-bit build of Windows 10, and the hardest part of that process was retrying installation after it timed out because the computer was so slow.

This next challenge is significantly more difficult: connect to peripherals via Bluetooth Low Energy. Despite Bluetooth in the name, BLE is actually a completely different protocol from the earlier grand wireless protocol to rule them all. (Sometimes called “Bluetooth Classic” now.) But it is now administered by the same consortium,. so there we go.

As its name implies, a primary goal for BLE is reducing power requirements to make it feasible for battery powered devices. And in this context “battery” is not a gigantic brick of rechargeable lithium-ion cells, BLE wants to be practical for devices to run for months on little coin cell batteries. It’s new, with its own set of rules, and tricky to get right. Thus the perfect advanced level challenge.

This time the hardware is the HP Split X2 from NUCC, an old Windows laptop with built-in Bluetooth. It has a decent processor and RAM but hobbled by an old hard drive that’s difficult to upgrade. As a result installing Node-RED took almost as long as it did on the Samsung 500T’s slow eMMC storage, but at least the CPU was fast enough to avoid a timeout.

The Node-RED extension of interest here is node-red-contrib-noble-bluetooth. Out of all the nodes claiming Bluetooth capability, this one seems to be the one that has general BLE capability (not tied to specific devices) and updated most recently. I installed that extension, started a query for nearby BLE devices, and Node-RED crashed. Not throwing an error that a flow might try to handle, not an error message, Node-RED itself crashed with an error thrown by Noble.

No compatible USB Bluetooth 4.0 device found!

Ah well, I didn’t expect it to be as easy as reading battery level and fully anticipated some bumps on the road to this advanced challenge. Time to do a little investigation.

Naked HP Split X2 (13-r010dx) Sitting In A Breeze Runs Faster

Mobile computer processors must operate within tighter constraints than their desktop counterparts. They sip power to prolong battery life, and that power also eventually ends up as heat that must be dissipated. Unfortunately both heat management mechanisms and batteries are heavy and take up space, so finding the proper balance is always a difficult challenge. It is typical for laptop computers to give up its ability to run sustained workloads at full speed. But if we’re not worried about voiding warranties or otherwise rendering a mobile computer immobile, we can lift some of those constraints limiting full performance: run on an AC adapter to provide power, and get creative on ways to enhance heat dissipation.

For this experiment I pulled out the most powerful computer from my NUCC trio of research project machines, the HP Split X2 (13-r010dx). The goal is to see if I can add it to my Folding@Home pool. Looking over the technical specifications published by Intel for Core i3-4012Y CPU, one detail caught my eye: it lists two separate power consumption numbers where most processors only have one. The typically quoted “Thermal Design Power” figure is at 11.5W, but this chip has an additional “Scenario Design Power” of 4.5W. This tells us the processor is designed for computers that only expect to run in short bursts. So even if TDP is 11.5W, it valid to design a system with only 4.5W of heat dissipation.

Which is likely the case here, as I found no active cooling on this HP Split X2. The outer case is entirely plastic meaning it doesn’t even have great thermal conduction to the environment. If I put a sustained workload on this computer, I expect it to run for a while and then start slowing itself down to keep the heat manageable. Which is indeed what happened: after a few minutes of Folding@Home, the CPU clock cycle pulled back to roughly half, and utilization was pulled back half again meaning the processor is chugging along at only about a quarter of its maximum capability.

HP Split X2 13-r010dx thermal throttling

For more performance, let’s help that heat escape. Just as I did earlier, I pulled the core out of its white plastic case. This time for better ventilation rather than just curiosity.

HP Split X2 13-r010dx tablet internals removed from case

Removing it from its plastic enclosure helped only a tiny bit. Most of the generated heat are still trapped inside, so I pulled the metal shield off its main processor board. This exposed the slab of copper acting as CPU heat sink.

HP Split X2 13-r010dx CPU heat sink under shield

Exposing that heat sink to ambient air helped a lot more, but passive convection cooling is still not quite enough. The final push was to introduce some active airflow. I was contemplating several different ideas on how to jury-rig an active cooling fan, but this low power processor didn’t actually need very much. All I had to do is to set the computer down in the exhaust fan airflow from a PC tower case. That was enough for it to quickly climb back up to full 1.5 GHz clock speed with 100% utilization, and sustain running at that rate.HP Split X2 13-r010dx receiving cooling

It’s not much, but it is contributing. I can leave it simulating folding proteins and move on to another computer: my Luggable PC Mark I.

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 Split X2 (13-r010dx): First Pass Evaluation

After I had my fun looking inside this retired tablet/laptop convertible, I put it all back together and verified everything still worked. As far as I could tell there’s no functional problem with this machine, no deviation from original designed performance. It’s even capable of running the latest release of Windows 10.

Why it was retired by its original owner? My personal opinion points to the nature of a tablet/laptop convertible. When this class of devices were introduced alongside Windows 8, they were advertised to be machines that combine the best of both worlds. But Windows 8 failed to deliver its promised revolution in touch-centric tablet computing. So machines that made design compromises instead found themselves saddled with the problems of both worlds.

Even though it offered bigger screen real estate than the standard iPad, it had inferior resolution and responsiveness is sluggish. It is also significantly heavier on account of having all the hardware of a PC inside the case, including the hard drive I failed to replace. For normal web browsing and content consumption, it isn’t any better than an iPad. Sure, it can be docked into the base to do things an iPad can’t, but that just brings in a different set of problems.

The laptop mode dock had to support the weight of a full PC inside the tablet module, whereas normal laptops only had to support the weight of the screen. This class of hardware became inherently top-heavy and required a lot of design work to keep from toppling over. Up to and including unfortunate additions of counterweights. The hinge and docking mechanism adds parts weight and cost, resulting in a laptop that is bulkier and more expensive than non-convertible counterparts. This machine is nominally a 13″ laptop but it is almost double the physical volume and weight of a 13″ Macbook Air from the same era.

The computer market of 2020 have some pretty compelling 2-in-1 machines, built with the advantage of several years of hardware advancement. High resolution screens, flash storage, and power-efficient CPUs that can run on smaller lighter batteries. They incurred a much smaller penalty for the compromises of a convertible design. Technology moved on, and first generation convertibles like this model were left behind.

But even if it is no longer desirable as either a tablet or a laptop, this machine is still capable of running latest generation of software. Including latest releases of Windows 10, Ubuntu, and both ROS 1 and 2. Despite being saddled by the performance of a hybrid hard drive, I’m confident some interesting use for this machine will be possible. I’ll set this promising machine aside for now to examine the next unit in line.

HP Split X2 (13-r010dx): Docking Base Internals

After I’ve poked around in the main tablet unit of this convertible laptop, attention shifted to the docking base. There were 9 screws, 4 of which were hidden under rubber feet which had to be removed.

HP Split X2 13-r010dx base

Once the screws were removed, only a few tabs held the panel in place. Since the base had functionality in addition to just hosting a keyboard and touchpad, it was not a surprise to find circuit boards near the USB ports, HDMI port, and SD card reader. But there is also a long, much larger than expected, circuit board. This base must be more sophisticated than what I gave it credit for.

HP Split X2 13-r010dx base unused connector

An unused connector caught my attention. Typically when a connector is not used, it is not even soldered to the board. (See earlier examination of a potential M.2 connector.) This connector is soldered, but unused. Perhaps supporting a feature of an upscale model or an optional upgrade, but I have no guesses on what it might be.

HP Split X2 13-r010dx base possible ballast

Another unusual point of interest are these two pieces of metal flanking the touch pad. They appear to serve no electrical or structural purpose, and I speculate they are here just to provide a few grams of weight. Convertible tablets like this device are top-heavy and it’s a challenge to prevent them from toppling over backwards when open. Clever geometry could solve most of this problem, but when all else fails, bolt some counterweight to the base far from the hinge for leverage. Some laptop shoppers compare by weight, motivating companies to go to great lengths to reduce overall weight. Adding counterweights negates the effort, so I would guess these were done as a last resort.

There was more inside this base than I had expected. Now that I’ve looked around the insides, it’s time to put this machine back together and write down some concluding thoughts before moving on.

HP Split X2 (13-r010dx): Tablet Innards

I took apart this convertible tablet/laptop with the goal of upgrading a SATA hybrid drive to a full SSD, but I was foiled. Since I had it open anyway, I took a look around. With the hybrid drive sitting directly in the middle and batteries on either side, circuit boards were necessarily scattered on either side with ribbon cables connecting them.

Most of the computing brains resided on a circuit board up top, and peripheral interfaces lived on the bottom. Including the microSD slot, headphone jack, charging port, and the docking connector. In between them were black speaker assemblies, one left and one right.

HP Split X2 13-r010dx wifi module

There were also provisions for interface cards to flank left and right of the main processing board. On one side is a WiFi interface module, with wires leading to antennae. The antenna is smaller than I had expected, but I don’t know enough to say if this necessarily meant reduced WiFi range. I also noticed the WiFi module didn’t occupy the entire width of the interface slot, leaving a few pins unconnected. I don’t think I’ve ever seen that before.

HP Split X2 13-r010dx unpopulated connector

The opposite side is even more interesting, with pads for an absent connector. This has roughly the pin counts to be a M.2 “B key” edge connector which could support a M.2 SSD. There’s also a hole cast into the chassis that’s roughly the correct distance to secure a M.2 2280 card. But like my previous experience with unpopulated connectors, several adjacent supporting components also seem to be missing from the circuit board so I am not confident I can just solder a M.2 connector and make things go.

I was curious if the 4GB RAM on this board could be upgraded. If a standard memory module is here it would be under the metal shield covering most of the processing board, but I didn’t want to dig that deep just yet. 4GB is enough to cover basic tasks and it is clearly not designed to be easily upgraded.

[UPDATE: I dug deeper and didn’t find memory modules.]

With curiosity about the tablet internals satisfied for the moment, I reassembled the tablet module and turned my attention to the docking base.

HP Split X2 (13-r010dx): SATA But Not As I Know It

I got this retired laptop up and running, but it felt sluggish and I thought I should try upgrading the SATA hybrid drive to a full SSD, which meant it was time to bring out the screwdriver set and dig in. When the tablet module is removed from its docking base, we can see four circles for the screws holding the tablet together. Unfastening those four screws allowed me to travel around the perimeter to pop clips loose all around the shell, allowing me to extract the heart of the machine. Flipping it face down, we see the hard drive is in the center flanked by battery modules on either side.

HP Split X2 13-r010dx tablet internals

Quite a few black adhesive-backed sheets help keep things from rattling loose. I had to peel several back to access the drive, which was itself in a foil package that I couldn’t figure out how to remove without damage. I ended up tearing the whole foil off to expose the hard drive and its data connector. I immediately realized I had a problem.

HP Split X2 13-r010dx unexpected SATA connector

I’ve never seen this kind of drive connector before. This machine’s spec sheet called it a SATA drive, but it is apparently not the same kind of SATA drive I’ve dealt with to date. Certainly the SATA SSD I had planned to install into this machine would not fit, seeing how it has an entirely different (and much larger) connector.

HP Split X2 13-r010dx will not take SATA drive on hand

Removing the original drive, its label identifies itself as a WD Black Solid State Hybrid Drive. 500 GB capacity with 8GB NAND Model WD5000M21K. A search indicates this connector is called SFF-8784. (*) Adapters are available (*) to put one of these drives in a SATA slot type I’m familiar with, which looks to be only possible because of its compact dimensions. And because of those dimensions, the reverse is not possible: we can’t put the popular form factor SATA drive into a space designed for SFF-8784. However, there exist adapters (*) to put a mSATA drive into such a location, or adaptor for a M.2 form factor SATA drive (*).

I own a few M.2 SATA SSDs, but they are currently in active use. When I retire one it might be interesting to get a M.2 adapter to put in this machine. I’ll wait until that happens, or until an interesting project arises, before buying anything.

I have to abandon the SATA SSD upgrade project for now, but since I already have the shell open, I’m going to look around just for curiosity’s sake.

(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

HP Split X2 (13-r010dx): Up And Running

I’ve looked over exterior and spec sheet for the first of three research project laptops from NUCC. With its battery charged, I turned it on to see what we have. I was greeted with the login screen for an installation of Ubuntu 14. This was enough to verify the system boots and runs. I do not have the password, so it was time to wipe the disk and install a fresh operating system. I have a suitable USB flash drive on hand with the Ubuntu 18.04 installer.

I usually work with Dell laptops, whose typical convention is to hold down F12 while turning it on to select booting from a USB installation drive. This did not work, so I went back to HP documentation to find it is actually F9 for this laptop. Furthermore, since this keyboard is the type to make function keys pull multi duty, it appears I had to also hold down the Fn key at the same time as F9. It’s important not to lose the docking base as neither F9 upon powerup nor USB installation disk is possible with just the tablet module.

It took a few tries before system boot selector recognized the Ubuntu 18 installation USB drive. I don’t think it is random when USB drives are recognized as a boot option. But if it is not random, it was definitely following a system I did not quite understand. Still, I eventually got Ubuntu 18 installer to run successfully.

Normal everyday functionality appears to work under Ubuntu 18, surprisingly this included the portrait/landscape orientation sensor and a touch friendly on-screen keyboard. When Ubuntu abandoned Unity in version 18, I thought their ambition of a unified tablet-friendly interface also died. I now know I was wrong. But even though single-point touch worked well, multi-point touch support is lacking. One example: two finger pinch failed to zoom in/out as expected.

Which meant if I wanted consistent multi-touch support on this screen, I will need to install Windows. Touchscreen tablet/laptop convertibles like this are likely to be from the Windows 8 era, which meant it’s likely to have a Windows license key embedded in the hardware. This hypothesis was confirmed when Windows 10 build 1911 reported itself activated after an uneventful installation onto this laptop.

Both Ubuntu and Windows were more sluggish than I had expected for this machine. A look at system activity shows a lot of time waiting for disk. I guess neither OS is compact enough to fit within the 8GB NAND cache of this hybrid drive. To verify this hypothesis, I’ll try to upgrade the SATA hybrid drive to a full SATA SSD and see if it makes the system more responsive.

HP Split X2 (13-r010dx): Hardware Specifications

The first of three old laptops from NUCC to be examined stumped me at first. I found very little information printed on the device and it took a while before I realized it was a convertible tablet. All the information labels were hidden while the tablet was docked. Once I separated the pieces, I could read all the identifiers including its model number 13-r010dx. From there it was easy to find HP’s product page for this machine.

While in laptop mode, the device has a full size SD memory card slot, one HDMI port, and two USB ports. By detaching the base turning it into a tablet, we also expose a duplicate charging jack, a headphone jack, and a microSD memory card slot. I find it odd that the headphone jack is a tablet mode exclusive, and even more odd that they felt it was important to have two flash memory slots.

For robot brain purposes I would have preferred to have a physical Ethernet jack but I can do without. USB Ethernet adapters are plentiful, though the ones I’ve tried had problems with long term reliability. On the upside, both memory card slots are full depth slots so cards sits flush against exterior and would not jut out. So for example, I could keep a microSD card in the tablet and still dock it to the keyboard base without mechanical interference. For robot brain purposes, memory cards are useful for data transfer and logging.

Keyboard feel is decent and the accompanying touchpad is satisfactorily large. Sadly the screen resolution was a disappointing 1366×768. It was accompanied by tablet style features like a touchscreen and a portrait/landscape orientation sensor. None of these would be critical as a robot brain but might be pertinent for other uses.

A sticker proclaimed its processor to be a Core i3, the spec sheet elaborated it is a Core i3-4012Y that I expect to be capable but not super speedy. 4GB of RAM should be sufficient for most purposes, and storage is a SATA hybrid hard drive with 500GB of spinning magnetic platter storage backed by 8GB of NAND Flash memory cache. I don’t recall any prior experience with these hybrid drives and looking forward to seeing one in action. The charge port LED changed from orange to white indicating full charge by the time I was ready to turn it on.

HP Split X2 (13-r010dx): Charge and Split

I came home from Sparklecon 2020 with several laptops that had been awaiting reuse at NUCC. I took on the research project to determine the best way to put them to work. My primary goal was to turn them into robot brains, but I will need to keep my mind and eyes open for the best use. All three machines had depleted batteries, so I had no idea of their current condition.

I started with the bulkiest machine of the bunch, primarily because I could start charging its batteries with a Targus universal laptop AC adapter I already had on hand along with the H2 tip that seemed to fit charging jack dimensions. When I plugged it in, I saw an orange LED illuminate on the laptop and we were in business. The other two laptops appear to take Targus type I tip, currently on order via the “Tips from Targus” program and I’ll examine them after the adapter arrives and I could power them.

While I waited for some power to be put back into this flat battery, I wiped down the machine with a disinfectant wipe and examined the machine as I did so. I was surprised at the sparse text at the bottom of the machine. I would have expected to find a model number, FCC ID, the usual identifiers, but I only found a few cryptic alphanumeric designations. Fiddling with the various controls I found, I pushed a slider and the machine came apart in my hands. I panicked for a second before realizing this was supposed to happen.

HP Split X2 13-r010dx tablet

This machine is a tablet/laptop convertible, and the screen could detach from its base. The bottom of the screen, previously blocked by the keyboard base, is where all the product identification information were. Now I can get started researching this device.