After building the “awesomely impractical” giant three-key keyboard, I decided it was time to build something a bit more practical—presenting the single ESC key USB keyboard! This keyboard has exactly one function which is to provide an optimal ESCing experience regardless of whatever keyboard you normally use. In exchange for giving up a USB port, you get a dedicated tactile, clicky Cherry MX blue ESC key.
After seeing this giant mechanical keyboard at Adafruit, I decided I had to build my own. Adafruit made theirs out of wood and used one of their Python-compatible microcontroller boards. I wanted a sloped top on my keyboard. I also wanted to check out what was new with Microchip’s USB device stack. I decided to build my keyboard out of aluminum and use a PIC18 microcontroller.
I will describe here the USB interface between the radio station and the computer which I recently developed and tested. This post is a continuation of the first part, where I described a simple interface for controlling two digital lines using the USB / Serial Converter, where I presented simple interface to control two digital signals (e.g. Ptzt and CW). This time I will describe an interface that combines more functions:
Controlling several digital (switching) inputs and outputs
Interface for controlling the station via the serial interface
Black Mesa Labs is presenting an open-source-hardware USB 3.0 to FPGA PMOD interface design. First off, please lower your expectations. USB 3.0 physical layer is capable of 5 Gbps, or 640 MBytes/Sec. This project can’t provide that to your FPGA over 2 PMOD connectors – not even close. It does substantially improve PC to FPGA bandwidth however, 30x for Writes and 100x for Reads compared to a standard FTDI cable based on the FT232 ( ala RS232 like UART interface at 921,600 baud ). A standard FTDI cable is $20 and the FT600 chip is less than $10, so BML deemed it a project worth pursuing.
Alexander Lang has been working on a USB breakout board, he writes:
I often need to intercept USB signals for decoding and measurement purposes. I cut a cable apart last time I needed one but to be honest I much prefer doing things properly. I also noticed that nobody seems to sell a similar product on Ebay, Aliexpress or Amazon! I did find a vendor in the USA on tindie. I also found this product on tindie which is similar but has a current monitoring circuit built in.
Either of these products would work for my purposes but the first product’s shipping costs from the USA seem a little extravagant and I only wanted one or two.
The second product uses pin headers to allow connection which are a bit close together for my liking. It’s often the way of things. When I cannot obtain what I want I make my own!
In this video Hugatry shared detailed instructions of how to use the STM32F103C8T6 as an USB device with virtual serial port:
Cheap STM32F103C8T6 development board
Blue STM32F103C8T6 development boards, also known as “BluePill”, are cheap way to get started with 32bit ARM microcontrollers. The STM32 development board can sometimes be bought for less than $2 and ST-LinkV2 compatible programmer and debugger doesn’t cost much more than that either.
The STM32F103C8T6 has nice amount of flash and RAM, runs at 72MHz and best of all: It has built-in USB. It is possible to program these STM32 boards to act as an USB devices, without “FTDI chip”. In this post and in the embedded video I will teach step by step how to use the STM32F103C8T6 as an USB device, in particular a virtual serial port.
Designed and built by Simon Inns, a universal USB to quadrature mouse adapter project – SmallyMouse2:
SmallyMouse2 is a universal USB to quadrature mouse adapter for many 8-bit and 16-bit retro computers and allows the use of modern USB mice on machines such as the Acorn BBC Micro, Acorn Master, Acorn Archimedes, Commodore Amiga, Atari ST and many more. Unlike most existing mouse adapters, SmallyMouse2 implements a fully USB compatible interface (most current adaptors are PS/2 based) this allows the use of any modern mouse including those that use wireless communications.
The hype around the NES Classic in 2016 was huge, and as expected, units are already selling for excessively high prices on eBay. The console shipped with 30 games pre-installed, primarily first-party releases from Nintendo. But worry not — there’s now a way to add more games to your NES Classic!
Like many a good hack, this one spawned from a forum community. [madmonkey] posted on GBX.ru about their attempts to load extra games into the console. The first step is using the FEL subroutine of the Allwinner SOC’s boot ROM to dump the unit’s flash memory. From there, it’s a matter of using custom tools to inject extra game ROMs before reburning the modified image to the console. The original tool used, named hakchi, requires a Super Mario savegame placed into a particular slot to work properly, though new versions have already surfaced eliminating this requirement.
While this is only a software modification, it does come with several risks. In addition to bricking your console, virus scanners are reporting the tools as potentially dangerous. There is confusion in the community as to whether these are false positives or not. As with anything you find lurking on a forum, your mileage may vary. But if you just have to beat Battletoads for the umpteenth time, load up a VM for the install process and have at it. This Reddit thread (an expansion from the original pastebin instructions) acts as a good starting point for the brave.
Only months after release, the NES Classic is already a fertile breeding ground for hacks — last year we reported on this controller mod and how to install Linux. Video of this ROM injection hack after the break.
A lot of classic synthesizers rely on analog control voltages to vary parameters; this is a problem for the modern musician who may want to integrate such hardware with a MIDI setup. For just this problem, [little-scale] has built a MIDI-controllable DAC for generating control voltages.
It’s a simple enough build – a Teensy 2 is used to speak USB MIDI to a laptop. This allows the DAC to be used with just about any modern MIDI capable software. The Teensy then controls a Microchip MCP4922 over SPI to generate the requisite control voltages. [little-scale]’s video covers the basic assembly of the hardware on a breadboard, and goes on to demonstrate its use with a performance using the MIDI DAC to control a Moog Mother 32 synth. [little-scale] has also made the code available, making it easy to spin up your own.
We can see this project being indispensable to electronic musicians working with banks of modular synths, making it much easier to tie them in with automation in their DAW of choice. This isn’t the first MIDI interfacing hack we’ve seen either – check out this setup to interface an iPad to guitar pedals.
With more and more manufacturers moving to USB-C, it seems as though the trusty USB port is getting more and more entrenched. Not that that’s a bad thing, either; having a universal standard like this is great for simplicity and interconnectability. However, if you’re still stuck with USB 2.0 ports on your now completely obsolete one-year-old phone, there’s still some hope that you can at least get rapid charging. [hugatry] was able to manipulate Qualcomm’s rapid charging protocol to enable it to work with any device.
The protocol in question is supposed to work only on supported devices. Namely, anything with a Qualcomm Snapdragon or other similar products. [hugatry] had a Qualcomm rapid charging-capable USB port, but no supported devices. What he found out after some investigation, though, was that it’s extremely easy to bitbang the protocol to request essentially any amount of power from the Qualcomm device. He didn’t even need a microcontroller to do the handshaking, only passive components.
It’s a little surprising that getting around a proprietary standard in this day in age is so straightforward (and he does note that while it worked for him, your mileage may vary), but we’re happy to see it nonetheless. [hugatry]’s process is definitely worth checking out, as is his video which you can find after the break.
This website stores some user agent data. These data are used to provide a more personalized experience and to track your whereabouts around our website in compliance with the European General Data Protection Regulation. If you decide to opt-out of any future tracking, a cookie will be set up in your browser to remember this choice for one year. I Agree, Deny