LIS3LV02DL is a MEMS three-axis digital linear accelerometer that provides both I2C and SPI interfaces for communicating with microprocessors. My work here is largely based on the work done at Near Future Laboratory. Instead of using a commercially available LIS3LV02DQ break-out board (LIS3LV02DQ is QFP packaging equivalent of LIS3LV02DL), I chose to hand solder an LIS3LV02DL (which is uses LGA packaging). And I have made some changes to the code sample to support more functionality.
Many people are afraid of using LGA components in their projects as these components tend to be difficult to work with. They might be a bit harder to work with than ICs using DIP packaging, but you can easily make an adapter for them using only a standard soldering iron (15W to 30W). And all you need is a steady hand and some patience.
So for the first part of this two-part series, I will share my technique of how to make the LGA adapter using a perf-board. And for my next post, I will show you the programming behind to communicate with the Arduino. The hand soldering method I used here is especially suitable for working with components with only a handful of pins (in this case 16 pins).
Since the LGA chip is extremely small (see actual size below), it can be damaged easily. So special care must be taken during handling and soldering.
To work with such a small component, you need to clean your soldering iron’s tip and re-surface the tip if necessary so that the tip is at most 1mm in diameter. The soldering iron I used is just a very basic 30W one you can buy from Walmart or RadioShack. A fancier one can probably make life easier, but it is not necessary.
2. Mounting the chip
Without using any special printed circuit board, the best way to deal with LGA components is to turn it upside down and glue it onto the board like this:
Do not use too much glue as excessive glue can get on the soldering pads and make it very difficult to solder later. Usually, a tiny drop of super glue would do the trick. Also, consult the datasheet for pin orientation. The first pin is usually marked on both sides of the chip (in this case it is the tiny dot near the upper left corner, right under the pin pad).
This is obviously the most crucial step. It is important to remember that the soldering time for each pad must be kept very short (less than half a second) as the soldering area is extremely small, excessive heat can easily cause the pad to detach from the IC and destroying the chip in the process. So if a solder point is not done successfully, wait till it cools down before giving it a second try. It is also helpful to apply a little bit of flux on each pad prior to soldering.
The wire I used to connect the pads is 38 AWG magnetic wire. Generally speaking anything in the neighborhood of 35 to 40 AWG should work just as well. Prior to soldering, use fine sand paper to carefully remove the thin layer of insulation. To ensure that the wire makes good contact with the pad and to reduce soldering time, the wires need to be pre-tined. A uniform layer of solder is also a good indicator of the successful removal of the insulation.
Start from the chip pads. Line up the tinned magnetic wire using one hand and use the solder iron tip to just touch the pad a for a split second. This is usually enough time to fuse the pre-tinned pad and magnetic wire together. Wait for a couple of seconds till the pad cools down and pull the magnetic wire gently to make sure that the soldering was done successfully. Then, solder the other end of the magnetic wire onto the perf-board and cut off the excessive wire. Repeat the above step till all pads are soldered. The finished board should look like this (with headers):
4. The finished breakout board
The finished breakout board can be used as is and you can solder the remaining components onto it to finish up. Or, if you intend to use it with breadboards or sockets, you can solder headers onto the board:
Using similar techniques, you can make adapters for other LGA, BGA or SSOP chips as well. In my next post, I will give some code examples on how to handle the communications between this three-axis accelerometer and an Arduino using SPI.