Alternatives to FTDI USB to UART converter - Page 1
Forum section: electronics / general

author: Chipguy
author_rank: Unknown
timestamp: October 29, 2014, 09:50:42 pm
content: Hi,I would like to start a new thread to solely discuss the replacement of FTDI USB-to-UART converters.Everyone who is in the process of changing the design to another manufacturer is invited to share his experiences in here.FTDI bashing: Please join the crowd inhttps://www.eevblog.com/forum/reviews/ftdi-driver-kills-fake-ftdi-ft232/I would like to ask the Aministrators, to move all the off topic replies in here in order to keep this one on topic.Here is the original list I posted a day ago at the other thread.Possible FTDI replacements in alphabetical order, not complete yet:Atmel ATMEGA8U2 16U2 with Arduino USBSerial Firmware (see Arduino UNO R3)ASIX MCS7810http://www.asix.com.twCypress CY7C65211 with battery charger detectionhttp://www.cypress.com/?mpn=CY7C65211-24LTXICypress CY7C65213 with battery charger detectionhttp://www.cypress.com/?mpn=CY7C65213-28PVXIProlific PL2303HX (Pin compatible to FT232R)http://www.prolific.com.tw/us/ShowProduct.aspx?p_id=156&pcid=41Microchip MCP2200www.microchip.com/MCP2200Silicon Labs CP210xhttp://www.silabs.com/products/interface/usbtouart/Pages/usb-to-uart-bridge.aspxTexas Instruments TUSB3410http://www.ti.com/product/TUSB3410?keyMatch=tusb3410&tisearch=Search-ENWCH-IC Chinese CH340http://wch-ic.com/product/usb/ch340.asp

author: jeremy
author_rank: Super Contributor
timestamp: October 29, 2014, 09:54:45 pm
content: If you want a good, cheap usb to serial converter, you can buy a cypress psoc dev kit for $4 and snap the board along the marked line. It also does usb to spi and usb to i2c.

author: Chipguy
author_rank: Unknown
timestamp: October 29, 2014, 10:07:21 pm
content: Hi,Today I played around with the CY7C65213, mounted on the nice little board called CYUSBS232.Here is a brief review of it:You get a nice little board, 3 chips and a short USB to Micro-USB cable.Drivers and software need to be downloaded.When plugged in the first time it comes up with 2 unknown devices that have the same name.They don't install themself so it is necessary to update the driver. I needed some attempts to find the right one of the 2 for each of them. That's a bit messy since both of them are in different directories.Once the drivers are installed it works fine.So I put it on t breadboard, and shorted RX and TX. Works fine. "HELLO WORLD", wohoo.Now I wanted to use the Battery Charger Detection circuit.It needs to be activated in the Cypress RDK software tool, that's what FTDI calls "FTProg", just for comparison.It knows 4 different states that can be output on 2 pins, however the entire truthtable can be configured at what you needIt does not have the "enhanced detection" like the FT234X has, so it really needs USB D+ and D- to be shortes as per Battery Charger Standard 1.2 final (somewhere in section 1.4)I also need RS485 and was wondering why there was no mention of that in the datasheet.The CY7C65213 really has no auto RS485 direction signal. That's a big dissapointmentI even tried Software RS485 with RTS inverted and non inverted, none of them worked.Since the RXLed and TXLED are pretty dim flashing when there is data transfer going on I think I am going to get the logig analyzer and have a look on these signals. Maybe the timing is good enough.That's it so far for today. I am very sad that auto RS485 does not seem to be possible. I wonder if there might me some patent stuff going on. Who knows. I will get some more of these as a drop in replacement for another board. I let you know how they work.Cheers,Chip

author: Chipguy
author_rank: Unknown
timestamp: October 29, 2014, 10:13:15 pm
content: Quote from: jeremy on October 29, 2014, 09:54:45 pmI am rather thinking of really designing and layouting. Sure there are a lot of cool, cheap and easy solutions for tinkering/hacking/modding, but that's not what I am on about. This is for using the converter IC on it's own in anyones own design.

author: benSTmax
author_rank: Regular Contributor
timestamp: October 29, 2014, 10:14:05 pm
content: Today, I got the MCP2221 DIP-package chips I ordered from Farnell. Tomorrow morning I'll go soldering ...It's very neat to still be able to get an USB-Uart in DIP package. More about this chip tomorrow. Decent price and very few extra parts besides the chip itself.In the meantime I stumbled upon these Exar USB-Uart bridgeswww.exar.com/connectivity/uart-and-bridging-solutions

author: Chipguy
author_rank: Unknown
timestamp: October 29, 2014, 10:29:54 pm
content: Quote from: benSTmax on October 29, 2014, 10:14:05 pmYeah I am really looking forward to that one. Only found the MCP2200 so far. Need to have a closer look around.Somebody found out that this is actually a PIC18F something and was able to reprogram it, awesome.

author: benSTmax
author_rank: Regular Contributor
timestamp: October 29, 2014, 10:37:47 pm
content: It seems there's a neat little board based on MCP2221 but it wasn't available at Farnell.I am checking its schematic for my soldering adventure tomorrow.Here is the link to it:www.microchip.com/DevelopmentTools/ProductDetails.aspx?PartNO=adm00559

author: karan279
author_rank: Newbie
timestamp: October 30, 2014, 03:27:36 am
content: Just swapped a ft232rl with pl2303 on a simple usb to uart board and it doesn't work. When i connect it to the pc it does nothing . A trap for young players , looks like will have to look into this problem or maybe the pl2303 is dead .Any experience anyone?Edit : looking at the reference schematic for pl2303 and looks like it requires some extra components .

author: amyk
author_rank: Super Contributor
timestamp: October 30, 2014, 04:23:11 am
content: http://www.microchip.com/forums/tm.aspx?m=261649Firmware to clone a FT2(2)32 using a PIC18F, just to annoy FTDI more. Could probably easily fix the EEPROM-write difference too.

author: tbbw
author_rank: Contributor
timestamp: October 30, 2014, 07:50:34 am
content: Quote from: Chipguy on October 29, 2014, 09:50:42 pmMaby abit late bloomer on my post but i just wanted to thank you for the time you put into finding these chips and posting links to them

author: benSTmax
author_rank: Regular Contributor
timestamp: October 30, 2014, 08:25:49 am
content: Quote from: benSTmax on October 29, 2014, 10:37:47 pmMy soldering adventure was really quick. I just hooked a couple of caps around the chip and a 3.3V regulator. I missed the reset pin pull-up resistor but it seems it is working without it just fineDriver installation went fine. I am now using it to connect to the serial console of a Raspberry Pi. I like this chip ...I'll come back later on with more details ...

author: Fungus
author_rank: Super Contributor
timestamp: October 30, 2014, 09:27:13 am
content: Quote from: Chipguy on October 29, 2014, 09:50:42 pmIt would be nice to have an idea of price as well...can you put approximate price next to each one?

author: paf
author_rank: Regular Contributor
timestamp: October 30, 2014, 09:52:45 am
content: Many thanks for the list!The CH340g started to appear some time ago in very cheap "ebay" USB to serial adapter cables (around $2.00 USD).Now, it also appears in "ebay" USB to TTL adapters and in the cheapest Arduino clones in ebay.First, they only had drivers for some versions of Windows, but now one can find the driver for all the versions of Windows here:http://www.wch.cn/downloads.php?name=pro&proid=5For Linux, the drivers already come in the kernel, or can be loaded, and recently there is also an OSX driver:http://www.wch.cn/downloads.php?name=pro&proid=178The drivers say "CH341" but they work with the CH340.For prices of modules go to ebay and search for "ch340g".

author: Fungus
author_rank: Super Contributor
timestamp: October 30, 2014, 10:07:33 am
content: Can somebody email a link to this thread to the boss of FTDI?After all, forums like this are where the actual board designers hang out.

author: benSTmax
author_rank: Regular Contributor
timestamp: October 30, 2014, 10:48:38 am
content: Quote from: benSTmax on October 29, 2014, 10:37:47 pmThe more I play with this chip, the more I like it.It turns out besides the USB-UART, it can do I2C. The extra pins can be used to read analog voltages and also generate a voltage (basically a DAC).I soldered a 2nd chip onto the breakout section of an NXP LPC1114 board to have easy access to the LPC1114's serial lines. It works a treat!The price of MCP2221 (depending on the package) varies from $1.55 till $1.69

author: jeremy
author_rank: Super Contributor
timestamp: October 30, 2014, 11:02:46 am
content: Wow! this MCP2221 is incredible. I just wish it did SPI

author: tszaboo
author_rank: Super Contributor
timestamp: October 30, 2014, 12:56:06 pm
content: I don't recommend silicon labs, because they fail to deliver their drivers through microsoft. That is a big no-no to me. The TI's TUSB with their legacy MCU core is also a weird choice. I dont like cypress, because no-one stocks them really (farnell has 7 in US stock. kinda stocking).Soo... Microchip.

author: bktemp
author_rank: Super Contributor
timestamp: October 30, 2014, 01:04:17 pm
content: Do the microchip ICs keep their assigned COM port number when plugged into different USB ports?

author: benSTmax
author_rank: Regular Contributor
timestamp: October 30, 2014, 01:06:20 pm
content: This MCP2221 is amazing!There's a tool you can use to play with the I2C and also with the other things on this chip.I hooked up an I2C EEPROM and I was able to read and write into it.All this time data was being sent out on UART by the LPC1114 micro. The chip had no problem doing UART and I2C things in parallel.Man, I wish I knew about this one earlier ...So long FTDI!

author: dannyf
author_rank: Super Contributor
timestamp: October 30, 2014, 01:30:16 pm
content: I have used ch340-based converters for quite sometime now. No problem whatsoever.

author: amyk
author_rank: Super Contributor
timestamp: October 30, 2014, 01:30:42 pm
content: Quote from: jeremy on October 30, 2014, 11:02:46 amThe MCP2221 appears to be a preprogrammed PIC16(L)F1455, which does have SPI support, so if you were so inclined you could probably write some firmware to do it. The pinouts match completely, and Microchip provide an example of a CDC-based COM port firmware for it:https://sites.google.com/site/ytsnew/home/pic16f1455Amusingly enough there's athread here from last yearabout using that PIC as a virtual COM port... complete with some "no, use FTDI instead" posts.(These might be actual PIC die that were rejected for being imperfect, but their use as USB-UARTs doesn't need the modules that would be required to be operational in a true PIC.)

author: benSTmax
author_rank: Regular Contributor
timestamp: October 30, 2014, 01:59:30 pm
content: Quote from: bktemp on October 30, 2014, 01:04:17 pmIt seems the chip doesn't provide any serial number, so the COM changes when you plug it into different ports.I checked the datasheet and there were mentions about enumeration with or without serial number.I installed the MCP2221 Utility and I found you can actually put your own serial number into the chip.When I checked the "Enumerate with serial number" box, the chip started using the serial number I have provided and the COM ports didn't change anymore when I plugged it in other USB ports.Very nice feature indeed!!!PS: This chip doesn't need a crystal. I read thethreadalong with the "no, use FTDI instead" mentions

author: LoyalServant
author_rank: Regular Contributor
timestamp: October 30, 2014, 02:09:46 pm
content: Well Digi-key has the MCP2221 in stock and Newark will have some in a week per their site as of this writing.So, these guys are not unobtainium at least...I like that you can set a serial number too...

author: LukeW
author_rank: Frequent Contributor
timestamp: October 30, 2014, 02:20:36 pm
content: Do you want to completely boycott FTDI, or just the FT232RL?If the latter, you might want to consider something like the FT230X. I wouldn't use the FT232 in any new designs today anyway, even ignoring all the recent FTDI issues.

author: benSTmax
author_rank: Regular Contributor
timestamp: October 30, 2014, 02:42:13 pm
content: All the way until this FTDI-gate, they were pretty much "the only" USB-UART converter chip company I would go for.This whole FTDI scandal is in fact an eye-opener. I just want to know more about the other similar chips from other companies.I do have a couple of FT230X boards and they are quite ok but I cannot bet all my money on FTDI again. Maybe they will do something nasty as well when they'll discover FT230X-like chips not made by them.TUSB3410 is not bad either. I've played with one I have on a MSP430 Launchpad board. Very decent chip.

author: MicroBoy
author_rank: Contributor
timestamp: October 30, 2014, 04:30:57 pm
content: I've been working in the past days in a microcontroller library compatible with FTDI drivers since all this circus began. It's based on a 32 bit ARM Cortex M3 NXP LPC1343 but i would like to migrate it to a LPC1347. It currently behaves internally as a FT245, but adding serial port commands and stuff it could easily behave as a FT232 too. Good news is that this microcontroller costs the same as a FTDI device, and you still have plenty of CPU power and peripherals to have your own code embedded all into a single chip. Firmware is also easily upgradeable via USB.Still, cleanup and further comunity colaboration will be needed, as i only did this because i like reverse engineering stuff; Specially when someone f*ck with us.Knowledge is power...

author: nctnico
author_rank: Super Contributor
timestamp: October 30, 2014, 06:31:58 pm
content: Actually you can do the same with an LPC11U12 which is even cheaper than an FT232 but it will need an external crystal (just like the LPC13xx).

author: MicroBoy
author_rank: Contributor
timestamp: October 30, 2014, 06:38:16 pm
content: Quote from: nctnico on October 30, 2014, 06:31:58 pmYes.. you could. LPC11U12 is a Cortex M0 running up to 50Mhz. I was talking about LPC1347 because it haves internal EEPROM and a couple of peripherals more that may help to make a all-in-one solution. You could always add an external EEPROM to the other models too.

author: zapta
author_rank: Super Contributor
timestamp: October 30, 2014, 06:49:49 pm
content: Quote from: MicroBoy on October 30, 2014, 06:38:16 pmCheck the LPC11U35. It's less expensive than the LPC1347.

author: benSTmax
author_rank: Regular Contributor
timestamp: October 30, 2014, 06:55:58 pm
content: Any microcontroller solution is nice when you can do some other system logic in it as well(besides the usb-uart stuff)Take for instance the LPC1347 or LPC11Uxx cases above.If you have FTDI emulation plus the rest of the logic in the system, this is definitely a winner.

author: jboard146
author_rank: Contributor
timestamp: October 30, 2014, 07:20:10 pm
content: As to the PL2303 the windows drivers work, but the OSX and linux drivers are a nightmare. From a driver standpoint I'm ruling the PL2303 out.

author: madires
author_rank: Super Contributor
timestamp: October 30, 2014, 07:32:56 pm
content: Quote from: jboard146 on October 30, 2014, 07:20:10 pmI'm using PL2303 based adapters for years with linux without any problems. Actually, I prefer them over FTDI because I had some issues with FTDI based adapters. Even long term usage (24*7 for several months) works fine. I can't complain

author: Chipguy
author_rank: Unknown
timestamp: October 30, 2014, 07:54:53 pm
content: Updated list, with rough pricing for 1pcs (tinkervolume)Atmel ATMEGA16U2 with Arduino USBSerial Firmware (see Arduino UNO R3) (around $4)ASIX MCS7810 (Price n/a)http://www.asix.com.twCypress CY7C65211 ($2.61 Mouser) (with battery charger detectionhttp://www.cypress.com/?mpn=CY7C65211-24LTXICypress CY7C65213 ($2.44 Mouser) with battery charger detectionhttp://www.cypress.com/?mpn=CY7C65213-28PVXIExar XR21V1410 ($5.11 Mouser)http://www.exar.com/connectivity/uart-and-bridging-solutions/usb-uarts/xr21v1410Prolific PL2303HX (Price $0.80 ebay, Pin compatible to FT232R)http://www.prolific.com.tw/us/ShowProduct.aspx?p_id=156&pcid=41Microchip MCP2200 ($1.94 Mouser)www.microchip.com/MCP2200Microchip MCP2221 ($2.74))http://www.microchip.com/wwwproducts/Devices.aspx?product=MCP2221Silicon Labs CP210x ($1.42 Mouser 2104)http://www.silabs.com/products/interface/usbtouart/Pages/usb-to-uart-bridge.aspxTexas Instruments TUSB3410 ($6.50 Mouser)http://www.ti.com/product/TUSB3410?keyMatch=tusb3410&tisearch=Search-ENWCH-IC Chinese CH340 (ebay $0.50)http://wch-ic.com/product/usb/ch340.asp

author: Chipguy
author_rank: Unknown
timestamp: October 30, 2014, 08:04:38 pm
content: Hi,I played a bit more around with the Cypress CY7C65213 today.Got 10 pcs in the SSOP case.I managed to use them as a dtop in replacement but there are restrictions:There is not really a 3.3V out like in the FT232RL.Since I didnt use that and there is only the capacitor connected to the it was not a problem.Driver modification:I also modified the drivers to my own VID/PID.It's a bit suboptimal since the actual virtual COM port name is really virtual coming out the Cypress driver.I was not able to change the name of the Serial device like "Chipguys chip(COM10)", it just stays on "USB Serial Device(COM10)" or something like that.There are 2 drivers needed and one is not even supported in the download package, no idea what's up with that.Installing the RDK you get all the drivers in the Program directory, so installation works.There are 2 directories "cyusb" and "cyserial3", then dubfolders for the OS and then x86/i64.The filenames are all different so they actually could merge the content of these 2 into one, that would make installation much easier.I have acutally done that and going to check it tomorrow on a win7/i64 system.Cheers,Chipguy

author: Fungus
author_rank: Super Contributor
timestamp: October 30, 2014, 08:16:27 pm
content: What about drivers? That's important too.The ATMEGA16U2 probably scores very high for driver availability/reliability, although they're the second most expensive choice. Arduino drivers are pounded to death all over the world every day, maybe even more so than FTDI drivers (yet FTDI claim that "driver quality" is the reason to choose them over the competition...hmmm, really?). Arduino drivers are completely open source so you don't have to worry about any dirty tricks.Does anybody have experience with Microchip drivers? Their chips seem pretty attractive and are a lot cheaper than an ATmega.

author: Monkeh
author_rank: Super Contributor
timestamp: October 30, 2014, 08:17:45 pm
content: Quote from: DiligentMinds.com on October 30, 2014, 08:08:41 pmHow on earth are we supposed to know how your kernels are compiled?QuoteEverything like this has to be manually included. The driver has been in-tree for over five years, that has no bearing on whether it's built into your kernel, supplied as a module, or not available.

author: alper.y
author_rank: Contributor
timestamp: October 30, 2014, 08:52:14 pm
content: I have never used MCP2221 but after quickly skim MCP2221 datasheet noticed that it is possible to change UART parameters by sending commands like "GET_LINE_CODING" over serial port term as stated in 1.3.1 section at datasheet:http://ww1.microchip.com/downloads/en/DeviceDoc/20005292A.pdfIf I understand right, chip will change some settings if an UART message contains "GET_LINE_CODING" string, right? Then should I say to user that "Please, don't transmit these special words, they are reserved."?

author: Monkeh
author_rank: Super Contributor
timestamp: October 30, 2014, 08:58:42 pm
content: Quote from: alper.y on October 30, 2014, 08:52:14 pmNo.http://www.usb.org/developers/docs/devclass_docs/CDC1.2_WMC1.1_012011.zip

author: benSTmax
author_rank: Regular Contributor
timestamp: October 30, 2014, 09:38:26 pm
content: Quote from: Chipguy on October 30, 2014, 07:54:53 pmHi Chipguy,Could you put the Digikey prices for the chips above when asking for 1k pieces?It seems the Mouser prices are higher than normal.For instance, I checked the 1k price for CY7C65211 and I got back $1.606

author: markb82
author_rank: Regular Contributor
timestamp: October 30, 2014, 10:16:36 pm
content: If someone wants a very cheap solution, an attiny might be an option. Use general GPIO for USB, limit to 1.5Mbps, and implement USB-CDC? A google search reveals several people that have implemented USB-HID in an attiny. Still would require loading firmware onto the attiny, and potentially maintaining it, so I'd personally use a dedicated chip (silabs), but a microcontroller solution is definitely doable, even in an MCU without USB.

author: ve7xen
author_rank: Super Contributor
timestamp: October 31, 2014, 12:10:38 am
content: Quote from: DiligentMinds.com on October 30, 2014, 09:35:27 pmSeveral of the options listed are CDC devices, which probably has the best chance of support across Linux kernels, being a USB standard device class. I believe it will also work out of the box on OSX. Windows for some stupid reason requires an INF file despite the driver itself being included. They may have somewhat less functionality than proprietary chips, but IMO the class-compliant nature is a big selling point.

author: Bud
author_rank: Super Contributor
timestamp: October 31, 2014, 03:37:11 am
content: Quote from: Chipguy on October 30, 2014, 07:54:53 pmeBay, eh ? Thank you but no thank you.

author: miguelvp
author_rank: Super Contributor
timestamp: October 31, 2014, 04:33:03 am
content: Quote from: benSTmax on October 30, 2014, 09:38:26 pmOr order directly from Cypress, cheaper and probably has free shipping but not sure about that.http://www.cypress.com/?id=4865

author: sleemanj
author_rank: Super Contributor
timestamp: October 31, 2014, 08:53:26 am
content: It should be noted that the MCP2200 does not provide control over DTR, I don't know about the other MCP part.

author: benSTmax
author_rank: Regular Contributor
timestamp: October 31, 2014, 10:33:55 am
content: MCP2221 only provides the UART Tx and Rx.When the other signals (RTS, CTS, DTR, ...) are needed other chips might be better to use (CY7C6521x, PL2303, CP210x, ...)

author: alper.y
author_rank: Contributor
timestamp: October 31, 2014, 10:50:58 am
content: Quote from: Monkeh on October 30, 2014, 08:58:42 pmOK, it seems that this is a request for CDC devices as stated in PSTN 1.20. When I click to connect a serial port, terminal software, or OS anyway, sends this request and chip responds to that command. Got it!Maybe I shouldn't read datasheets before going to bed.

author: mvta
author_rank: Newbie
timestamp: November 03, 2014, 05:06:31 pm
content: Hi Chipguy,I am Madhura, Applications Engineer from Cypress Semiconductor. I went through your survey and first of all, thank you for giving such detailed feedback on CY7C65213 device. At Cypress, customer's feedback is always valuable and we always incorporate their feedback in our next revisions of software, drivers, firmware or documentation.You have mentioned that, you faced some issues while installing drivers. You manually bound drivers to CY7C65213 device after installing USB-Serial SW and drivers.Now, we are in process of updating our USB-Serial SW, so that automatic installation of drivers happens, if you download and install USB-Serial SW. So, manual binding of drivers won't be required. We will update the same our webpage:http://www.cypress.com/?rID=83110Also, we would like to inform you that our USB-Serial drivers are WHQL certified and thus automatically get installed on your PC if your PC is connected to Internet. It will be great help for us to identify the issue, if you can provide following information to us:1. When you connect the device to PC, was your PC connected to Internet?2. Did you see any window, showing driver installation through Windows update?We are looking forward to hear back these answers from you.Thank you for choosing Cypress product.Thanks,MadhuraCypress Application Engineer

author: Royce
author_rank: Contributor
timestamp: November 03, 2014, 05:53:20 pm
content: What about theCP2110? Has anyone used that?That part was mentioned over in the bashing thread around page 35 or so. Apparently it is a HID device with a custom "report" or something. As I understand it the basic result is that the driver winds up moving to your PC software (you have to know how to interact with the custom report) and the actual driver is the OS supplied USB HID driver.

author: Chipguy
author_rank: Unknown
timestamp: November 04, 2014, 07:21:08 am
content: Hi Madhura!Thanks for participating in this thread.Here is what I was working with the other day:I got the little module from Farnell,nice and neat.My experiences with the driver was that there are two different driver needed. However the WHQL driver did only supply one of these drivers. Not sure if the virtual COM port would work but at least the customers would end up with one unknown device with no drivers.That would raise a lot of support questions.What I got after the extraction of the downloaded driver package was this:\CyUSBSerial_driver_v3.13.0.20_WHQL_CERTIFIED\cyusbserial\[Operating System]\[x86 or x64]\[driver files]Within the files there is of course also an inf file called "CypressUsbAndBus.inf"It contains bindings to the device "USB\VID_04B4&PID_0003"This driver installs fine but the Cypress CY7C65213 expresses a second sub device which ID is "USB\VID_04B4&PID_0003&MI_02".This ID can not be found in the WHQL drivers.However having also installed the RDK (also downloaded from the website) I found that all the drivers are copied to:C:\Program Files (x86)\Cypress\CYUSBS232 RDK\1.0\driver\cyusb3C:\Program Files (x86)\Cypress\CYUSBS232 RDK\1.0\driver\cyusbserialNow, the "...\cyusb3" directory is important, it contains the inf file "cyusb3.inf" which contains all the sections to install"USB\VID_04B4&PID_0003&MI_02".After tinkering around I finally got everything installed and the device list now looks like this:I am not sure if the Cypress IC on the module needs to have a different setting somewhere not to express that "...&MI_02" device, but I couldn't find anything obvious. The only setting that could affect it is "CDC" but I think I am going to need that setting since I need to use a virtual COM port.I have modified the drivers files assortment and put everything I found in "C:\Program Files (x86)\Cypress\CYUSBS232 RDK\1.0\driver\cyusb3" into the "cyusbserial" folder. The files have different names so it's no problem and the installation is much easier. Only one directory to point the drivers at.I didn't check if they install from the Internet, since my tests need to make sure that the drivers we deliver work on their own.Ok that's for the drivers.Concerning the hardware I only have one BIG wish (Not having this is really a big disadvantage)An auto RS485 choice for the GPIO ports like the FTDI's do have.That's all.

author: dannyf
author_rank: Super Contributor
timestamp: November 04, 2014, 11:09:43 am
content: Another option would be to use those mp3 player chips: they inevitably have a usb controller, and many have uart too. So making them into a bridge is simple.And those chips are too cheap: pennies each.The only downside is that if you are not buying in 10s of thousands, they don't want to talk to you. But it is a business that people like appotech can easily get into and dominate, at least on costs alone.

author: Chipguy
author_rank: Unknown
timestamp: November 04, 2014, 07:38:03 pm
content: Hi !Today's alternative to FTDI was the Microchip PIC18F14K50 which comes on a nice little board from Olimex.https://www.olimex.com/Products/Modules/Interface/MOD-USB-RS232/open-source-hardwareThe driver is just the .inf and .cat file and it works just fineThe software can be downloaded from the Olimex Website two.It compiles in MPLAB 8.46 and the free C18 lite compiler which can also be downloaded from MicrochipI used a PICKit2 to program it, but I had to solder some wires and a connector on the board since they use some weird ass bulgarian 1.25mm connector. They seem not to even offer an adapter cableSince I also need RS485 I modified the C sourcecode in order to get a data direction control signal on RC6.And it works nowStill have to check the signals with a logic analyzer but first tests worked fine.Getting the link from Olimex I just realized that they offer that module also with RS485 from the looks.So I would not needed to have figured that out on my own. Maybe that's anAnyway, learning to understand the code is still way better than getting everything done and then being screwed when something's not working ok.Cheers,ChipguyPS: Sorry forgot to take some pictures.

author: benSTmax
author_rank: Regular Contributor
timestamp: November 05, 2014, 08:16:34 am
content: Hi Chipguy,This is a really nice alternative. How much flash was still left unoccupied?The available flash can be used to pack maybe the rest of the system functionality ...

author: Chipguy
author_rank: Unknown
timestamp: November 05, 2014, 08:53:53 am
content: Quote from: benSTmax on November 05, 2014, 08:16:34 amHi benSTmax,For some reason the code starts at 0x1000, IRQ stuff occupies around 0x0000 to 0x0020 (32 byte)The code ends at 0x2BEA so you look at 7146(dec) byte of code(0x1000 to 0x2BEA), ending at address 0x2BEA or 11242(dec)The memory range ends ad 0x3FFF or 16383 (dec) (16Kbyte flash), so there is still plenty of space left.That's what I can see from the windows "Program Memory"Cheers,Chipguy

author: benSTmax
author_rank: Regular Contributor
timestamp: November 05, 2014, 10:22:17 am
content: QuoteI will explore the possibility of using microcontrollers with built-in USB rather than adding another chip only for the USB connectivity. As long as there is a source code available (for the USB part) it makes much more sense to use a single chip (micro) rather than 2 (micro & USB converter chip)

author: Chipguy
author_rank: Unknown
timestamp: November 05, 2014, 12:24:38 pm
content: Quote from: benSTmax on November 05, 2014, 10:22:17 am

author: Chipguy
author_rank: Unknown
timestamp: November 06, 2014, 08:11:35 pm
content: Hi !Still playing with the PIC18F14K50 on the Olimex "MOD-USB-RS232" board:https://www.olimex.com/Products/Modules/Interface/MOD-USB-RS232/open-source-hardwareI already got RS485 direction control to work a few days ago and I tackled the battery charger detection today.If I am not mistaken the PIC has a silicon issue: Ports RA0 and RA1 do not even work, even with all USB functionality disabled and the Chip not in Debug mode, so no PGD and PGC function on these pins. They just read 0, even when they are clearly at 3.3VSo I abandoned using these as inputs and did it a bit different.Just 2 pieces 82K Ohm resistors connected to other port pins and a bit of modification of the USB stack make the battery charger detections works smoothly. I will explain everything in a documentation I am planning to release along with the source code of the modified project.I will also release the hex files for those who just want to program the firmware into the PIC.So I plan to do:The PIC18F14K50 with reference schematics, capable of RS485 and optional (2nd hex file) battery charger detection.Dunno if I should bother also to implement RTC/CTS functionality. I don't need it.There is more to come. Stay tuned.This is a picture from the thing as it was a day ago, it has already changed, added the resistors for charger detection.Cheers,Chipguy

author: benSTmax
author_rank: Regular Contributor
timestamp: November 07, 2014, 08:26:33 am
content: Hi Chipguy,Congratulations for achieving all these in such a short time!It is great you also managed to integrate the battery charger detection. I didn't know it was possible to achieve this using a couple of pins and resistors.Sometime ago I used a Freescale JM-series as a USB-UART converter but no battery detection.

author: Chipguy
author_rank: Unknown
timestamp: November 07, 2014, 06:49:16 pm
content: Hi !Update on the PIC18F14K50:Today I refined the battery charger detection, I can now determine with kind of power supply is connected to the PIC.So in this article I am going into a bit more detail about the power suppliesThe first kind is a Phihong PSB05R-050Q, it has both D+ and D- pins pulled to 3.3V by a voltage divider.You know: Don't turn it on, take it apart. In this case (sonic welding) I needed a handsaw.The second one is the ITE AC024-53100:This one has 2 USB ports, one "Smart out" with that little SOT-23 chip and another one with D+ and - shorted,you can see that above the little SOT-23 chip.The third kind which I don't have a photo of is just nothing connected to the USB D+ and D- at all.Here is the reverse engineered output circuit of the Phihong compared to a simple shorted one:In The Phihong its like a 3K Ohms pull up to 3.3V. That's what the impedance of the voltage dividers is.There is more to come... stay tuned!Cheers,Chipguy

author: Chipguy
author_rank: Unknown
timestamp: November 07, 2014, 09:53:16 pm
content: Hi !Below is the schematic for the modified Olimex module plus the Eagle files:

author: ivan747
author_rank: Super Contributor
timestamp: November 07, 2014, 11:45:34 pm
content: Quote from: jeremy on October 30, 2014, 11:02:46 amMCP2210 does SPI exclusively (plus some IO), and it's HID, like the I2C mode in the 2221. It's still free of proprietary drivers, it's all regular HID. Microchip has no say in it. As someone implied in another thread, these are just factory programmed 20 pin USB PICs, by the looks of the pinouts.

author: ivan747
author_rank: Super Contributor
timestamp: November 08, 2014, 12:21:26 am
content: Quote from: Fungus on October 30, 2014, 08:16:27 pmIn my experience, the chip (MCP2210) just enumerates as HID the driver provider is reported as Microsoft, last time I checked. (if it were a USB-UART like the MCP2200 it would enumerate as a CDC, but whether it really requires the Microchip drivers, I'm not sure, at the moment I'm reading the datasheet).

author: westfw
author_rank: Super Contributor
timestamp: November 08, 2014, 02:03:16 am
content: QuoteFor some "small" definition of "pounded", considering that the Arduino doesn't use anything more than TX/RX, is far enough off of some speeds that it only works because the devices it's communicating with is off the same amount in the same direction. Other vendors were very slow to support OSes other than windows (although at the moment, the state of support seems pretty good.) FTDI *was* trustworthy. Almost everything else will need careful analysis and testing (I guess, for any real product, any chip needs careful analysis and testing. "It works fine in lots of arduinos" is not "careful analysis and testing.")And there's that nagging thought "why do so many of the proprietary USB/Serial chips NOT use the default CDC protocol/drivers?" (Jan says "CDC/ACM doesn't allow you to read CTS, and is probably slower than custom drivers.")

author: Chipguy
author_rank: Unknown
timestamp: November 08, 2014, 07:07:44 am
content: Quote from: Fungus on October 30, 2014, 08:16:27 pmSorry just saw your question about the drivers.Yes, I have some experience with the drivers, there are no specific drivers from Microchip.It uses the CDC (Communication Device Class) driver "usbser.sys" which already comes with Windows.I have this driver already on my Windows 7 machine.All that is needed from Microchip, and already delivered is the *.inf file and to round that up with driver certification they also deliver the catalog file *.cat (meow) with it.I found one issue in the driver already, or since it is a M$ driver I should say "feature".When you are connected to the COM port via a terminal program and you unplug the USB-UART converter and plug it in again the terminal program would not find the COM port again. Even a restart of the terminal program does not work until you disconnect to the COM port or close the terminal program first and then unplug the USB device.Cheers,Chipguy

author: Fungus
author_rank: Super Contributor
timestamp: November 08, 2014, 01:11:29 pm
content: Quote from: westfw on November 08, 2014, 02:03:16 amThat's because of the crystals they use. The common RS232 baud rates were chosen by telecoms engineers and the Arduino crystals are usually some integer number of MHz. There's bound to be a noticeable mismatch at higher rates.The solution is to clock the ATmega at a multiple of 115200 that still works with USB (maybe 11.52MHz?)

author: TheBay
author_rank: Unknown
timestamp: November 09, 2014, 09:29:58 pm
content: I like CP2102's personally!

author: westfw
author_rank: Super Contributor
timestamp: November 10, 2014, 12:24:34 am
content: QuoteRead the datasheet. The PLL that generates the USB clock must have an 8MHz input, and there's a prescaler, so your choice is 8MHz or 16MHz crystals. Period.A perfect illustration. If you're going to throw away FTDI because of some political reason that wouldn't have affected you anyway, you HAVE created yourself a bunch of additional work.

author: nctnico
author_rank: Super Contributor
timestamp: November 10, 2014, 01:59:50 am
content: I wouldn't put it that way. It makes sense to use a microcontroller with USB instead of two seperate chips. A crystal is cheaper than an FT232.

author: M@rcel
author_rank: Newbie
timestamp: November 10, 2014, 11:45:49 pm
content: Quote from: Chipguy on November 04, 2014, 07:38:03 pmI use this for conversion to connect to ICD3:https://www.olimex.com/Products/PIC/Programmers/PIC-ICSP/

author: Chipguy
author_rank: Unknown
timestamp: November 11, 2014, 05:53:44 am
content: Quote from: M@rcel on November 10, 2014, 11:45:49 pmAhh thanks for sharing this link. I was wondering that they should have an adapter of some sort.I got my Olimex kit from Farnell, ang guess what: They also sell the adapter

author: Chipguy
author_rank: Unknown
timestamp: November 14, 2014, 06:19:15 pm
content: Hi !Update : Got some USB-RS485 (alternatively RS232 with 5V TTL level) adapter ready for prototyping.This one is a bit smaller than the USB-RS485-WE PCB in the cable from FTDI, however it lags the 2 LEDs.Sorry the design had to be made in Altium Designer, while the other project, the USB-PIC18 tinkerboard is made in Eagle and all through hole.Here are some first impressions:

author: ivan747
author_rank: Super Contributor
timestamp: November 14, 2014, 07:30:18 pm
content: How reliable is that USB shield soldering going to be? I think it's an interesting concept. That looks very very compact, it could be molded inside a typical USB-A cable.

author: Chipguy
author_rank: Unknown
timestamp: November 14, 2014, 08:10:56 pm
content: It is meant to be molded that's why it is so compact.The tool for the molding already exists, so I have to stick with that very USB-A connector and a pre determined variety of cable diameters.The PCB will be produced on standard pick and place machines while the connector and cable are most likely going to be handsoldered.

author: benSTmax
author_rank: Regular Contributor
timestamp: November 14, 2014, 08:33:29 pm
content: Excellent work, Chipguy.These kind of adapters are always in great demand ...

author: m12lrpv
author_rank: Regular Contributor
timestamp: November 14, 2014, 09:31:50 pm
content: Thanks Chipguy. As someone who really just uses atmel chips and icsp I never really cared about serial and usb.Recently that changed and I've moved into usb and serial programming and your efforts here have really helped me to understand what options are out there and how it all works.

author: Chipguy
author_rank: Unknown
timestamp: November 26, 2014, 06:33:28 pm
content: Hi !Update: Today the boards arrived and I managed to put the parts on it. See the picture below.I already programmed it and the USB side does work fineIt's nice that the PIC uses D+ and D- also as programming interface. I only need one extra pad for /MCLR to program the MCU.And thanks to Mike vom Mike's electric stuff I sucessfully tried his methode of soldering QFNsHowever I must say it only works with a beefy Metcal solder iron.Once it is all tested I am going to release both, the RS485 and a RS232 version as OSHW.I also have the schematics for a fully through hole design which is more like an evauation board.And of course the software will be released as well, open source.Cheers,Chipguy

author: SL4P
author_rank: Super Contributor
timestamp: November 26, 2014, 10:07:18 pm
content: There are some pin-compatible chips from China... Usually FT232-RL series...

author: benSTmax
author_rank: Regular Contributor
timestamp: December 04, 2014, 03:51:01 pm
content: Great work, Chipguy!It is way better to use a CDC-based adapter (since this CDC driver is available now on Win, Macs and Linux of course).Quote from: SL4P on November 26, 2014, 10:07:18 pmThe point here is to use something else than FTDI chips. Clones might be available but since they rely on the drivers provided by FTDI, it rules them out.

author: SL4P
author_rank: Super Contributor
timestamp: December 04, 2014, 09:56:30 pm
content: Quote from: benSTmax on December 04, 2014, 03:51:01 pmI was actually being tongue-in-cheek...

author: Chipguy
author_rank: Unknown
timestamp: December 04, 2014, 10:29:32 pm
content: Quote from: benSTmax on December 04, 2014, 03:51:01 pmThanks benSTmax,I still need to do a little design change and take the commercial stuff out of the software. Then I am going to release all of it.Question is: Where should I put the files and documentation?Sourceforge, Github?Any ideas ?

author: benSTmax
author_rank: Regular Contributor
timestamp: December 10, 2014, 03:18:43 pm
content: Hi Chipguy,I am working a lot with Git, so for me the obvious choice is Github. But you can choose whatever you're comfortable with.

author: mredjr
author_rank: Newbie
timestamp: January 23, 2015, 03:54:04 am
content: Hi Chipguy,not sure if this is the right place but I have an FTDI with the chip labeled CH340T and my computer with Windows XP can not find the driver. I have tried a bunch if drivers on the FTDI site but nothing is working.Do you know which driver I would need to download and what the steps would be after I have it on my computer.Just want to get this thing working so I can start my Software Upgrade for my little receiver for my Multirotor i'm working on.

author: JSnyder
author_rank: Contributor
timestamp: January 23, 2015, 04:06:40 am
content: Quote from: mredjr on January 23, 2015, 03:54:04 amNone of the FTDI drivers will work because it's not an FTDI device. What you have is a Chinese produced usb to uart chip. You can download the necessary drivers herehttp://www.wch.cn/downloads.php?name=pro&proid=5

author: mredjr
author_rank: Newbie
timestamp: January 23, 2015, 04:35:18 am
content: Quote from: JSnyder on January 23, 2015, 04:06:40 amThank you for that info. I didn't even know what I bought at the time and never actually used it. Just brought it out now after like a year probably. lol

author: mredjr
author_rank: Newbie
timestamp: January 23, 2015, 04:39:02 am
content: Quote from: mredjr on January 23, 2015, 04:35:18 amQuote from: JSnyder on January 23, 2015, 04:06:40 amDo you know which one I should pick? CH340T doesn't show up.EDIT: Ok I got a driver now. But can I still use the FT Program or do I have to use a Chinese version?

author: JSnyder
author_rank: Contributor
timestamp: January 23, 2015, 04:51:25 am
content: The one I linked should work for the 340/341 I don't have an adapter with that chip so I can't test it. As long as your environment is WINDOWS 98/ME/2000/XP/Server 2003/VISTA/Server 2008/Win7/Win8 it should work for you. Open the .zip, open the ch341ser folder, and double click the setup.exe for 32bit or in the drvsetup64 folder the drvsetup64.exe for a 64bit install. Plug in the module and it should show up in the device manager as a com port.

author: Monkeh
author_rank: Super Contributor
timestamp: January 23, 2015, 04:59:59 am
content: Quote from: mredjr on January 23, 2015, 04:39:02 amThe device you have has absolutely nothing to do with FTDI, so.. what do you think?

author: mredjr
author_rank: Newbie
timestamp: January 23, 2015, 05:04:57 am
content: Quote from: Monkeh on January 23, 2015, 04:59:59 amOk well I always thought I had an FTDI adapter but I guess not. I will just buy one then. Thanks for your help. At least now I know. I bought this adapter for a Quad I bought because I needed to connect the Quads Board to the computer to be able to change the Flight Controller to Flip Mode. But I ended up buying other quads and never got around to it. The copter was too big and slow to do flips anyways. But I always thought I could use the adapter some day. lol

author: westfw
author_rank: Super Contributor
timestamp: January 23, 2015, 05:13:13 am
content: QuoteThe "Arduino crowd" has sort-of been using "FTDI adapter" and "USB/Serial adapter" interchangeably.But FTDI is only ONE manufacturer of chips/adapters for converting Serial ports to USB connections (There WERE one of the few to offer modules and cables with TTL level outputs, which are preferred in the hobbyist community. Now, there are LOTS of similar modules with similar pinouts. They're compatible in the sense that USB/Serial is a pretty generic function, but incompatible in the details (which driver to use, what sort of "additional IO capability" they might offer, whether they're user-configurable in various ways, and etc.)

author: ralphrmartin
author_rank: Frequent Contributor
timestamp: January 24, 2015, 10:16:55 pm
content: Quote from: Fungus on October 30, 2014, 08:16:27 pmAbsolutely. And not just Windows drivers, but Mac and Linux drivers, especially if you are building a piece of kit not just for yourself.

author: ArticCynda
author_rank: Newbie
timestamp: December 06, 2015, 05:17:51 pm
content: What's interesting about the MCP2221 is that it also comes in a standard DIP 14 package, it's the only factory programmed through hole USB to UART bridge I've been able to find that is still easily commercially available. Aside then from custom programmed USB microcontrollers.Probably irrelevant for industrial products, but a very important advantage for breadboard prototypes!

author: AndersAnd
author_rank: Frequent Contributor
timestamp: May 22, 2016, 08:27:39 pm
content: Quote from: Chipguy on October 29, 2014, 09:50:42 pmThehttp://wch-ic.comsite is down, but I found the Chinese version here:http://www.wch.cn/product/CH340.htmlIs there still a site available in English?

author: serggio
author_rank: Regular Contributor
timestamp: May 24, 2016, 08:56:36 pm
content: Subscribing and will watch who will win. May be extraterrestrials?