UPDATE: Some places where the project appears. Thanks to all!!
Hi all! After a couple of months with a lot of work, I come here again with the last board I develop before Christmas. It’s a dual USB serial and I2C converter based on two MCP2221 Microchip 2.0 USB-Serial bridges. I develop it as a need on my work with the last project I’m involved. I need to monitor a serial communication between two devices. With only one converter, I must choose between RX and TX lines to monitoring the traffic. With this solution, I can listen at the same time TX and RX lines, so the monitoring is more easy. And with a software like Docklight (you can download a free evaluation copy here), you can choose the monitoring option to display both channels. After the break you can find all the technical info of the board!
- Hardware
First of all, the schematic of the board, you can get it here: EEL_USB_DualComPort_V1.0. It’s based on the MCP2221 breakout board, with some add-ons. The scheme is divided in the following parts:
- Main diagram: Includes the mini-B USB connectors, TVS diodes for protecting the USB lines and the output connectos. I let the footprint for two kind of conenctors: screws or pin strip, in order to plug the board directly on a breadboard.
- Power supply stage: The board is powered with the 5V-USB voltage. On every power input, I add a 0.5A polyswitch fuse to protect the USB port. Both 5V-USB voltages are put in parallel using two SSA33 diodes, and the output is connected to the input of a NCP1117-3.3 LDO regulator, to obtain system 3.3V. MCP2221 can work with 5V or 3.3V levels, depending of the voltage at it’s powered. For both converters, I let a switch to select the power supply (VDD_A and VDD_B). So, with only one jumper per converter you can select level of the signals: you can use the board with 3.3V or 5V systems, or with a mix of both!
- MCP221 USB/Serial bridge (A): the basic connection for the MCP2221 converter. It has a small R-C filter on USB lines and a Reset pushbutton. In addition to USB/Serial converter, MCP2221 also has the feature to convert from USB to I2C master device. So, you can connect I2C slaves to this device and communicate with they (check the SW point). For the I2C communications, I let two jumpers to enable/disable the I2C pull-up resistors. Finally, I use GP0,GP1 and GP3 signals as a led’s indicators (low level active, default configuration). So GP0 lights when it receives a data over the serial port (red led). GP1 lights when transmit a data over the serial port (yellow led). And GP3 lights when there’s communication on the I2C port (green led).
- MCP2221 USB/Serial bridge (B): Same as the above.
I design the board with components only on top layer, it’s easy to assemble. I use the DP5050 sick of beige PCB format from DangerousPrototypes. All the PCB info is in the following file: INFO_USB_DualComPort_V1.0, and the gerber files of the board can downloaded here: GBR_USB_DualComPort_V1.0. And here’re a couple of 3D-previews images from Altium (I love this suite for design!):
I order the boards to DirtyPCB company, and like always, the quality is excelent for the price. I also ordered the stencil, to try to assemble it with a home oven reflow (at this time I can’t test it, so I assembled the boards by hand). It takes just one month between the day I order and the day I receive it at home:
And here, some photos of both assembly options: with screw terminals and with pin strip pins:
[metaslider id=1754]
- Software
On the software side, to use the board the first step is install the driver. On Microchip MCP2221 webpage there’re drivers for all the operating systems. If you’re windows user, just click here to download the install file.
In addition to the driver, there’re two usefull tools here. The first one is the MCP2221 Utility (version 1.0.1 at this time). wIth this tool, you can read the MCP2221 parameters, and modify many of them (like VID and PID, Descriptor, GP pins configuration,….):
And, of course, if you’ve got both converters connected, you can switch between devices without problems! (see below in the next image):
The other tool that Microchip provides is the MCP2221 I2C/SMBus Terminal (v2.0). With this utility, you can manage I2C devices that are connected on the I2C bus as a slaves. Under the ‘Advance Settings’ button, you can specify a I2C address range and the MCP2221 can do a bus search to find devices on the bus:
After you know the device address, on the upper side of the application you can send it commands and request info for the device. It’s a useful tool to check and communicate with I2C devices!
This post is also available in: Spanish
Pingback: Dual USB Serial and I2C Converter - Electronics-Lab
5.3.2016
This is an interesting project.
Will you be selling on Tindie – or some other source?
Pingback: Dual USB Serial and I2C Converter « Adafruit Industries – Makers, hackers, artists, designers and engineers!
Pingback: Dual USB Serial And I2C Converter Created - Geeky Gadgets
Pingback: Dual USB Serial And I2C Converter Created Sell Ur Shit | Make Money Selling Your Shit online for Free | Sell Ur Shit | Make Money Selling Your Shit online for Free
Wouldn’t adding eg a USB2422 USB hub make sense? Then you only need one USB cable to connect it. It’ll probably be compact and convenient, and might even be slightly cheaper.
If you need an Delphi 7 implementation, you can found it on our website http://www.daschke-ltd.de
The software documentation is written in German.
There are two Delphi7-dcu for the MCP2221: first as a demonstration with all procedures and second as a full version.
Pingback: Portable temperature, humidity and light ambient datalogger - Designing Electronics in Spain
Pingback: Datalogger portátil de temperatura, humedad y luz ambiente - Designing Electronics in Spain
Awesome blog! Do you have any tips and hints for aspiring writers?
I’m hoping to start my own website soon but I’m a little lost on everything.
Would you propose starting with a free platform like WordPress or go for
a paid option? There are so many options out there that I’m completely overwhelmed ..
Any ideas? Cheers!
Pingback: Portable Datalogger for Temperature, Humidity & Ambient Light | Electronics Infoline
Pingback: FONA808 PC interface over USB port
Pingback: Interfaz USB para modulo FONA808 - Designing Electronics in Spain
Dirtypcbs i do not have any try, but i think you can try wellpcb and you’ll know what the quality is excelent for the price.
Thanks! I don’t have any doubt about quality of wellpcb, but a first look at the fast price calculator, prices are higher than Dirtypcbs. And ofr makers and hobbyst like me, price is an important factor to have in mind when ordering boards.
Yes, price is an important factor to have in mind when ordering boards.
Wellpcb now has a Christmas promotion and orders $ 3.99 on the site! This is surprising. I tried a small order, looks good, silk screen is good.
You can try ourpcb, now buy PCB prototypes, get free components!
Great blog. i ever tried dirtypcb, but since i knew jlcpcb(https://jlcpcb.com/), I prefer to use JLCPCB services. It took only few(normally 2-3 days) days to finish my board, and another 3 days for express shipping. Decent price, and fast service. maybe you can try it too.
To get the boards manufactured, PCB Shopper is the easiest way to request automated quotes from all major PCB fabs. I personally have good experiences with Seeed Studio PCB https://www.seeedstudio.com/fusion_pcb.html
Pingback: Serial Star, a 4 in 1 USB Serial and I2C Converter - Designing Electronics in Spain
Pingback: Serial Star, a 4 in 1 USB Serial and I2C Converter - Electronics-Lab
Pingback: FONA808 USB Interface -Use Arduino for Projects
Pingback: Serial Star, un convertidor serie 4 en 1 USB e I2C - Calendae - Calendae | Informática, Electrónica, CMS, Ciberseguridad