Dual USB Serial and I2C Converter
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!
- 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!):
Read more: Dual USB Serial and I2C Converter
This Post / Project can also be found using search terms:
- arduino i2c serial converter