multi-voltage dual USB UART

This is a CP2105 based dual-port USB UART.

As a very special feature, this device allows you to manually select the UART voltage levels to 1.8, 2.3, 2.5, 2.8, 3.0 or 3.3 Volts.

It is thus ideal for a lab environment, where you frequently need to interconnect with various embedded electronics devices that have UARTs at unusual voltages.

Both UART ports feature RxD/TxD/RTS/CTS signals and have TVS diodes for ESD protection.

Miscellaneous CP2105 GPIOs are available on a separate header


Annotated Pin-Out

annotated pin-out

ECI and SCI are the fancy names Silabs came up for the primary and secondary UART in their CP2105 chip.

Design Files / Schematics / Layout

The EAGLE design files for this open hardware project are available in the osmocom-small-hardware.git repository and can be checked out using
git clone git://

PDF renderings of schematics and component placement are attached below.

schematics rendered as png

Usage Instructions

Please follow the below sequence to use your mv-uart:

  1. first determine the voltage of the UART of your target device (voltmeter, oscilloscope)
  2. make sure your target device is powered off
  3. make sure your mv-uart is not yet connected via USB to the host PC
  4. decide if you want to source the reference voltage VIO (JP4 open) from your target device, or from mv-uart (JP4 closed):
    • JP4 open: You must supply VIO from the target board, as SW1 is inactive and mv-uart doesn't generate reference voltage itself
    • JP4 closed: You must not supply VIO from target board, as it is generated locally at a voltage level selected by SW4
  5. connect (at least) GND + RXD + TXD pins between mv-uart and your target device
    • keep in mind the TxD output of the mv-uart must join the RxD input of the target device (and vice versa)
  6. optionally connect VIO between mv-uart and your target device (only if JP4 is open, see above)
  7. power up the target device and connect mv-uart to your host PC over USB

Availability / Where to buy

The general idea of Open Hardware projects is that anyone is allowed to build the design. So feel free to take the design files and build it yourself, either modified or unmodified. Please make sure you always
  • attribute the original author (Attribution)
  • release any changes to the design files under the same terms (Share Alike)

A fully assembled circuit board can be obtained from

mv-uart-front.jpg (68.2 KB) laforge, 11/25/2016 04:18 PM

mv-uart-back.jpg (59.9 KB) laforge, 11/25/2016 04:18 PM

mv-uart.pdf (35.2 KB) laforge, 11/25/2016 04:19 PM

mv-uart_brd.pdf (19.9 KB) laforge, 11/25/2016 04:19 PM

mv-uart.png - schematics rendered as png (179 KB) laforge, 11/25/2016 09:04 PM

mv-uart-pinout.pdf - pinout as PDF file (15.2 KB) roh, 07/25/2017 10:29 AM

mv-uart-pinout.png - annotated pin-out (140 KB) roh, 07/25/2017 10:29 AM