Cerebro Seco

Se faciliter la vie informatique sans sacrifier ses principes!

Aller au contenu | Aller au menu | Aller à la recherche

Dumping an SOIC, 24LC64 EEPROM

This small chip has 8 leads, a very small pitch (for human hands at least), and contained code I was interested in reading. Since I got myself a PIC programmer that's also able to read and burn a variety of serial EEPROMs from Microchip, I did the former, merely to prove it would work. Of course, the process could have been made simpler, but I personally hate destroying a perfectly-good device.

Difficulty: difficult. Or, better said, tedious.

The first step was actually dismantling the device to get to the chip itself. This step has been performed years ago (don't ask), so not a chance I would have pictured that back then with a VGA-resolution cell phone.

The second step was the discovery that this chip is in fact very small, and that I couldn't possibly solder anything in-circuit precisely enough in a way different leads wouldn't short. Plus, lack of visibility around the chip, crud accumulating from melting flux, dust, and micro solder debris meant it would be rather difficult to get a good view. Finally, I wasn't sure these chips could be read while in-circuit. That led me to conclude that de-soldering was the way to go.

Pay attention to chip orientation, as you won't be able to distinguish it should you choose the "glue" method (described afterwards).


Required tools:

  • Soldering iron. Tip size not important for unmounting. Otherwise get the thinnest, shortest you can find. Shorter means better control.
  • de-soldering pump, to clean leads from accumulated crud.
  • Some solder in fine wire. Fluxed core highly preferred.
  • Very small, flat-headed screwdriver. About 1mm wide should do fine.
  • multistrand, fine wire. For once, lesser-quality one may work better.
  • pointed pliers. Optional but will make pulling single strands easier.
  • tweezers.

Third step was actual de-soldering. First, I put a very small, flat-headed screwdriver right on the corner of the chip and the PCB. With a hot enough iron (tip size not important), melt a small solder blob on the tip. Put this molten ball on the lead closer to the screwdriver's tip, and in a rapid succession (this requires a steady hand), successively heat each lead while applying a very small amount of twisting force on the screwdriver. Only two fingers should be necessary to apply the necessary force.

Repeat on other side of the chip with the same sequence. Let it cool between attempts if not successful at first try. Eventually the chip will come off. This technique works best where the fragile leads and small size prevent efficient use of a de-soldering pump.

Fourth step: prepare the chip for dumping

You now have freed a small chip! Congratulations, but this isn't over yet. Stick it on its back "dead bug-style" on something that won't move easily. I personally used cyanoacrylate glue to hold it on a large piece of cardboard, but I really don't recommend this method as, should you need to remove the chip later on, it is impossible to clean properly.

Visually make sure there's no bridge between any of the leads. The chip is large enough you probably won't need a magnifier to see that once it has been freed. Pull a single strand from the insulated piece of wire using pliers or whatever you like, and use the small screwdriver to form a loop with the strand. Put the loop around a lead and if you can, make a knot around it to secure it. The former method seems secure, but makes the process of checking for shorts much more arduous.

The new method requires more precision, but is definitely better and would make the chip easier to reuse. You have to be quick and precise to perform this, and a steady hand. Caffeine overdose prohibited! Melt a small blob of solder at the iron's tip, and now that you got a fine strand of bare wire, straighten it as best as you can, then hold it with pliers, touching one reversed chip's lead on its back (soldering it on the back part of the lead will make re-using the chip easier, as you will simply need to cut the strand short, instead of desoldering it). Use the molten solder to create a contact between the bare wire and the lead, holding pliers as still as possible while it cools down, holding the bare wire in place.

Repeat for each step and make sure there's no contact between any of the leads. In case wire falls off, repeat.

You should get something like this. Pay attention to where the strands are soldered.


Fifth step: dumping

This is actually the easiest. Carefully place each strand of wire in the matching socket of the programmer and make sure they don't touch. I used a ZIF socket, an option really worth its relatively high cost, then clamped it. Remember the chip isn't held by anything more than a collection of very fine wires, so don't move the socket unless absolutely necessary. Plug in the programmer into a USB port, and launch François Gilbert's simple and reliable GUI for pk2cmd to dump EEPROM's content.

Although I do like François' GUI very much, it didn't provide me with the option of selecting "A2 chip". So I used a Windows virtual machine-based PICKit2 software to read its content, which is available in binary and hexadecimal form, at the end of this post. Configure programming software as shown:




Parts of this work was performed thanks to the advice of piccircuit.com, seller of an affordable and well-built PICKit2 clone.