6
\$\begingroup\$

Is there some service where one can search for a microcontroller from its pin layout?

There's a remote control that doesn't work and I would like to find information about its microcontroller. I'm not trying to find a replacement, I want to get more information about it to be able to make proper tests. Actually most likely the resonator is broken but I got interested in the title of this question.

So far I can only get that it's a TSSOP20 package with +V on PIN6, GND on PIN9 and XTAL terminals on PIN7 and PIN8. Possibly it's serial programmed through PIN15, PIN16 and PIN17 (it could be passive configuration pads too) and works with a 4MHz crystal and it's 3.3V tolerant. The other pins are used to read buttons in a digital fashion.

I'm interested not only in information of services available but also on techniques you use to find information about an unknown chip (since some manufacturers rebrands its chips).

\$\endgroup\$
11
  • 1
    \$\begingroup\$ Lots of chips in consumer products are rebranded. In this case I already searched for it with no results. \$\endgroup\$
    – Sdlion
    Mar 19, 2016 at 3:16
  • 2
    \$\begingroup\$ Post a pic. There's a chance someone here might recognise it... \$\endgroup\$
    – brhans
    Mar 19, 2016 at 3:32
  • 1
    \$\begingroup\$ Start by checking suppliers for MCUs in the right package. Measure the voltage and limit to things which can tolerate that. Consider the required peripherals and rule out things that don't have that. There's a real chance though that the chip in question isn't sold in your market and doesn't have reference materials in your language. \$\endgroup\$ Mar 19, 2016 at 4:03
  • 1
    \$\begingroup\$ Motivation could also be important. One of the most interesting ones is to customize the functionality, for example it's been determined that the Hubsan-branded IC on one of their small quadcopters is really a Nuvoton and an alternate firmware has been developed by experimenters. In the case of a simpler board or someone wanting to develop their own product it may make more sense to do a redesign with whatever MCU seems readily applicable, cheap, and/or familiar. If it's a costing exercise and you really need to know (vs a workalike) have it decapped. \$\endgroup\$ Mar 19, 2016 at 4:56
  • 2
    \$\begingroup\$ There's no strong reason to assume that it's a general-purpose microcontroller anyway. Remote controls of all sorts are made in such volumes that it's well worth the manufacturer's effort to extract every bit of cost from the BOM, and this includes creating a custom ASIC for the logic. Also, you didn't say what kind of remote it is -- RF? IR? Where is the output connected? \$\endgroup\$
    – Dave Tweed
    Mar 19, 2016 at 11:23

2 Answers 2

2
\$\begingroup\$

Given that you have changed the question a little bit, I will update my answer to match.

No, Not Directly

Firstly though, I will start with exactly the same sentiment as before despite the comments. No, there is no system which allows you to directly search all the different MCUs/ICs by pin configuration. Such a system would require a huge amount of effort to build a database for and somebody would still have to trawl through all the datasheets to find the information.

The closest you will get is manufacturer part selectors and distributer parameterised searches. However, there are none of these that I am aware of which would get you any closer than saying what ICs are available in 20pin (TSSOP) packages.

You can also use search engines with terms like "20pin TSSOP MCU", and "20pin Microcontroller " and so forth depending on what information you can glean from the IC itself.

Even once you have found possible matches, there are no guarantees that you have found something even remotely compatible. Just as an example, there are PIC MCUs with the same footprint as 7400 logic ICs, which are about as far from each other in compatibility as you will likely get - although I will accept you could possible program an MCU to be a 7400 IC, but not the other way around.

You can also find different ICs from either the same or different manufacturers with the same pin locations as each other for key pins like power - e.g. the ATTiny167 and ATTiny861 - these two are both the same 20 pin package, with the same power, clock and reset locations, but have completely different capabilities (one can generate all the control signals for a BLDC for example, the other can't). So just because you find a match, doesn't mean it is a suitable alternative despite what the comments imply.

There is also no reason to assume that the part is in fact an MCU, or at least a general purpose one. There are discrete ICs that are designed for specific applications (essentially baby ASICs) which would not show up under the microcontroller class - for example TRC1300 is a remote control encoder IC.

In fact this is quite likely in a common purpose mass produced design - by this I mean common applications like a TV remotes where it would not be surprising if somebody has developed a single IC to do all of the interfacing and mass produced it - many cheap products (even expensive ones) would simply use that same IC because the costs would be lower - both in saving of time that would be spent developing firmware for an MCU and doing the hardware designs and also in a cheaper BOM cost.

However, unless you have a part number, and a manufacturers logo, then it is either incredibly difficult, and/or very time consuming to identify the part without trawling through datasheet after datasheet, and even then there are no guarantees that you it is even possible - it could be a custom IC that has no publicly available information.


But, There are Chances

Many ICs can be marked with simplified codes or even not at all, and yet despite all of the odds, it is possible to identify them given enough time. In fact if you look on this site you will find several such examples.

However, there is an underlying theme to the ones that can be found. The amount of information available in marking codes (even if shortened), and crucially how they fit into the circuit. By the latter I don't necessarily mean pin locations, though this in itself can be very useful once you have narrowed down the pool of options, but rather knowing what the circuit is, where the IC is located in the circuit, what function it performs.

As an example, there was a question a while back about identifying a 5 pin SMD IC based on only a 4 digit code. In this case it was possible to identify. Why? well, we could see the full PCB layout and determine what it could be. In that case it had connections to the power rails, yes, but also to a high power LED, and some interesting bias circuitry. From that it could be narrowed down to some form of LED driver with current limiting. Using that information along with the markings, the part was identified.

You've immediately narrowed it down to an MCU. If that is indeed the case, then the next step is to start determining what features are available. Does it have an PWM type pins? Does it have a built in ADC? What communication protocols does it use? This sort of information can narrow down the search for an MCU by allowing you to be more specific when looking through part selector tools.

If you know where the programming pins are for the IC (e.g. an ISP header on the PCB?), you can also gain some clues as to possible manufacturers. For example if the programming header is a 2x3 pin header, it may be an Atmel part. If the header is a 2x5, then it could be a JTAG header. If there are only two programming pins and reset, then it could be a Microchip PIC. These are not givens by any means, but you could stand a chance.

In fact if you can identify the manufacturer and the programming header, you could try common programmers for that manufacturers ICs to try and read any Part ID built in to the IC - many have identifying information accessible via the programming header. But that is only possible if you can make the right connections. If you have a part requiring a HV programmer, this is by no way recommended as sticking high voltage on the reset pin without be 100% sure is a good way of destroying something.

You can also try to identify the part by searching for your device as a whole. There are sometimes common consumer circuits that have had teardowns done where people spend time going through and trying to identify the parts.

In summary, the more information you can gather from the circuitry - about how the part connects to its surroundings, what features it has, markings, and so on - the better your chances. Search engines, distributers, even datasheet catalogues are best places to search for possible matches based in this information. But be under no illusion that it is going to be a straight forward task.


Other Options

There are some other options, which I have neglected thus far. Services exist where you can pay somebody to do a teardown on a device to identify parts. Usually the people offering these services will have connections in the industry that can get them information that you can't find through search engines. I'm not going to name any such services, but they do exist.

There is a massive amount of reverse engineering that goes on within the electronics industry. You can pretty much guarantee that and will be buying each others latest devices and tearing them down to find out what is inside so that they can try to reverse engineer them. But again, these groups tend to have inside knowledge of the industry - direct contact with manufacturers who can supply such information.

\$\endgroup\$
13
  • \$\begingroup\$ No. First, you're ignoring that the poster's chip has a substantially more unique pinout - notably, the power pins are not in the corners. Next, in your ATtiny varients example, there's a decent chance that the programming interface is still active enough that you can differentiate them by idcode. But even if you can't, once you have identified something that fits the PCB, you have a potential replacement. You may be able to narrow it down further by considering application requirements - is there enough memory? Are all the needed peripherals onboard? \$\endgroup\$ Mar 19, 2016 at 4:00
  • 2
    \$\begingroup\$ @ChrisStratton Secondly, just because you have something that has the same power and clock pins doesn't mean you have found a viable replacement. You can find a PIC with the same power pins as a 7400 series logic gate, not exactly interchangeable. You can find an MCU with the same pins, there are no guarantees that it has even remotely the same functionality, let alone the binaries working - you would then have to decompile the firmware (which would first require you to know what programming interface/MCU to download it, catch 22), and then recompile it to work with the new chip. \$\endgroup\$ Mar 19, 2016 at 4:07
  • 3
    \$\begingroup\$ @ChrisStratton it also doesn't change the fact that you still need to search countless datasheets which is the main point of my answer, and the answer to the question - there is no such database (that I am aware of anyway) which contains lists of IC pinouts with the ability to call up possible ICs based on possible pin functionality, \$\endgroup\$ Mar 19, 2016 at 4:09
  • 2
    \$\begingroup\$ If it doesn't work, then it's obviously not the right candidate. As for the binaries, clearly the poster doesn't have those and will have to rewrite the firmware - if they did have them, that would be a huge clue to finding the chip. And they probably can't be recovered, unless the manufacturer left the chip unlocked. If they can be recovered that way, it's another great way to finalize the identification. \$\endgroup\$ Mar 19, 2016 at 4:10
  • 2
    \$\begingroup\$ Actually theres are quite a few such databases - they are just called distributor websites and cad package libraries. Improvement could clearly be made, but the biggest risk is that the original chip is just not offered in the poster's country and language. \$\endgroup\$ Mar 19, 2016 at 4:11
1
\$\begingroup\$

I use DigiKey in such cases. Select microprocessor ICs, then filter by package. Next step is group the chips per manufacturer. DigiKey has a quick link to every chip PDF. Yes, I do it one by one, but there is a system - usually the same chip family has the same crystal oscillator location on specific pins. If the oscillator on your PCB is on different pins, you can skip that chip.

Of course, this is not easy, but very often I find the chip within few hours.

If your life depends on it:

  • There is another destructive method, if the chip type is extremely important to you. There are services on the net, where they shave off the plastic and read the chip name usually etched into the die.
  • There are aggressive chemicals around, which melt your chip plastic away and you can read the same with quality microscope.
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.