Who is CJMCU? Can they be reached?

As described in other threads, I'm working on embedding a USB-to-serial adapter in one of my MSP430 projects, and I've found the perfect adapter for this purpose. It's smaller than the other adapters, has the right pinout, and even comes with a micro-USB socket onboard.

The chip used in the adapter is the CP2102 from Silicon Labs. But there's a problem. The output labeled in silkscreen as "3.3V" actually measures

4.25V. And it's not just the one I received:

formatting link

It seems that all modules of this design are like that. And the CP2102 is definitely a 3.3V part. So it's either something wrong with the board layout, or something the manufacturer has done intentionally to get that output up close to 5V.

This is a deal killer if it can't be corrected because all the MSP430 parts would likely be destroyed by voltage that high. Oh, and it's not just the

3.3V output, it's DTR and TXD too.

I've been on the Silabs forum, and so far nobody has come up with an explanation for how this could be done. If everything is connected as it should be, which appears to be the case, this shouldn't be possible.

So what I'd like to do is contact the manufacturer and try to get some information about how this was done in the hope that it will be something I can reverse easily. The markings on the board are:

CJMCU

BQ09615H2 2925a

I've seen CJMCU elsewhere in relation to drones and other stuff, but Google gives me no home page or any other info about them.

Does anyone here know anything about CJMCU? Where would you go to find them?

Reply to
Peabody
Loading thread data ...

[snip]

Is that a loaded measurement? Or unloaded? It's probably an LDO and "leaks" up to rail without any load. ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| STV, Queen Creek, AZ 85142    Skype: skypeanalog |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 

     Thinking outside the box... producing elegant solutions.
Reply to
Jim Thompson

I'd agree with that... Seen it before.

--
This email has been checked for viruses by Avast antivirus software. 
https://www.avast.com/antivirus
Reply to
TTman

If so it's easily tested by putting a load on it.

--
Tim Wescott 
Control systems, embedded software and circuit design 
I'm looking for work!  See my website if you're interested 
http://www.wescottdesign.com
Reply to
Tim Wescott

It drops very slightly at 20 ma. So essentially the same loaded or unloaded. It's basically a diode drop below the 5V USB level. So not really regulated at all.

And I do have a different adapter using the exact same chip, even the same date code, and it's 3.3V loaded or unloaded, and works fine.

I think they did this to make it compatible with 5V Arduinos. I just wish I knew how they did it. I've been through both adapters, and the connections and readings are the same on both. So something is going on inside the chip.

Reply to
Peabody

Have you checked the board for different resistor values? Maybe setting the "regulator" voltage? ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| STV, Queen Creek, AZ 85142    Skype: skypeanalog |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 

     Thinking outside the box... producing elegant solutions.
Reply to
Jim Thompson

The only resistors on the board were the LED resistors, and I removed both the LEDs and the resistors just to make sure they weren't the problem. There are no resistors left on the board, only capacitors and the CP2102 chip.

Reply to
Peabody

The 3.3V is coming from the USB-to-serial chip? In these degenerate times, you probably set the voltage via USB. Maybe there's info on how to do it on the web?

If there's a 3-terminal regulator setting the voltage, then it could be a

4.3V part (which sounds weird), or they screwed up the footprint and you're just getting your current from the protection diodes.
--
Tim Wescott 
Control systems, embedded software and circuit design 
I'm looking for work!  See my website if you're interested 
http://www.wescottdesign.com
Reply to
Tim Wescott

for

and

a

ts

e

I

le

hem?

formatting link

which could also explain you problems with pins when not powered even thoug h the datasheet indicates it shouldn't be a problem

Reply to
Lasse Langwadt Christensen

could be one of the chips is counterfeit?

--
This email has not been checked by half-arsed antivirus software
Reply to
Jasen Betts

I know someone who spent a day trying to work out a similar error.

In their case the battery indicator was on, and of course with a new battery all the voltages mysteriously returned to normal.

Either way, check the accuracy of your measurement.

--
Mike Perkins 
Video Solutions Ltd 
www.videosolutions.ltd.uk
Reply to
Mike Perkins

Thanks very much for finding that. Of course that's one possible explanation. But the CP2102 has a number of settings that can be programmed into the chip. And I believe one of those allows you to turn off the regulator.

These chips are so cheap to begin with that I didn't think anyone would bother to make fakes ones. Well, in the end it may not matter why it doesn't work if I can't find a way to make it work.

Since posting, I *may* have found software that will let me reset the chip to factory defaults. If it still misbehaves after that, then a fake chip would be the explanation.

However, the problem with the I/O pins not being hi-Z when the device is off is also there in a diferent module that does output 3.3V, and which I have no reason to believe isn't a genuine chip. So that's a separate issue.

Reply to
Peabody

Huh. Just looked at the part, and the 3.3V regulator is fixed. Now I'm thinking it's either a wiring problem or maybe you got some counterfeit parts?

--

Tim Wescott 
Wescott Design Services 
http://www.wescottdesign.com 

I'm looking for work -- see my website!
Reply to
Tim Wescott

Yes it's fixed, but I think it may be possible to disable it in some way. But it's also possible it's a bogus chip. It's not a routing problem. I've confirmed everything goes where it's supposed to, and doesn't go where it shouldn't.

Thinking about this, my circuit limits what's passed through to the processor to the voltage at Vcc of the 50A buffer. And it will tolerate higher-than-Vcc inputs. So even at

4.25V on all outputs, if I run the 4.25V supply through an IR LED to the 50A Vcc, that would let me use this adapter, but would limit voltage to about 3V or a little higher. The gate of the blocking MOSFET would still have to go back to the 4.25V, which would put it 1.25V above source, but that should be ok.

Have you ever used an LED to drop voltage? Of course the drop would vary a bit with current, but I'm looking at under

10 mA, so it should be pretty stable. And the typical voltage drop on an IR LED is about 1.2V, max 1.5V at 20 mA. IR204 for example.

What do you think? Of course there are other adapters, but this one is tiny.

Reply to
Peabody

I think you have a crap chip on your board and you should drop it rather than try to mess with it.

To see what is wrong, you can try doing one thing I thought of. I found a web page where some guys building a board with one of these had trouble because they shorted the USB VBUS to their 3.3 volt line. This would give different symptoms depending on what your USB power source is. First, measure the 5 volt rail. If it is also 4.3 volts try disconnecting it and measure the resistance between the 3.3 and 5 volt lines. If this is not your problem I expect your board has a cloned chip and will never work right.

formatting link

One other point. When I look at the Silabs site I find the CP2102 and the CP2102N. The CP2102 is over $2 in 1000 piece quantities. The CP2102N is just over a dollar. Which of these do you think could be used on a board that sells for $1.25 assembled and shipped? NEITHER!

These boards output 4.3 on the Vdd rail because someone screwed up in designing the chip and they aren't going to pay to fix them. Before you buy any of these boards, try asking the vendors if the V3.3 is actually

3.3 volts. See if any say that is correct. When you buy on ebay, you only need to start a "not as described' complaint and they will refund your money and you get to keep the item. Otherwise, you can try your fixes. Or you can get device that works.

You could get an external USB to serial cable that plugs into a header in the box. Then you don't care so much how small it is and you can get one that works properly.

--

Rick C
Reply to
rickman

The 5V rail on mine is 5V. It's the USB 5V line. Those guys had the 3.3V pin routed directly to VBUS, which is not the case in mine. I've traced everything out, and mine is routed correctly - exactly the same as another adapter of a different design, but using the same chip, which works perfectly, 3.3V and all.

I understand your point, but the other adapter - the one that works - cost me $1.45, delivered, and it's the CP2102, or if it's a counterfeit, it's one that works. And that adapter has a full size USB connector on it, plus a six-pin header, all for $1.45. Did I mention delivered from China? So I don't know that the price tells us anything.

I think it's entirely possible that this chip is a fake, or maybe a run that Silabs screwed up and this guy bought them for a song. But I just want to finish running down the possibility that it's an EEPROM setting. A guy on the Silabs forum has promised me a command line method to reset the chip to the factory default. If he comes through, then I'll have the answer. If the reset gives me 3.3V, then I can make this adapter work. If not, then the chip is defective, and I think rather than risking the IR LED method, I'll use an adapter that works right even if it's a bit larger. The LED method would also require a pulldown resistor for when USB isn't connected, so that's two extra parts to make it work, and at some point I need to stop adding parts. If the forum guy doesn't come through, then I think it would be time (maybe past time) to pick another adapter.

Since I've gone to the trouble to do this, including writing a Windows program to do the flashing and a custom BSL for the processor, I hoped to make it useful to anyone who wants to do this. And the idea was to make it so no Launchpad is needed, just a regular USB cable. I'd like to stick with that if I can.

Reply to
Peabody

The other parts are very, very inexpensive, but how can they buy genuine CP2102 chips and sell the module for $1.49? It's simple math. Neither of these modules are using a genuine CP2102, or at least no legal chips. I've heard of overseas fabs (and they are pretty much *all* overseas) selling overrun production or testing rejects on the grey market. So you get what you pay for.

I have some 100 watt LED modules that seem to light up all the LEDs. But if you throttle the current back you see that some of the LEDs are brighter and others don't light at all. They are factory rejects that cost nearly nothing. I only paid a dollar for some of them and they are barely worth the price.

I'm not clear. This is just a generic serial port, right? What special software is needed to use it? Are you doing the trick to drive reset on your target from a handshake line via a capacitor so it can be rest after flashing? How would using the CP2102 be any different from using the serial cable? Just the fact that it's the cable that's special rather than the CP2102?

--

Rick C
Reply to
rickman

The idea is to build the CP2102, or a module containing one, into the circuit board of an MSP430G project. In the case of a G2553, it already has code supporting this in ROM, and with a special sequence on Reset and one other pin, it will boot up into BSL. And TI provides a Windows command line program that carries out the flashing. The /Reset capacitor won't work with the special signalling pattern. It has to be a direct connection.

The G2231 however has no such code, or a serial port. TI provides one version of a software UART "custom" BSL that would exist down in INFO memory, and it must occupy no more than 248 bytes. I made some changes and optimizations so it would work better. That code will go into BSL if the chip is powered up from USB, or after it is reset if self powered but connected to USB. Since I'm using the 74VHCT50A, I don't need the capacitor - it can be a direct connection from DTR to /Reset.

But TI provided no program on the Windows side to carry out the flashing - the protocol is completely different from the G2553. So I had to write that. Fortunately, Silabs provides an excellent app note with all the API calls to talk to the CP2102.

In either case, aside from having the software and the drivers installed, all the use would need is a regular USB cable, which he almost certainly already has.

But again, nobody needs this if they are willing to buy a Launchpad for about $15 delivered and then mess with the connections from the Launchpad to the MSP device. But I just wanted to make it cheaper and easier on any ultimate user in cases where the device ends up being used by lots of civilians. And it seems that the cost of embedding all this in the device is pretty low. There are lots of modules under $2, and of course it doesn't have to be a CP. I picked that only because it was used in this tiny CJMCU module that even has the right USB socket built in. So it would work perfectly for the G2231, but not the G2553 because it doesn't bring out RTS.

The 50A is 40 cents. And if needed, a mini USB socket is a dime or less. And the MOSFET is 49 cents if that's needed. So something around $3 in total, not counting the cost of board space.

So I'm just trying to create a complete, integrated system for doing it this way in case anyone ever wants it.

Reply to
Peabody

He did come through, but things took a strange turn. I was set to test the power mode, but when I plugged in the adapter, nothing happened, and Device Manager showed nothing there. So apparently when I was probing this and that to figure out the circuit, I must have damamged something since this thing is deader than four dollars. So I can't test a CJMCU device until the second one I ordered from the same source arrives next week.

But, in the mail today I received two of the same type of adapter that I ordered two weeks ago from an entirely different source (but also in China). So I was going to test them instead, but it turned out that the 3.3V output on these is actually 3.3V. Yay!!!

This batch is the identical board to the CJMCU parts, but they do not have that label on the back even though the picture in the Ebay auction shows it as CJMCU. In fact there's nothing on the back. So apparently there's a second source for these parts, and they work correctly. I've written to the seller asking if he will be a reliable source for the non-CJMCU parts.

So this is really better outcome than I had hoped for. Well, I guess you get lucky sometimes.

Oh, and it's $1.37 with free shipping. Could still be counterfeit, I guess, but at least is works.

Reply to
Peabody

Good news on the modules. So how do we tell which vendors sell the good board and which sell the dodgy board?

Let me ask you to explain why this device is so important. I read your other post but I'm still not completely clear. Let me restate what I perceive is going on.

You are building a board with an MSP430 processor. As a means to program the MSP430, you want the CP2102 device to be built onto your board so it is always there, but it will be added as a chip, not the module. That is the primary reason you are doing any of this, right?

For prototyping you are buying these very small modules with the chip and micro-usb connector. I don't recall just what your requirements are to interface these modules to the prototype MCU board (which I assume is one of the launchpads or other TMS340 prototyping boards), but it requires that you use a buffer chip to isolate the CP2102 when it has no power via the USB connector. So your board will need the CP2102 and the buffer chip to be built in.

On top of that there is a problem with some unknown number of these micro-USB CP2102 modules that it outputs 4.3 volts instead of 3.3 volts both on the Vcc pin and the signal pins. In addition, this module does not bring out to an I/O connector the handshake signal needed to reset the MCU. I assume you have a way of soldering to the handshake pin or something.

So the part I still don't get is why you are so wedded to this module and why it needs to be so small and so inexpensive. You talk as if this will be something others will be able to use, but other than the devices built into your board, this will not be an easy solution for others. They will have to buy the CP2102 module, test it to see if it is the wrong voltage, buy the buffer chip and then find a way to connect these components together.

Since this will only be used with the MSP430 and nearly all the prototyping boards available with these chips also contain a programmer USB interface chip, why is this even useful? Why doesn't it make more sense for you to just get your prototype done using whatever boards you can find that work and then focus on the board you are fabricating?

--

Rick C
Reply to
rickman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.