Upgrading RAM in the average computer is a relatively trivial task. Pop the case open, and you slide the new sticks into the extra slots. It’s not the same case for smartphones and tablets — in the endless quest for the slimmest form factor, all parts are permanently soldered. In addition, every device is essentially bespoke hardware; there’s no single overarching hardware standard for RAM in portable devices. You could find yourself searching high and low for the right chips, and if you do track them down, the minimum order quantity may very well be in the thousands.
Unless, of course, you had access to the Shenzhen markets where it’s possible to buy sample quantities of almost anything. Given access to the right parts, and the ability to solder BGA packages, it’s a simple enough job to swap a bigger RAM chip on top of the CPU during the repair.
It was but two weeks ago when I told my story of woe — the tale of an LG Nexus 5X that fell ill, seemingly due to a manufacturing fault at birth. I managed to disassemble it and made my way through a semi-successful attempt at repair, relying on a freezer and hairdryer to coax it back to life long enough to backup my data. Try as I might, however, I simply couldn’t get the phone running for more than ten minutes at a time.
All was not in vain, however! I was rewarded for documenting my struggles with the vast experience and knowledge of the wider Internet: “Hairdryers don’t get as hot as heatguns!”
It turned out I had just assumed that two similar devices, both relying on a hot bit of metal and a fan as their primary components, must be virtually identical if rated at a similar power draw. I was wrong! Apparently the average hairdryer stays well cooler than 150 degrees Celsius to avoid melting one’s silky locks or burning the skin. I even learned that apparently, wet hair melts at a lower temperature than dry hair. Who knew?
Armed with this knowledge, I rushed out and bought the cheapest heat gun I could find — around $50. Rated up to 600 degrees C, this was definitely going to be hotter than the hairdryer. With the prevailing opinion being that I had not applied enough heat in general, I decided to also increase the heating period to 90 seconds, up from a quick 30 second pass originally.
Oh Nexus 5X, how could you? I found my beloved device was holding my files hostage having succumbed to the dreaded bootloop. But hey, we’re hackers, right? I’ve got this.
It was a long, quiet Friday afternoon when I noticed my Nexus 5X was asking to install yet another update. Usually I leave these things for a few days before eventually giving in, but at some point I must have accidentally clicked to accept the update. Later that day I found my phone mid-way through the update and figured I’d just wait it out. No dice — an hour later, my phone was off. Powering up led to it repeatedly falling back to the “Google” screen; the dreaded bootloop.
Stages of Grief
I kept my phone on me for the rest of the night’s jubilant activities, playing with it from time to time, but alas, nothing would make it budge. The problem was, my Nexus still had a full day’s video shoot locked away on its internal flash that I needed rather badly. I had to fix the phone, at least long enough to recover my files. This is the story of my attempt to debrick my Nexus 5X.
Last time, I talked about how my storage situation and my cheap nature led me to build an RC joystick controller with a cell phone app and an ESP8266. The key to making this easy was to use the GUI builder called Blynk to make a user interface for an Android or Apple phone. Blynk can communicate with the ESP8266 and makes the project relatively simple.
ESP8266 and Arduino IDE
The ESP8266 Blynk code is straightforward. You do need to set up the Arduino IDE to build for the ESP8266. That can vary by board, but here’s the instructions for the board I was using (from Adafruit; see below).
Depending on the type of ESP8266 device you are using, you may need a 3.3 V serial cable or some other means of getting the firmware into the device. For the Adafruit device I had, it has a 5 V-tolerant serial connection so a standard USB to serial dongle plugs right in. There’s also two switches on my device. To get into bootload mode, you have to push the one button down, hold it, and then press the reset button. Once you release the reset button you can release the other button. The red LED half-glows and the device is then waiting for a download. Continue reading “Blynk with Joy”→