Flex PCB mod for USB Type C

Great use of a flexible PCB in this project by James Ide:

USB-C-to-C Power Mod Flex PCB

Many devices have a USB-C connector to charge or power them. This is very convenient given the popularity of USB-C, its reversible cable design, and sturdy, compact design.

However, some devices will not draw power when using a USB-C-to-C cable connected to a spec-compliant charger, but will when using a USB-A-to-C cable. The USB-C specification requires upstream facing ports (UFPs), the port of the device receiving power, to connect pull-down resistors to the configuration channel (CC) pins. These missing pull-down resistors are a common reason why devices can draw power with A-to-C cables but not C-to-C ones.

Wouldn’t it be great to be able to add these resistors and enable USB-C-to-C power? This mod does just that. It is a small flex PCB with pads for two 5.1kohm pull-down resistors between CC1 and CC2, respectively, and GND.

Flex PCB mod for USB Type C

Converting a vintage button panel to USB

Glen Akins (@bikerglen) writes about converting a vintage button panel to USB:

Converting a Vintage Grass Valley Button Panel to USB Using the Silicon Labs EFM8UB1

In this project, I convert a set of illuminated push buttons from a vintage Grass Valley video mixer into a custom vendor-defined USB HID peripheral. Like the USB analog panel meters project, this project uses a Silicon Labs EFM8UB1 microcontroller for USB connectivity. Unlike the panel meters project which only received data from the USB host, this project needs to send data back to the USB host too.

In this write up, we’ll reverse engineer the button panel, decide on a strategy for reading the keys and controlling the LEDs, build a board, then write both embedded and Linux software to interface with the button panel. If you want to build your own device like this but don’t have this specific switch panel, don’t worry–the ideas presented here are applicable to any generic 3×4/4×3/4×4 matrix keypad with or without LEDs.

Design files for this project are in my usb-led-switch-matrix repository on GitHub.

Converting a vintage button panel to USB

Building a Set of USB-Controlled Analog Panel Meters

Glen Akins writes about their latest project:

Building a Set of USB-Controlled Analog Panel Meters Using the Silicon Labs EFM8UB1

I’ve always liked the way these little HUA SO-45 analog panel meters looked, but, given the long lead times from China, I’ve never ordered a set. This fall, I changed my mind and finally decided to order a set. While they were in transit to the United States, I designed a small board to control them over USB using a Silicon Labs EFM8UB1 Universal Bee 8051-baeed microcontroller.

Design files for this project are in Glen’s usb-analog-panel-meters repository on GitHub.

Building a Set of USB-Controlled Analog Panel Meters

Building a Giant USB Three Key Mechanical Keyboard

From Jeremy S. Cook on the Hackster blog:


Ginormous 3-Switch Keyboard Is Awesomely Impractical

As hackers and creators, we sometimes get asked the question “why?” While many of the gadgets we make do have a specific purpose, many of them definitely don’t, and are made because we wonder if something can actually be done. This giant three-key mechanical keyboard would certainly fall into that second category, and though I can’t think of a practical use for it, I still find the device quite entertaining.


The heart of this device is a trio of “Big Switch” devices from Novel Keys, which are four times larger in length/width/height than what you’re used to typing on. While that might sound only sort of interesting, that translates to 64 times normal size in volume; plus they include similarly ginormous keycaps. Glen Akins, inspired by a similar project on Adafruit, decided to build his own 3-key array, with a PIC18F14K50 chip providing an interface between the keys ans USB input.


The housing is made out of aluminum, and sits at an angle to the user for excellent ergonomics — if you happen to be a giant, and only use three keys at a time. While the electronics are fairly straightforward, these large keys are electrically quite noisy. Debounce code was added to combat this, reducing the letters per keypress from a range of one to three to only a single character.

Read more on Glen’s own Photons, Electrons, and Dirt blog:

Building a Giant USB Three Key Mechanical Keyboard

Building a Giant USB Three Key Mechanical Keyboard

PocketBeagle USB breakout board

PocketBeagle USB breakout board by Sai Yamanoor:

The hardware design files are shared on GitHub:


PocketBeagle USB breakout board

PD Buddy Wye

Clayton G. Hobbs previously created the USB-C PD Buddy Sink and has a new USB-C related project on Hackaday.io:

PD Buddy Wye

Power/data splitter for PD Buddy Sink


As of version 1.1.0 of its firmware, PD Buddy Sink can do USB Power Delivery negotiations while in Setup mode, making requests for new voltages and currents in real time based on user input via a USB CDC-ACM virtual serial port. To make full use of this feature, users need to be able to connect power and data to the PD Buddy Sink simultaneously. This board makes that possible, even with a computer that lacks USB Power Delivery output.
PD Buddy Wye


From Sven Gregori on Hackaday.io:


the USB MIDI keyboard dedicated to play all the four chord songs, from Adele via Green Day and Red Hot Chilli Peppers to U2 and Weezer. Thanks to MIDI, you can be any instrument – and all of them at once. Yay!
 Built around an AVR ATmega328 and Objective Development’s V-USB library, 4chord MIDI acts as a regular USB MIDI instrument. It supports playback in every key and five different playback modes:
  • simple triad chord (root, third, fifth)
  • triad chord + third + fifth + third as quarter notes
  • triad chord + third + fifth + octave as quarter notes
  • root note + third + fifth + third as quarter notes
  • root note + third + fifth + octave as quarter notes

The playback tempo can be set between 60 and 240 bpm.

Here is the board in action:

The design files and source code are available on GitHub:



Orthrus: secure two-card storage

From Nick Sayer on Hackaday.io:


Orthrus: SD card secure RAID USB storage

This project is a hardware mechanism to provide secure “two man control” over a data store. It is a USB microSD card reader, but it requires two cards. The data is striped in the style of RAID 0, but the data is also encrypted with a key that is stored in a key storage block on each card. In essence, each card is useless without the other. With possession of both cards, the data is available without restriction, but with only one, the remaining data is completely opaque.

This allows you to securely transport a data set by writing it onto a pair of cards and separately transporting them to a destination for recombination.

The intent is that only the pairing of two cards becomes in any way special. A card pair could be inserted in any Orthrus device and the data would be made available. But with only one card, all you get is half of the data encrypted with a key which you only half-possess.

The firmware source code is available on GitHub:



The assembled board is available on Tindie:

Screenshot from 2017-05-05 18-25-42

Orthrus: secure two-card storage

USB-C PD Buddy Sink

From Clayton G. Hobbs on Hackaday.io:


PD Buddy Sink

USB Power Delivery for everyone

USB Power Delivery is a cool standard for getting lots of power—up to 100 W—from a USB Type-C port. Being an open standard for supplying enough power to charge phones, laptops, and just about anything else under the sun, USB PD is poised to greatly reduce the amount of e-waste produced worldwide from obsolete proprietary chargers. Unfortunately, like all USB standards, it’s quite complex, putting it out of reach of the average electronics hobbyist.

PD Buddy Sink solves this problem, letting any hacker or maker use USB PD in their projects. Think of it as a smart power jack. To use it, first configure a voltage and current via the USB configuration interface. Then whenever the Sink is plugged in to a USB PD power supply, it negotiates the power your project needs and provides it on the output connector.

The KiCad design files are available on his website:


USB-C PD Buddy Sink