We love a good musical build, and this one is no exception. For their ECE4760 final project, [Wendian Jiang], [Hanchen Jin], and [Lin Wang] of Cornell built the nicest-looking touch piano we’ve seen in a while. It has five 4051 multiplexers that take input from 37 capacitive touch keys fashioned from aluminium foil and copper tape. Thanks to good debounce code, the sounds are clean even though the keyboard is capable of four-note polyphony.
A PIC32 and a Charge Time Measurement Unit (CTMU) module generate a small, steady current that charges up the keys. The PIC scans the pins continuously waiting for touch input. When human capacitance is detected, the value is compared with the base capacitance using the ADC and the sound is generated with the Karplus-Strong algorithm.
The group’s original plans for the project included a TFT screen to show the notes on a staff as they are played. While that would have been awesome, there was just too much going on already to be able to accurately capture the notes as well as their duration. Check it out after the break.
Continue reading “Touch Piano Hits All the Right Notes”
Back in the day, we had smartphones with physical buttons. Not just power, volume, and maybe another button on the front. Whole, slide-out QWERTY keyboards right on the underside of the phone. It was a lawless wasteland, but for those who yearn for the wild-west days of the late 2000s, [Liviu] has recreated the shortcut buttons that used to exist on the tops of these keyboards for modern-day smartphones.
There were lots of phones that had shortcut keys on their keyboards, but [Liviu] enjoyed using the ones that allowed him to switch between applications (or “apps” as the kids are saying these days) such as the calendar, the browser, or the mail client. To recreate this, he went with a few NFC tags. These devices are easily programmed via a number of apps from your app store of choice, and can be placed essentially anywhere. In order to make them visible to the phone at any time, though, he placed the tags inside a clear plastic case for his phone and can now use them anytime.
If you’ve never used or programmed an NFC tag, this would be a great project to get yourself acquainted with how they operate. Plus, you could easily upgrade this project to allow the tags to do any number of other things. You can take projects like this as far as you want.
Continue reading “NFC Tags Add Old-School Functionality to New Phone”
A keyboard is the most important tool in the modern desk jockey’s arsenal but, despite this fact, millions of people suffer the $10 membrane keyboards that shipped with the computer they got a decade ago. It’s a terrible way to live your life, but for those of us who are enlightened, there’s another way: mechanical keyboards. [Mário] over at the Bit Bang Theory just built his own mechanical keyboard with his own homebrew firmware and a few interesting features that aren’t found in other open hardware keyboard projects.
The ‘from scratch’ aspect of this build is somewhat of a misnomer; the key switches used in this build were taken from a Monterey K108, and the key caps were taken from a keyboard with a Portuguese layout. Once the switches were in place and soldered up, it was time for the electronics.
While most homebrew keyboards these days use a Teensy 2 thanks to some amazing firmware and development tools that have grown up around this device, there’s not a Teensy to be found inside this keyboard. The keyboard controller is built around a PIC18F4550 and uses the USB available on the chip. Naturally, there are more than a few WS2812b RGB LEDs around the edge of the keyboard that “breathe”, run a KITT-style LED chaser, or simply display a single chosen color.
There are a few neat features in this keyboard controller that aren’t readily available with other open source keyboard firmwares. There’s a keylogger, macro recorder, and a toggle macro that will activate or deactivate a (secret) internal 8GB USB storage key. Settings are saved in the internal EEPROM.
It’s a great looking build, and something we don’t see enough of around here. In any event, it’s just one step further towards eliminating the menace of cheap keyboards, and something we hope to see more of soon.
After winning an online auction for an 1980s vintage Compaq Portable PC, [leadacid44] discovered why it only cost him $5USD – the keyboard was shot. Not willing to accept having forked out $45USD to ship a brick, he tore into the ancient machine and came up with a found-material solution to the wonky keyboard.
[leadacid44]’s very detailed writeup of the fix for his Compaq includes a thorough examination of the guts of the machine. He got it to boot to MS-DOS 5.0 off of a 20MB ISA hard drive card and began probing the keyboard problem. It turns out the Compaq keyboard has much in common with a modern touchscreen, in that it’s a capacitive keyboard. Unfortunately the foam disks used as springs under each key cap had degraded over the last 30 years, so [leadacid44] began a quest to replace them. After much experimentation and a few false starts, he created a sandwich of transparency film, closed-cell polyethylene foam, and a Mylar antistatic bag. Many discs were punched out with a leather punch and tediously placed in the body of each key switch, and the quick brown fox was soon jumping flawlessly over the lazy dog.
We’ve seen some fixes to these lovable luggables before, like this dumpster queen that became a Hackaday Retro submission. At least [leadacid44]s machine didn’t release the Magic Blue Smoke like that one did.
When you want to control an external device (like a lamp) from your computer, you might reach for a USB enabled micro. Looking for an inexpensive and quick option to control two lamps [Pete] wanted to control a couple 12 volt halogen lamps, he reached for his keyboard and used a little bit of python.
Desktop PC keyboards have 3 LED’s indicating lock functions, hardly anyone uses the scroll lock, and on a laptop with no keypad, numlock is no big loss as well. Adding wires to the little PCB out of a USB keyboard the numlock and scroll lock LED’s 5 volt output was redirected to a switching circuit.
That switching circuit takes the output of either LED, inverts it with a PNP transistor, then connects to the gate of a FQP30N06L, “logic level” mosfet transistor to handle the heavy lifting. Once the wiring is in place a fairly simple Python script can take over turning on and off the two chosen lock keys, giving control of up to 32 amps with the touch of a button.
Like many programmers, [Daniel Nugent] loves his old mechanical keyboard (a WASD Code Keyboard). What he didn’t love was the cord. Sure, you can get a modern wireless keyboard, but it won’t be the same as the keyboard you’ve spent so much time with. Armed with a Bluetooth Low Energy (BLE) module, a rechargeable battery and some coding, he kept his keyboard but got rid of the wires.
Although he has some specific handling for the WASD, the code would very likely handle any PS/2 keyboard. The PS/2 interface is a simple synchronous serial port with a single clock and single data line. Handling it with a microcontroller isn’t very difficult.
Continue reading “Mechanical Keyboard Goes BLE”
Is your keyboard too quiet? Is your Cherry MX Blue board not driving your coworkers crazy enough? If the machine gun fire of a buckling spring keyboard isn’t enough for you, there’s only one solution: [Russell]’s typewriter turned into a mechanical keyboard.
Converting typewriters into keyboards has been done for a very long time; teletypes, the first computer keyboards, were basically typewriters, and the 1970s saw a number of IBM Selectrics converted into a keyboard with serial output. Even in recent years, typewriters have been converted into keyboards with the help of some switches and an ATMega. [Russell]’s mechanical keyboard improves on all of these builds by making the electronic interface dead simple, and a project that can be done by anyone.
Instead of installing switches underneath every key or futzing about with the weird mechanics of a Selectric typewriter, [Russell] is only installing a touch-sensitive position sensor into the frame of the typewriter. When a key is pressed, it strikes a crossbar in the frame of the typewriter. With a single ADC chip and a Raspberry Pi, [Russell] can determine which key was pressed and use that information to output a character to a terminal.
It’s a very simple solution for an electrical interface to a mechanical device, and the project seems to work well enough. [Russell] is using his new keyboard with Vim, even, something you can check out in the video below.
Continue reading “Turning A Typewriter Into A Mechanical Keyboard”