$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 cryptocurrencies or become a Patron on Patreon

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.
13 Comments
oldest
newest
Axel
Axel
4 months 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
4 months 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
Jacques
4 months 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
4 months ago

OpenOCD support for this would be nice.

Mike
Mike
4 months ago

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

Valerio
Valerio
4 months 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
4 months 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
4 months ago

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

Erki
4 months ago

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

zoobab
4 months 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.

OIDCAT
OIDCAT
2 months ago

CH347 can be used to download FPGAs, such as XILINX. Its SPI and I2C interfaces use effect is also good. The SPI can reach 60MHz, and the fastest read/write is about 6MB/s. There are some links about it:https://github.com/WCHSoftGroup/ch347

Weller PCB manufacturer