Counterfeit Uno R3 with fake 16U2?

I recently purchased two Arduino starter kits from Ali Express. These include clone R3s and various components for projects. One was for a friend and I later got one for myself. I also ordered two additional boards described as R3s with 16U2 from a different seller.

The first two boards looked like clones. Those from a different seller have fake logos.

The last three boards have problems: they aren't recognised on all USB ports. Some show fine (ports on a laptop and via hubs) others (on my PC) give "device descriptor request failed".

Uploading sketches works fine on all boards when they're recognised.

The later three boards wont enter DFU mode. Shorting the reset pin on the 16U2 ICSP to ground has no effect. Using an USBASP programmer doesn't work either for the 16U2 ICSP: not recognised. The main ICSP works fine for the 328P.

I checked out the faulty boards and they're visibly different round the 16U2. This is the good board:

These are the bad ones:

Using a meter most of the 16U2 ICSP pins don't seem to connect to the chip itself. I suspect it's a counterfeit 16U2: maybe a dedicated USB/Serial chip repackaged to reduce costs. For most users they wont try DFU mode and will never notice.

Anyone got a similar board? If so can you enter DFU mode on it?

It wouldn't be the first time. We've seen CH340 chips here that were actually repackaged FT232 chips and did not work.

Do the bad boards actually allow you to upload via USB?

Does your operating system actually recognises the boards as Unos?

It sounds like whatever chip is being used to interface the fake UNOs to the PC need drivers. The fact that Windows didn't do an auto-install tells me they are not common chips. Worst case is you have useless boards.

Did you expect quality from AliExpress? :smiley:

1 Like

Despite the apparent similarity, the font used in the logo is quite different. Add that to the non-functional pins you describe, then your suspicions may well be correct. I did wonder whether it might be a CP9102X, but those come in a 28 pin package so perahps not.

Other than not liking some USB ports I can upload sketches fine to the things. The Mega328P is socketed and its ICSP port works. I removed the chip and put it in an external programmer and it checks out as far as I can see. So the Mega328P seems OK or is at least a good clone.

The board shows as a COM port and is reconised as Uno R3 with VID/PID 2341:0043.

As I said DFU mode can't be entered and the 16U2 ICSP port is unresponsive. The type number is horizontal on all the bad boards and vertical on the good one.

I've partly traced the circuit round there. The +5v/GND pins are connected. There is a diode and resistor between +5V/ ICSP RST pin but doesn't seem to be connected to anything on the fake 16U2.

Update: the socketed Mega382P do seem to be a copies on all boards (including the good one). The serial number test shows a lot of FF on all of them.

What is that?

It is mentined here.

It's a sketch that dumps a kind of serial number of some chips. If the result contains a lot of FF then it's suspect.

TLDR version I ran this sketch:

//found this code here
//https://gist.github.com/speters/f889faec42b510052a6ab4be437d38ca

//Purpose is to simply run a memory check on ATMEGA238P to test for counterfeit parts

#include <avr/boot.h>
#define SIGRD 5
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Serial.println("");
  Serial.println("boot sig dump");
  int newLineIndex = 0;
  for (uint8_t i = 0; i <= 0x1F; i += 1) {
    Serial.print(boot_signature_byte_get(i), HEX);
    Serial.print("\t");
    newLineIndex++;
    if (newLineIndex == 8) {
      Serial.println("");
      newLineIndex = 0;
    }
  }
  Serial.println();
}

void loop() {

}

One of the three boards showed as this:

boot sig dump
1E    C2    95    FF    F    FF    FF    26
FF    FF    FF    FF    FF    FF    58    FF
DF    FF    DF    FF    FF    FF    FF    FF
FF    FF    FF    FF    FF    FF    FF    FF

I tried this against some older clone boards I had from a few years ago (CH340/SMD R3 type stuff) and they had less FF for example:

boot sig dump
1E	91	95	FF	F	C1	0	26	
FF	A	FF	17	FF	FF	57	36	
34	31	39	37	FF	4	4	1B	
17	2	12	6	13	6	FF	FF	

The 1E 95 0F indicates that it's the 328P. It would not indicate that the 16U2 is fake :wink:

The C2 vs 91 is the calibration for the crystal so they can differ. I do not know what the other bytes mean; I did try to find them without success.

But I suspect that you indeed bought the ultimate crap.

As I said this was a test for the Mega328P not the 16U2. Yes the first few bytes are the device ID and it contains miscellaneous other information. Some of it is documented here and other parts on the data sheet. Copied Mega328Ps seem to have more FF than genuine ones (see the link in the thread).

As for the "16U2": since I can't reprogram it in any way there aren't many tests I can do with it. I wonder how many people have these boards and don't realise since they never tried to put them in DFU mode?

Before this I'd had good experiences with Aliexpress: pretty much every board I had worked fine.

Thanks for that link; I think I've seen it before but it did not click.

Have you tried ICSP via the 6 pin header closest to the 16U2? I did search this topic but did not see it mentioned.

Lots of people don't have a need for other functionalities on the 16U2 (e.g. UnoJoy) so will never realise what they bought till the sh.t hits the fan.

I guess it depends who you buy from; I don't buy on Ali. Did you buy everything from the same supplier?

I tried a USBASP programmer and and an external programmer on the ICSP header next to the 16U2. They power the board but neither can even read the chip ID. Later tests showed several of the pins of that ICSP don't connect to the fake 16U2 at all.

The main ICSP for the Mega328P works fine with both programmers.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.