Back from the Dead: How I Revived a Fried Espruino Board

Performing a Delicate SMD Chip Transplant, Successfully!

Yesterday, the positive alligator clip of my power supply accidentally touched a Pixl.JS board, delivering 12 volts directly into one of the GPIO pins of the board. As you can probably guess, the poor board, which is only designed to handle 3.3V, did not survive the accident. It was very frustrating. This is the story of how I fixed the fried board.

Espruino and the Pixl.js Board

Espruino is an embedded JavaScript platform, allowing you to program various microcontrollers using the same language that powers that Web. It powered my In-Real Life Chrome T-Rex game, and more recently also the homemade IoT Air Pressure sensor that I built.

Pixl.js is one of the boards sold by Espruino. It is powered by the nRF52832 microcontroller, which includes Bluetooth Low Energy radio and has incredibly low power consumption. It is the same microcontroller I used when I designed the Angular beacons.

The Pixl.js also carries a small LCD screen and 4 button small push buttons and is compatible with many Arduino shields, making it incredible useful for applications where a compact device with a display, Bluetooth connectivity and low power consumption is required. It is my recommended board for Web developers that are making their first steps in the hardware world.

My fried Pixl.js board :/

Why I Didn’t Just Buy a New Board? 💰

A new Pixl.js board sells for $45, and additional $15 for shipping to Israel, so 60$ in total. It takes up to 2 weeks for the package to arrive, and then I also have to go to the post office to collect it. So it is not very cheap, and also involves waiting for a long time.

My friends and I are trying to get our Trumpet Playing Robot ready for the Chrome Dev Summit next month, and we planned on using this board. So waiting for two weeks for a replacement wasn’t something we were happy to do. Also, the board was already dead, so I didn’t have much too lose anyway.

Analyzing the Dead Board

A moment after the 12V accident happened (and after quickly disconnecting my power supply), I touched the board. The Bluetooth radio module was hot. This module is where the nRF52832 chip sits, along with several other components that connect to the Antenna and are part of the radio transmission circuity.

Since I touched the 12 volts to one of the GPIO pins of the board, and the microcontroller was pretty hot right after this happened, I was pretty certain that it was dead. I could easily confirm it by setting my power supply to 3.3 volts and connecting it to the power pins of the board — the board was short circuiting.

Dead Pixl.js board waiting for a transplant

Let’s Fix It!

I started by checking out the specs for Pixl.js and found out it uses the MDBT42Q Bluetooth Module. This module is sold by a Taiwanese company called Raytec. Getting a new module would certainly be cheaper than getting a new Pixl.js board, but I would also mean waiting for several weeks.

However, I did have a different Bluetooth module that contained the same nRF52832 chip. I got it a few years ago after backing a Kickstarter project. Apparently, backing these projects can sometimes be useful!

The two Bluetooth modules were not pin compatible, so I couldn’t just switch them. I had a different plan though: trying to switch the microcontroller chips insides the module. This was the time to try performing a transplant surgery.

Setting Up For The Surgery

I started by removing the Bluetooth module from the Pixl.js board using a hot air gun set to 260°C and a pair of tweezers:

I usually prefer going with the hot air from the other side of the board (so I won’t accidentally blow away small components or melt plastic parts), but the LCD screen covered the back of the board, so I carefully went from top this time.

and… it’s gone

Next, I mounted the Bluetooth module I just pulled of the board in order to remove the metal cover that it had on top:

With the cover removed, I could easily spot the nRF52832 chip:

The MDBT42Q module, naked

Next, I removed the presumably dead chip from the module:

This time the hot air gun went below

At this point, I was ready to begin the transplanting process!

Transplanting

I mounted the other Bluetooth module (the one I got from Kickstarter) and removed its metal cover:

which revealed it had the same chip, in the same package. The nRF52832 comes in two variations, QFN48 and WCLSP, and I was worried the other Bluetooth module might utilize a different package for the chip.

Same Chip Different Module

I started the actual transplant: