Faster Computers Lead to Slower Experiences?

Ever get that funny feeling that things aren’t quite what they used to be? Not in the way that a new washing machine has more plastic parts than one 40 years its senior. More like “my laptop can churn through hundreds of gigaflops, but when I scroll it doesn’t feel great.” That perception of smoothness might be based on a couple factors, including system latency. A couple years ago [danluu] had that feeling too and measured the latency of “devices I’ve run into in the past few months” (based on this list, he lives a more interesting life than we do). It turns out his hunch was objectively correct. What he wrote was a wonderful deep dive into how and why a wide variety of devices work and the hardware and software contributors to latency.

Let’s be clear about what “latency” means in this context. [danluu] was checking the time between a user input and some response on screen. For desktop systems he measured a keystroke, for mobile devices scrolling a browser. If you’re here on Hackaday (or maybe at a Vintage Computer Festival) the cause of the apparent contradiction at the top of the charts might be obvious.

Q: Why are some older systems faster than devices built decades later? A: The older systems just didn’t do much! Instead of complex multi-tasking operating systems doing hundreds of things at once, the CPU’s entire attention was bent on whatever user process was running. There are obvious practical drawbacks here but it certainly reduces context switching!

In some sense this complexity that [danluu] describes is at the core of how we solve problems with programming. Writing code is all about abstraction. While it’s true that any program could be written directly in machine code and customized to an individual machine’s hardware configuration, it would be pretty inconvenient for both developer and user. So over time layers of sugar have been added on top to hide raw hardware behind nicer interfaces written in higher-level programming languages.

And instead of writing every program to target exact hardware configurations there is a kernel to handle the lowest layers, then layers adding hotplug systems, power management, pluggable module and driver infrastructure, and more. When considering solutions to a programming problem the approach is always recursive: you can solve the problem, or add a layer of abstraction and reframe it. Enough layers of the latter makes the former trivial. But it’s abstractions all the way down.

[danluu]’s observation is that we’re just now starting to curve back around and hit low latency again, but this time by brute force! Modern solutions to latency largely look like increasingly exotic display technologies and complex optimizations which reach from UI draw functions all the way down to the silicon, not removing software and system infrastructure. It turns out the benefits of software complexity in terms of user experience and ease of development are worth it most of the time.

For a very tangible illustration of latency as applied to touchscreen devices, check out the Microsoft Research video after the break (linked to in [danluu]’s piece).

Continue reading “Faster Computers Lead to Slower Experiences?”

CNC Mill Repairs iPhone 7

Modern smartphones are highly integrated devices, bringing immense computing power into the palm of one’s hand. This portable computing power and connectivity has both changed society in innumerable ways, and also tends to lead to said powerful computers ending up dropped on the ground or into toilets. Repairs are often limited to screen replacement or exchanging broken modules, but it’s possible to go much further.

The phone is an iPhone 7, which a service center reported had issues with the CPU, and the only fix was a full mainboard replacement. [The Kardi Lab] weren’t fussed, however, and got to work. The mainboard is installed in a CNC fixture, and the A10 CPU is delicately milled away, layer by layer. A scalpel and hot air gun are then used for some further cleanup of the solder pads. Some conductivity testing to various pads is then carried out, for reasons that aren’t entirely clear.

At this point, a spare A10 CPU is sourced, and a stencil is used to apply solder paste or balls – it is not immediately obvious which. The new chip is then reflowed on to the mainboard, and the phone reassembled. The device is then powered on and shown to be functional.

It’s an impressive repair, and shows that modern electronics isn’t so impossible to fix – as long as you have the right tools to hand. The smart thing is, by using the CNC machine with a pre-baked program, it greatly reduces the labor required in the removal stage, making the repair much more cost-effective. The team are particularly helpful, linking to the tools used to pull off the repair in the video description. We’ve seen similar hacks, too – such as upgrading an iPhone’s memory.  Video after the break.

[Thanks to Nikolai for the tip!]

Continue reading “CNC Mill Repairs iPhone 7”

3D Printed Head Can Unlock Your Phone

[Thomas Brewster] writes for Forbes, but we think he’d be at home with us. He had a 3D printed head made in his own image and then decided to see what phones with facial recognition he could unlock. Turns out the answer is: most of them — at least, those running Android.

The models tested included an iPhone X, an LG, two Samsung phones, and a OnePlus. Ironically, several of the phones warn you when you enroll a face that the method may be less secure than other locking schemes. Conversely, one phone had a faster feature that is known to make the phone less secure.

Continue reading “3D Printed Head Can Unlock Your Phone”

[Ben Krasnow] Gasses MEMS Chips, for Science

Why in the world does helium kill iPhones and other members of the Apple ecosystem? Enquiring minds want to know, and [Ben Krasnow] has obliged with an investigation of the culprit: the MEMS oscillator. (YouTube, embedded below.)

When we first heard about this, courtesy in part via a Hackaday post on MRI-killed iPhones, we couldn’t imagine how poisoning a micro-electromechanical system (MEMS) part could kill a phone. We’d always associated MEMS with accelerometers and gyros, important sensors in the smartphone suite, but hardly essential. It turns out there’s another MEMS component in many Apple products: an SiT 1532 oscillator, a tiny replacement for quartz crystal oscillators.

[Ben] got a few from DigiKey and put them through some tests in a DIY gas chamber. He found that a partial pressure of helium as low as 2 kPa, or just 2% of atmospheric pressure, can kill the oscillator. To understand why, and because [Ben] has a scanning electron microscope, he lapped down some spare MEMS oscillators to expose their intricate innards. His SEM images are stunning but perplexing, raising questions about how such things could be made which he also addresses.

The bottom line: helium poisons MEMS oscillators in low enough concentrations that the original MRI story is plausible. As a bonus, we now understand MEMS devices a bit better, and have one more reason never to own an iPhone.

Continue reading “[Ben Krasnow] Gasses MEMS Chips, for Science”

Helium can Stop Your iPhone — Maybe Other MEMS, Too

Sometimes hacking isn’t as much about building something, it’s about getting to the root of a particularly difficult problem. [Erik Wooldrige] was facing a problem like that. He’s a system specialist at a hospital near Chicago. Suddenly a bunch of iPhones and Apple watches were failing or glitching. The only thing anyone could think of was the recent install of an MRI machine.

Sure, an MRI machine can put out some serious electromagnetic pulses, but why would that only affect Apple products? Everything else in the hospital, including Android phones, seemed to be OK. But about 40 Apple devices were either dead or misbehaving.

Continue reading “Helium can Stop Your iPhone — Maybe Other MEMS, Too”

Scotty Allen Builds A USB Drive From An iPhone

What happens when you come across a mysterious, partially populated circuit board in the Huaqiangbei electronics market in Shenzhen? If you’re [Scotty Allen], the only answer is to make your own USB drive from iPhone parts.

[Scotty] made a name for himself through his YouTube channel Strange Parts where he built his own iPhone from scratch, added a headphone jack to an iPhone, and other various exploits involving hot air in Shenzhen. This latest build is no different. It begins with a random PCB [Scotty] found at the electronics market. It has a USB port on one end, it has pads for an iPhone memory chip, and it has an IC that looks like a USB to Flash converter.

The build involved finding a few broken iPhones, desoldering and reballing their Flash chips, and when those didn’t work, finding the correct Flash chips for this tiny little USB adapter board. Here, [Scotty] ran into trouble. The first Flash chip didn’t have the right pins, there was blue smoke, and the toolchain for initializing the USB to Flash IC was a mess.

In the end, [Scotty] managed to create a USB Flash drive after five or six visits to the electronics market, two stencils to reball Flash chips, and finding the OEM software for the USB to Flash chip on this very special PCB. That, itself, required Windows (the horror!), and finding the right version of the software.

Is this technically building a Flash drive purely from disposed iPhone components? We’d quibble. But is it a cool build, regardless? Absolutely. And the real story here is how quickly [Scotty] could iterate on his engineering. When the greatest electronics market is right around the corner, you can do anything with a microscope and a hot air gun.

The Ultimate iPhone Upgrade

While Apple products have their upsides, the major downside with them is their closed environment. Most of the products are difficult to upgrade, to say the least, and this is especially true with the iPhone. While some Android devices still have removable storage and replaceable batteries, this has never been an option for any of Apple’s phones. But that doesn’t mean that upgrading the memory inside the phone is completely impossible.

[Scotty] from [Strange Parts] is no stranger to the iPhone, and had heard that there are some shops that can remove the storage chip in the iPhone and replace it with a larger one so he set out on a journey to try this himself. The first step was to program the new chip, since they must have software on them before they’re put in the phone. The chip programmer ironically doesn’t have support for Mac, so [Scotty] had to go to the store to buy a Windows computer first before he could get the chip programmer working right.

After that hurdle, [Scotty] found a bunch of old logic boards from iPhones to perfect his desoldering and resoldering skills. Since this isn’t through-hole technology a lot of practice was needed to desolder the chip from the logic board without damaging any of the other components, then re-ball the solder on the logic board, and then re-soldering the new larger storage chip to the logic board. After some hiccups and a lot of time practicing, [Scotty] finally had an iPhone that he upgraded from 16 GB to 128 GB.

[Scotty] knows his way around the iPhone and has some other videos about other modifications he’s made to his personal phone. His videos are very informative, in-depth, and professionally done so they’re worth a watch even if you don’t plan on trying this upgrade yourself. Not all upgrades to Apple products are difficult and expensive, though. There is one that costs only a dollar.

We sat down with him after his talk at the Hackaday Superconference last November, and we have to say that he made us think more than twice about tackling the tiny computer that lies hidden inside a cell phone. Check out his talk if you haven’t yet.

Continue reading “The Ultimate iPhone Upgrade”