$5 CH347 board is a USB 2.0 bridge to I2C, SPI, UART, JTAG, and GPIO

MuseLab USB-HS-Bridge is an inexpensive ($5) board based on WCH CH347 chip with a USB 2.0 Type-C interface that acts as a bridge for I2C, SPI, UART, and JTAG interfaces, as well as GPIOs.

It’s notably useful to debug and download bitstreams to FPGA development boards, but it can also be used to connect various peripherals such as I2C sensors, SPI flash devices, UART devices to basically any host with a spare USB 2.0 host port.

small CH347 development board

USB-HS-Bridge specifications:

  • Chip – WCH CH347 high-speed USB to UART, I2C, SPI and JTAG chip (See link to the datasheet for details)
  • USB – 1x USB 2.0 Type-C port with up to 480 Mbps data rate
  • I/Os – 2x 16-pin header with
    • 2x UART interfaces up to 9 Mbps baudrate
    • 1x I2C for EEPROM or sensors
    • 1x SPI master interface with 2 chip select signals to control up to 2x SPI slave devices. The SPI interface can operate up to 36MHz
    • 4-wire standard JTAG interface up to 60MHz
    • Some of the signals can also be reconfigured as GPIOs instead (CH347 offers up to 8x reconfigurable GPIOs depending on the mode used)
    • 5V, 3.3V, and GND signals
  • Misc – 2-way DIP switch for mode selection:
    • 00 – UART0 and UART1 enabled
    • 10 – UART1, I2C, and SPI (VCP = virtual COM port, driver required in Windows)
    • 01 – UART1, I2C, and SPI (HID – human interface device)
    • 11 – UART1 and JTAG enabled
  • Power Supply – 5V via USB port
  • Dimensions – 41 x 21 mm

USB HS BridgeThe CH347 is a fixed-function chip so there’s no firmware programming, but MuseLab still provided the PDF schematics, some instructions, the link to the Windows driver, and an SPI sample written in C language for Linux on Github.

CH347 use cases
Typical WCH CH347 system block diagram (RS232/RS485 require external chips)

USB-HS-Bridge CH347 board can be purchased for just $5 on Tindie or Aliexpress, although the latter may offer cheaper shipping depending on where you live.

Share this:

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
12 Comments
oldest
newest
Axel
Axel
27 days ago

Does this chip/board also allow GPIO functionality. UART+GPIO would be nice, even if there are just one one or two GPIOs then.

Floyd
Floyd
27 days ago

Yes, I saw this. So in theory the GPIOs should even be accessible via the standard UART drivers via controlling DTR, CTS … I was hoping for pointers to articles online how to use the GPIOs practically with this chip/board.

Jacques
26 days ago

On this page http://www.wch-ic.com/downloads/CH347EVT_ZIP.html you can download a ZIP which contains (among other things) the “CH347 Application development manual”. Section 4.3 describes the API to get/set GPIO pins, but I suppose you must use their Windows USB driver for this to work. I’m not sure how this works at the USB level if you want to use it on a different platform.

There’s also a USB configuration tool here: http://www.wch-ic.com/downloads/CH34xSerCfg_ZIP.html which may be relevant.

Diego
Diego
26 days ago

OpenOCD support for this would be nice.

Mike
Mike
23 days ago

Sounds like a few weekends kinda project, but for sure, that was my first thought!

Valerio
Valerio
25 days ago

from the article is not clear if the device support selectable 5V / 3V3 communication to I2C /SPI and UART devices, like other cheaper board do: https://aliexpress.com/item/1005001899783990.html

Axel
Axel
22 days ago

Many Aliexpress links give me “Sorry, this item’s currently unavailable in your location” now. Am I the only one running into this?

John
John
25 days ago

FINALLY SOMETHING SANE for the Pano Logic G2 with Xilinx Spartan 6 XC6SLX150/10 LETS GO!

Erki
25 days ago

What would it take connect this to an Android phone and have the phone controli it?

zoobab
22 days ago

Hack the ch341a gpio Linux driver and add support for this chip?

I had incomplete libusb gpio toggling for ch341a, curious to see if i could achevé more with this one.

Advertisement