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.
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.
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.
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.
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.
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!
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.
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: