2011 15″ MacBook Pro & Crucial M500 SSD issues

When a tool works, I like to keep it as long as possible. About 8 years ago, I bought a 15″ MacBook Pro, and it has served me well all this time. Apple replaced the logic board a few years ago (under warranty!) because of graphics issues. Since purchasing, it’s had it’s memory upgraded, the hard drive replaced for an SSD and the optical drive swapped out with a hard drive. I replaced the SSD again for a larger 512GB model (Crucial CT512MX100SSD1) when they became cheaper. So far so good.

Recently, a friend gave me a defective MBP, which turned out to be the exact same model (A1286). Great for spares, I thought. Lo and behold, there was a whopping 960GB SSD (A Crucial ct960m500ssd1) inside. “Why not swap that into mine?”

I wish I hadn’t. While the swap was relatively easy, and the computer worked okay, it got a little sluggish over time. I upgraded macOS and it got even slower. Until I got to a point where I couldn’t even send an e-mail without getting the hated macOS “Spinning Pinwheel Of Death” (SPOD). Once every 30 seconds. Sometimes Spotify would even stop playing music, even when I didn’t even touch the machine.

I’ve had this OS install since I bought it. All the development kits, homebrew, libusb-type hacks etc; maybe something is acting up. Let’s try a clean install. Nope, still getting beachballs right after booting a VM. Different SATA cable – nope. Other memory. Oh well.

Must be all the OS upgrades, I thought. Also, I’ve been asking quite a lot from such an old machine, running a lot of programs simultaneously – even some VM’s too. “But it always worked flawlessly!”. I was seriously considering buying a new laptop, even looking at Windows machines because of the price difference. A MacBook Pro with similar storage and memory would’ve cost ±€4000, though.

Then it hit me. The problems started – gradually – about a year ago. About the same time I upgraded to the M500 SSD. Swapped back the MX100, clean install; bingo! VMWare Fusion, running Windows 10 and Windows XP simultaneously, different browsers with 4K video, some file transfers running in the background; no problem.

Since I couldn’t find anything online about this apparent incompatibility, I thought I’d share it here. What makes it even more problematic is that the drive seems to work fine; the OS installs, it boots, etc. You’ll only notice the hangs and freezes after a while. That’s what makes this so insidious.

I don’t know the root cause of the problem, and at this point I don’t care. 512GB ought to be enough for anybody 😉

BeagleBone Black Technical Drawing

I know. You’re hacking and whipping a proof-of-concept up. You’d like to laser cut a baseplate for your favorite dev tool: the BeagleBone Black. Unfortunately, BeagleBone doesn’t provide nice technical drawings like Raspberry Pi does.

I noticed a shift in visitors to my blog; most of them used to come for the cheap chinese laser cutter pages, or the Solidworks Macros. But lately, most of them are coming for the Arduino Uno technical drawing! Since there are no good mechanical drawings for the BBB out there, I decided to whip one up.

Thanks for Logic Supply for the (very detailed!) CAD-model.











2011 15″ MacBook Pro WiFi cables breaking

If you have a 2011 MacBook Pro and are experiencing WiFi-connection issues, the antenna cables might be broken due to repeated opening and closing of the lid. Mine’s a A1286, but I guess other models have the same issue. Irritatingly, macOS shows “5 bars” of signal when in fact it’s getting none.

After doing some research, I found I wasn’t the only one with this problem.

If you alt-click the WiFi-icon, you get this info screen:

Before replacing, both “RSSI” (signal strength) and “Noise” both were at -80dBm.









Here is the cable, you can clearly see the severed connections.

This could have easily been spotted in a durability-test of the hinge; maybe this only happens when the cables are twisted some way.

Come to think of it, Apple replaced my screen once due to glitches. Could be that the display cable had the same issue?

Why your Nexus 5 is stuck in boot loop

After tearing down and repairing the LG G3 I received someone’s broken Nexus 5, also known as LG D820. A part of the screen was shattered, but the digitizer still worked. It did, however, behave erratically. First I thought the digitizer was recording touches that weren’t there, but after disconnecting it, the problem persisted.
As it turned out, the power button was broken. Unlike the power button on my iPhone 4 – which didn’t respond at all – this button continuously registered presses when it was left alone. This makes the phone unusable because it will shut itself down, try to reboot, but before it can do anything thinks you’re trying to reset the thing.

The internet has dubbed this the “boot loop” and it’s a massive problem. Search for “lg boot loop” and you’ll get 4.3M results. “Nexus 5 boot loop” on YouTube yields 70K (!) videos. Probably not all of these boot loops are due to the power button; some reports suggest that some other connection on the main board degrades due to components heating up.

So what’s up with this particular instance? I fixed the phone by replacing the power button. When you can do this repair yourself, it will take about $1 and half an hour. I you go to a service company, they’ll probably charge $50+. As is so often the case, these tactile switches cost only a few cents but end up defining the (economic) lifetime of an expensive piece of hardware when they fail. I received 5 new buttons, so I decided to take one apart to try and understand what happened. Unfortunately, the original button was lost when I desoldered it.

Side view of the switch. 2.54mm (100mil) pinheader for size reference.

The same switch, flipped on its side. Left side is intact, on the right side the frame has been deformed and soldermask removed to expose the copper tracks.

Same view, enhanced. Annotation shows which parts probably cause the malfunction.

Tinier problems.
First of all, this switch is tiny. Above is a microscope photo with a 2.54mm (100mil) header for size reference. When you make something electromechanical smaller, it becomes more error-prone. One thing that struck me immediately is that a big chunk of this switch is actually printed circuit board (PCB). The PCB and a plastic housing containing the switch disc is held together by a metal frame. The tin-coated copper tracks (metallic coloured) of the PCB are shielded against the metal frame by soldermask (white). The metal frame is stamped and still has the sharp edges associated with that process.

This is speculation, but I guess something like this is at the core of LG’s problems: Every time you press the power button of your phone, the soldermask of the PCB is pushed against these sharp edges. After a while, the mask will be worn away, and when it’s gone on both sides, the metal frame will short the contacts of the power button. Hence the erratic behaviour. The same short could also be caused by ingress of metallic dust. There are a lot of ways the design of this switch can cause problems, but I wouldn’t be surprised if this is it.

The never-ending quest for smaller consumer electronics prompted LG engineers to design or specify a switch with durability issues. It’s a shame that a valuable device like a smartphone is discarded prematurely because of a cheap part like a switch or headphone jack. I hope this helps someone diagnose their phone. Or maybe it helps fight LG in the class-action suit 🙂

LG G3 teardown and analysis


A few weeks ago, I took an LG G3 smartphone apart to repair the screen. I hadn’t disassembled a recent smartphone for a while, so there were some interesting finds which I’ll document here. My apologies for the crappy photos.

Force-resistant headphone jack & Bottom sensing MEMS Microphone

Most noticeable was the headphone port, which is a discrete part with springy connectors on the side. These mate to an edge-connector on the PCB. The part was mounted only to the enclosure (with adhesive), not to the board. Since the headphone port gets to endure considerable stress from the forces of the earphones, this makes for an interesting solution to headphone ports fatigue-cracking from the PCB. This should make the phone more durable (on that part; it has other issues like easy moisture ingress). It’s also easier to replace.

Another interesting solution visible in these photos is the MEMS-microphone, which has its sound-cavity-opening on the bottom in stead of the top. On the bottom of the board is a small piece of filter or membrane which keeps out dust (and maybe moisture as well?). The phone features three of these, with the other two used for noise-cancellation.

Edge-connected headphone jack (green( and reverse-sensing MEMS microphone (red)

Same, bottom view with headphone jack removed.

Distance sensor mounted on a small piece of circuit board

This is an interesting hack solution which I’d never seen: mount a part on a small piece of circuit board of a certain thickness, to use as a spacer. This way, you can have the sensor as close as possible to the front glass. The green PCB has tiny vias (visible through the epoxy!) and presumably some pads on the bottom to SMT-mount it to the blue mainboard. I wonder if these were populated on a big panel with loads of these sensors and then cut and repackaged on reels to feed into the main assembly-process?

Distance sensor on PCB as standoff

PCB-mounted shielded high-frequency cable

You’ve got your high-frequency signals on one side of the board and your antennas on the other. What’s a guy (or gal) to do? The cable is about 5cm long and runs on a thin strip of PCB which is besides the battery (which would be in the bottom left in this photo).

PCB-mounted HF-cable

Laser-etched-then-metalized plastic parts with vias

Using a laser to roughen the surface of a plastic part and then using the surface roughness to selectively metalize the part has first been demonstrated by Fraunhofer (AFAIK) quite some years ago. It’s been used extensively to make high-performance antennas from the parts that also function as the speaker body or phone enclosure. I’d never seen this process done with functional vias (electrical connection from one side to the other) before. Hybridica FTW!

Laser-etched and metalized vias

Same, top view. Note the relief from the metalized area.

Thanks for your attention! See anything else interesting? Questions?

Using USBtinyISP with Ubuntu

If you want to use Adafruit’s excellent USBtinyISP programmer with Ubuntu Linux, you’ll probably run into this error:

avrdude: Warning: cannot open USB device: Permission denied

Here’s a quick dump of what should help:

In a terminal, type:
sudo nano /etc/udev/rules.d/99-USBtiny
Then paste
SUBSYSTEM=="usb", ATTR{idVendor}=="1781", ATTR{idProduct}=="0c9f", GROUP="adm", MODE="0666"
into the new file. Write it out by pressing Ctrl-O.

sudo usermod -a -G plugdev YOURUSERNAME
sudo service udev restart
sudo udevadm control --reload-rules

Insert the USBtinyISP again.

This makes a rule which fixes the permissions on the USB mount point every time the device is inserted. All information comes from this thread but wasn’t properly structured. Hope this helps someone 🙂

Dit is geen elektrische auto


Als je goed kijkt, zie je nog een fiets en een persoon voor de schaal. Picture by Marika Shahan & Zachary Shahan | EV Obsession | CleanTechnica (CC BY-SA 4.0)


De Mitsubishi Outlander Plug-in Hybrid Electric Vehicle (PHEV) is een monster van een auto. 2000 kilogram. Eén meter zeventig hoog. Bijna 5 meter lang. En bijna 20cm “bodemvrijheid”, om zelfs de hoogste verkeersdrempels met volle snelheid te kunnen nemen. Een typische benzineslurpende SUV.

Toch wordt deze auto door de Nederlandse staat aangemerkt voor allerlei belastingvoordelen:

  • Lagere bijtelling (0% in 2013, 7% in 2015, 14% in 2016, en dat tarief hou je de komende 5 jaar).
  • Geen wegenbelasting.
  • Lagere BPM (€427, in tegenstelling tot ±€6.000 voor een niet-PHEV SUV van vergelijkbare aanschafprijs).
  • De milieu-investeringsaftrek

En dat allemaal omdat ‘ie volgens de standaardtests 42g/km CO2-uitstoot zou hebben. Dezelfde tests die de laatste tijd veel in het nieuws waren vanwege geknoei door Volkswagen. Sjoemelsoftware; prachtig woord ook. Ik ben geen fiscalist, maar het belastingvoordeel (of derving, vanuit de overheid gezien) is duizenden Euro’s.

Geen wonder dat hij populair is in Nederland. Voor relatief weinig geld rij je een gloednieuwe, ruime auto, met dank aan de staat. En altijd een parkeerplek in de stad, want je mag gebruikmaken van de parkeerplekken met laadpaal voor elektrische auto’s. En nog goed bezig voor het milieu ook!

De auto is zo populair, zelfs, dat een kwart (!) van alle tot nu toe wereldwijd geproduceerde Outlander PHEV’s naar Nederland kwam.

In totaal meer dan 20.000 stuks. Veel mensen zal dit weinig verbazen, want je ziet ze om de haverklap. Door sommigen wordt dit aangehaald als iets positiefs; “De lancering van de Outlander PHEV in Europa is een goede indicatie dat de doelstelling van 20 procent elektrisch in 2020 haalbaar is.

Screen Shot 2016-02-01 at 10.55.10Alleen jammer dat die auto’s helemaal niet elektrisch rijden. Okay, er zit een accupakketje in (12kWh; de miniscule elekrische iMiEV heeft al 16kWh) en twee elektromotoren (60kW). Maar voorin ligt ook een twee liter 121pk benzinemotor. En uit onderzoek van TNO blijkt dat dit soort auto’s helaas toch vooral op die laatste rijden. Daarmee komt hun praktijkverbruik gemiddeld zo’n 3x hoger uit; op ruwweg 150g/km. Ter referentie; een niet-hybride Range Rover Evoque (toch wel het prototype PC Hoofttractor, toch?) heeft een verbruik van 181g/km. Volgens de fabrieksopgave dan.

Screen Shot 2016-02-01 at 10.57.19

Er zijn, volgens bovenstaande grafiek, zelfs mensen die het lukt om meer dan 15l/100km (1:6) te rijden met deze auto. Gemiddeld!

Okay, ze rijden wel zuiniger (6,5l/100km gemiddeld) dan de gemiddelde niet-PHEV Outlander rijder (9,5l/100km). Wat dat betreft is het verschil bij de Volvo V60 diesel (!) PHEV nog slechter.  Maar dat belastingvoordeel is gegeven op het testverbruik van 1,9l/100km. De subsidie is bedoeld om mensen over de streep te trekken bij het kopen van een zuinige, liefst zo veel mogelijk elektrische auto. Iemand die nu ‘de duik in het diepe wil nemen’ en een volledig elektrische auto koopt krijgt dezelfde stimulering van de overheid als iemand die een grote SUV koopt en daar nagenoeg altijd op benzine mee rijd.

Toegegeven, de data van TNO zijn van Travelcard Nederland, een bedrijf dat de leasetijgers van Nederland voorziet van brandstof. Mensen die zelf hun brandstof af moeten tikken bij de pomp rijden misschien zuiniger. En daar ligt natuurlijk het echte probleem.

Niet alleen bied de overheid belastingvoordeel bij aanschaf aan mensen die dat niet zouden moeten krijgen; de hele gedachte achter “de vervuiler betaalt” gaat niet op wanneer mensen zelf hun brandstof niet betalen. De accijnzen die brandstofverbruik zouden moeten verminderen tijdens gebruik (en daardoor alternatieven interessanter maken) werken op die manier niet.

Om het verhaal toch positief af te sluiten; ik zie twee goede zaken.

  1. Het ecosysteem-effect. En dan bedoel ik niet het milieu, maar het feit dat zelfs een abominabele z.g.n. “elektrische” auto als de Outlander ervoor zorgt dat er aanzienlijk meer vraag komt naar accupakketten, aansturingen, laadpalen, snellaadstations (okay, die misschien niet) en elektromotoren. Daardoor zullen bedrijven sneller investeren in de ontwikkeling ervan. Wat de transitie naar volledig elektrisch weer versnelt.
  2. Hierboven noemde ik al dat de plug-in Outlanders zuiniger (zuiniger, niet zuinig) rijden dan hun niet-elektrische broertjes. Het mooie is dat deze trend breder is; het hele Nederlandse wagenpark wordt langzaam maar zeker steeds zuiniger. En niet alleen op papier (“type-approval consumption” van ±105g/km) maar ook in dagelijks gebruik (±155g/km).Screen Shot 2016-02-01 at 11.27.54

Maar er is nog een lange weg te gaan. En ik denk dat de Nederlandse staat veel kan doen om de juiste prikkels te geven voor de juiste beslissingen. Een beetje gezond verstand bij het opstellen van de regels zou kunnen helpen. Wanneer beleid gemaakt wordt, kunnen de gevolgen al redelijk getoetst worden. Op de vraag: “En deze, die Outlander, zou die in aanmerking moeten komen?” zou het logische antwoord moeten zijn: “Lijkt me niet”.

Wie weet. Misschien komt er wel belastingvoordeel op autodelen?

TL:DR; Een grote SUV als de Mitsubishi Outlander die in de praktijk 3x zoveel verbruikt als de fabrieksopgave zou niet in aanmerking mogen komen voor allerlei belastingvoordelen. Dat de “type-approval consumption”-cijfers (fabrieksopgave) blind gebruikt worden voor bepaling of een auto wel of niet in aanmerking komt voor subsidie klopt niet. Ook zouden de tests om op die cijfers te komen aangepast moeten worden aan gebruikspatronen uit de echte wereld. Nu zijn die gebaseerd op een sprookje waarbij mensen ±70% elektrisch rijden, terwijl dat eigenlijk 15-30% of minder is. Met die aanpassingen zou de overheid geen perverse financiële prikkels meer uitdelen aan autobezitters. Daarnaast moeten we ons afvragen of autobezit überhaupt gestimuleerd moet worden.