Skip to content
MCP2200 USB-to-UART serial converter control program
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

mcp2200ctl - MCP2200 USB-to-UART serial converter control program.

Build Status


mcp2200ctl is a command-line program which allows controlling additional features found in MCP2200 USB-to-UART serial converter (

mcp2200ctl has the following features:

  • RX/TX led mode control.
  • RX/TX/RTS/CTS invert control.
  • EEPROM read/write.
  • GPIO read/write.
  • GPIO direction and default value control.
  • Hardware flow control.
  • USB suspend and configure state indication pin control.
  • Ability to set USB manufacturer and product strings.
  • Ability to set custom vendor and product IDs.


mcp2200gui is a GTK 3 based graphical program with the same purpose as mcp2200ctl.

mcp2200gui screenshot

mcp2200ctl usage

List all detected MCP2200 devices:

mcp2200ctl list
  1, "Microchip Technology Inc.", "MCP2200 USB Serial Port Emulator", "0000988086", "/dev/hidraw4"

Get current configuration:

mcp2200ctl configure
Default baud rate: 9600
GPIO directions: ioiooioo
GPIO default values: 11000111
GPIO values: 01000111
RX LED (GPIO pin 6): blink
TX LED (GPIO pin 7): blink
Blink speed: fast
Invert RX/TX/RTS/CTS: off
USB suspend pin (GPIO pin 0): off
USB configuration pin (GPIO pin 1): on
Hardware flow control RTS/CTS: off

Get current GPIO values:

mcp2200ctl get
GPIO values: 01000111

Get current manufacturer, product and serial strings:

mcp2200ctl describe
Manufacturer: Microchip Technology Inc.
Product: MCP2200 USB Serial Port Emulator
Serial: 0000988086

Get current EEPROM value at address 0x01:

mcp2200ctl get-eeprom --address=01
EEPROM value: 12

Building from source


Some of C++11 features are required. Compilation is currently only tested on the following compilers:

  • gcc 5.4.1
  • gcc 6.2.0
  • clang 3.8
  • clang 3.9

Build dependencies

CMake 3.1 or newer (


On Debian, and on Debian based Linux distributions, the following command can be used to get all of the build dependencies:

apt-get install cmake pkg-config libhidapi-dev libgtk-3-dev libudev-dev libjsoncpp-dev libboost-filesystem-dev libboost-program-options-dev libboost-test-dev


mkdir build
cd build
cmake ../
make install
You can’t perform that action at this time.