As part of a plan to upgrade a couple of 18V NiCd powered devices to LiPo, I just got a Supermate DC-6 charger from HobbyPartz. Pretty flexible, cheap, seems to work OK.
On the box, on the label on the front, and even on the manufacturer’s web site, it says it has a USB port to allow monitoring the charging of your batteries. Cool. Yeah, the port is shared so it’s either for USB or for an LM-35 temperature sensor, but I can live with that. I saw several posts asking for where to get or how to make a cable for it, so I knew there would be a little work involved, and I can live with that, too.
The port is brought out on a recessed 3 pin 0.1″ male header. (RC folks would think of that as a servo connector.) I don’t think there is any way to run a USB port on 3 pins. (OK, I suppose if you didn’t bring +5V out. But I’ve never heard of anybody doing that.) I suspected TTL serial data, but needed proof. So I put the charger into USB mode (Set User Program -> USB Enable) and looked at the pins with a scope. Five volt (TTL) serial data! And it’s transmit only. Here’s what the connector looks like and its pinout:
I’d read that the SkyRC Charger Monitor software for a Skycharger B6AC+ would work, so I downloaded it from the HobbyPartz page for that charger. Unfortunately, when I connected the charger to a standard TTL serial-USB adapter (that I routinely use with Arduino clones and other stuff), the software showed no connection. A serial port monitor also showed nothing.
Looking at the signal while it was connected to the USB adapter, it was clear the voltages weren’t right. I could see what looked like serial data with high levels around 5V, but the low levels never got below maybe 4V. That’s never going to work. Bummer. The input to that adapter goes straight into the CP2102, so I’m surprised it didn’t work.
So I made up a really simple non-inverting buffer to drive the USB TTL serial adapter and hooked it up. (Although it only uses 2 wires, the buffer’s TTL level output is pinned out on a 6 pin header like Arduino clones usually use so it plugs into a standard serial adapter.) I could see some kind of binary data on the serial monitor, and the Skycharger software works! Because the data is binary, I couldn’t really tell what the baud rate was, but 4800 and 9600 gave the best results. I couldn’t find any software that would show what baud rate the Skycharger app set the port to, either. It’s not worth reverse engineering the protocol, since I have something that reads it. I’m not sure that software will be particularly helpful for my applications, but at least I have a way to use it.
I’ve read that others have successfully used the “USB cable” for the Skycharger. I’m very curious what the input circuitry on that adapter looks like. (Update 8/14/12: I asked about the adapter on live chat at Hobbypartz. They said there’s no part number, but if I asked “tech support” they might be able to special order it for me.)
Anyway, I wanted to set the record straight: That port is absolutely NOT a USB port. It is a serial write-only/”broadcast mode” under-spec TTL output. With correct adapter circuitry it can be used with a USB port. Or, for that matter an Ethernet port. Or a Firewire port. Or about anything else you want. With the right adapter.
Hi, I have connected a MAX232 to my DC6 and it worked. The VCC pin supplies enough power to drive the MAX232
Looks like another good way to interface to the port. Thanks, Andries!