PCIe Webinar Banner
WP_Term Object
    [term_id] => 178
    [name] => IP
    [slug] => ip
    [term_group] => 0
    [term_taxonomy_id] => 178
    [taxonomy] => category
    [description] => Semiconductor Intellectual Property
    [parent] => 0
    [count] => 1717
    [filter] => raw
    [cat_ID] => 178
    [category_count] => 1717
    [category_description] => Semiconductor Intellectual Property
    [cat_name] => IP
    [category_nicename] => ip
    [category_parent] => 0

Explore Google Chromium USB Type-C example designs using GoArks USB – C Thru

Explore Google Chromium USB Type-C example designs using GoArks USB – C Thru
by Rajaram Regupathy on 03-12-2016 at 12:00 pm

One of the early adopters of USB Type-C and USB Power Delivery is Google for their Chromium projects. More interestingly Google shared the complete design of the USB Type-C products in public domain right from schematic to source code of the solutions. This article explores how to use USB C-Thru board to explore Google’s designs there by enabling you to develop custom USB Type-C design of your own.
This article enables you to make your own Google USB-PD Sniffer aka “Twinkie” using USB C-Thru and a STM32 development board for just 65$ in 3 steps

Hardware requirements:


  • USB C-Thru (www.goarks.com) from https://www.crowdsupply.com/goarks/usb-c-thru
  • STM32F072B development kit from distributor. (http://www.mouser.in/search/ProductDetail.aspx?R=0virtualkey0virtualkeySTM32F072B-DISCO)

    Step – 1: Preparing software and firmware binary for Google’s USB PD Sniffer

    Figure 1: List of USB Type-C design examples from Chromium website

    Step – 2: Setting up Hardware STM32F072B-DISCO with USB C-Thru
    Having setup the necessary software and flashing the board with firmware, let us explore how to setup the hardware to build a Twinkie.

    Figure 2: Schematic of Twinkie indicating CC pins

    • Now connect pins PA1(grey), PA3(orange) and ground(black) from the STM32 board to USB C-Thru( PA1 to CC1, PA3 to CC2) as shown in the Figure-3 below:

    Figure 3: Schematic of Twinkie indicating CC pins

    • This setup gives you a part of the Twinkie design that is sufficient to act as a USB PD sniffer.

    Step – 3: Start sniffing USB PD data with homemade sniffer
    With USB C-Thru board and STM32 discovery board we have the sniffer ready to get deployed for debugging. In the example setup I am using a laptop with a USB Type-C charger and USB-C Thru based Sniffer connected to my Ubuntu PC.

    • Using a USB2.0 mini cable connect the STM32 development board to the host PC in which the Google’s USB PD sniffer software was setup (Step 1). A “lsusb” on the host PC shows the USB PD Sniffer as shown in the Figure-4 below:

    Figure 4: Enumeration of STM32 development board as Twinkie device

    • Plug USB C-Thru to the laptop and the USB Type-C Charger to the receptacle end of the USB C-Thru as shown in Figure-5 below:

    Figure 5: Google’s USB Type-C example design Twinkie implementation usingUSB C-Thru and STM32


    This article provided a quick walk through of how to use USB C-Thru board with an existing development kit and make your own USB Type-C example design. You can explore other Chromium USB Type-C design examples in similar manner with few wire wrapped electronics or a breadboard setup.

    You can order USB C-Thru ( www.goarks.com ) from https://www.crowdsupply.com/goarks/usb-c-thru and write to us for any clarifications at info@goarks.com

    Share this post via:

  • Comments

    There are no comments yet.

    You must register or log in to view/post comments.