The Teensy Becomes an MPC

A staple of every recording studio today, the Akai MPC began as a simple sampling groove box in the early 90s. The form factor of a few force sensitive pads assignable to different samples should be familiar to anyone with a little bit of MIDI gear, but these are rarely custom-made devices. Now, it runs on a Teensy. [Michele] created his own MPC-style MIDI pad controller with the Teensy 3.0, the Teensy audio adapter board, and an ingenious PCB design that uses replacement MPC pads.

[Michele]’s MPC was first featured in the MIDI hacklet, but back then the only working component was the pads themselves. The velocity sensitive pads are made of two copper traces laid on a single acetate sheet. A bit of Velostat is glued to the back of the pad so when the pad is pressed, it contacts both of the traces. The harder the pad is pressed, the lower the impedance, and with everything sent to an analog pin, each pad becomes a force sensitive resistor.

With the key feature of an MPC taken care of, [Michele] turned his attention to the sampling and software of his device. The new Teensy 3.0 audio adapter board – and a great new library – takes care of everything. [Michele] doesn’t have a proper video of his MPC up yet, but he was able to film a random guy playing his machine at Rome Maker Faire yesterday. You can check that out below.

Continue reading “The Teensy Becomes an MPC”

The Teensy Audio Library

There are a few ways of playing .WAV files with a microcontroller, but other than that, doing any sort of serious audio processing has required a significantly beefier processor. This isn’t the case anymore: [Paul Stoffregen] has just released his Teensy Audio Library, a library for the ARM Cortex M4 found in the Teensy 3 that does WAV playback and recording, synthesis, analysis, effects, filtering, mixing, and internal signal routing in CD quality audio.

This is an impressive bit of code, made possible only because of the ARM Cortex M4 DSP instructions found in the Teensy 3.1. It won’t run on an 8-bit micro, or even the Cortex M3-based Arduino Due. This is a project meant for the Teensy, although [Paul] has open sourced everything and put it up on Github. There’s also a neat little audio adapter board for the Teensy 3 with a microSD card holder, a 1/8″ jack, and a connector for a microphone.

In addition to audio recording and playback, there’s also a great FFT object that will split your audio spectrum into 512 bins, updated at 86Hz. If you want a sound reactive LED project, there ‘ya go. There’s also a fair bit of synthesis functions for sine, saw, triangle, square, pulse, and arbitrary waveforms, a few effects functions for chorus, flanging, envelope filters, and a GUI audio system design tool that will output code directly to the Arduino IDE for uploading to the Teensy.

It’s really an incredible amount of work, and with the number of features that went into this, we can easily see the quality of homebrew musical instruments increasing drastically over the next few months. This thing has DIY Akai MPC/Monome, psuedo-analog synth, or portable effects box written all over it.

Chromecast Is Root

Image from [psouza4] on the xda-developers forum

Chromecast is as close as you’re going to get to a perfect device – plug it in the back of your TV, and instantly you have Netflix, Hulu, Pandora, and a web browser on the largest display in your house. It’s a much simpler device than a Raspi running XBMC, and we’ve already seen a few Chromecast hacks that stream videos from a phone and rickroll everyone around you.

Now the Chromecast has been rooted, allowing anyone to change the DNS settings (Netflix and Hulu users that want to watch content not available in their country rejoice), and loading custom apps for the Chromecast.

The process of rooting the Chromecast should be fairly simple for the regular readers of Hackaday. It requires a Teensy 2 or 2++ dev board, a USB OTG cable, and a USB flash drive. Plug the Teensy into the Chromecast and wait a minute. Remove the Teensy, plug in the USB flash drive, and wait several more minutes. Success is you, and your Chromecast is now rooted.

Member of Team-Eureka [riptidewave93] has put up a demo video of rooting a new in box Chromecast in just a few minutes. You can check that out below.

Continue reading “Chromecast Is Root”

TFT LCDs Hit Warp Speed with Teensy 3.1

spi-speedup

[Paul Stoffregen], known as father of the Teensy, has leveraged the Teensy 3.1’s hardware to obtain some serious speed gains with SPI driven TFT LCDs. Low cost serial TFT LCDs have become commonplace these days. Many of us have used Adafruit’s TFT LCD library  to drive these displays on an Arduino. The Adafruit library gives us a simple API to work with these LCDs, and saves us from having to learn the intricacies of various driver chips.

[Paul] has turbocharged the library by using hardware available on Teensy 3.1’s 32 Freescale Kinetis K20 microcontroller. The first bump is raw speed. The Arduino’s ATmega328 can drive the SPI bus at 8MHz, while the Teensy’s Kinetis can ramp things up to 24MHz.

Speed isn’t everything though. [Paul] also used the Freescale’s 4 level FIFO to buffer transfers. By using a “Write first, then block until the FIFO isn’t full” algorithm, [Paul] ensured that new data always gets to the LCD as fast as possible.

Another huge bump was SPI chip select. The Kinetis can drive up to 5 SPI chip select pins from hardware. The ATmega328 doesn’t support chip selects. so they must be implemented with GPIO pins, which takes even more time.

The final result is rather impressive. Click past the break to see the ATmega based Arduno race against the Kinetis K20 powered Teensy 3.1.

Paul’s library is open source and available on Github.

Continue reading “TFT LCDs Hit Warp Speed with Teensy 3.1″

PS/2 Synth Will Knock You Off Your Broom

keyboard-keyboard1

Here’s a hack centered around something a lot of people have sitting around: a PS/2 keyboard. [serdef] turned a Harry Potter-edition PS/2 into a combination synth keyboard and drum machine and has a nice write-up about it on Hackaday.io.

For communication, he tore up a PS/2 to USB cable to get a female mini DIN connector and wired it to the Nano. He’s using a Dreamblaster S1 synth module to generate sounds, and that sits on a synth shield along with the Nano. The synth can be powered from either the USB or a 9-volt.

Keymapping is done with the Teensy PS/2 keyboard library. [serdef] reused a bunch of code from his bicycle drummer project which also employed the Dreamblaster S1. [serdef] is continually adding features to this project, like a pot for resonance control which lets him shape the waveform like an analog synth. He has posted some handy PS/2 integration code, his synth code, and a KiCad schematic. Demo videos are waiting for you across the link.  Continue reading “PS/2 Synth Will Knock You Off Your Broom”

Building A True Unix Keyboard

keyboard

compact keyboards that do away with a third of the keys you would usually find on a normal-sized keyboard are all the rage now, but for [jonhiggs], they weren’t good enough. There is a long tradition of Unix shortcuts these compact keyboards don’t pay attention to – CTRL-A being the Home key, and CTRL-D being the Page Down key. To fix this horrible oversight of Unix history, [jon] tore apart one of these compact keyboards, rewired the switch matrix, and made his own perfect keyboard.

The keyboard [jon] is using is a Filco Minila, a very nice and high quality keyboard in its own right.  After mapping out the switch matrix, [jon] wired all the switches up to a Teensy 2.0 loaded up with the TMK firmware. This is a pretty standard way of building a custom keyboard, and [jon] could have just cut a switch plate and installed panel-mount switches and wired up the matrix and diodes point to point. The case for the keyboard is constructed out of Lego.

Because this is a true, modern Unix keyboard, [jon] needed to connect this keyboard to a box running his *nix of choice. He’s doing this in the most future-retro way possible, with an Amazon EC2 instance. This project isn’t done yet, and [jon] is hoping to add an ARM dev board, an iPad Retina display, battery, and SSD, turning this into a completely homebrew laptop designed around [jon]’s needs.

The Rabbit H1 is a Stationary Mouse Replacement

rabbit h1

[Dave] has some big plans to build himself a 1980’s style computer. Most of the time, large-scale projects can be made easier by breaking them down into their smaller components. [Dave] decided to start his project by designing and constructing a custom controller for his future computer. He calls it the Rabbit H1.

[Dave] was inspired by the HOTAS throttle control system, which is commonly used in aviation. The basic idea behind HOTAS is that the pilot has a bunch of controls built right into the throttle stick. This way, the pilot doesn’t ever have to remove his hand from the throttle. [Dave] took this basic concept and ran with it.

He first designed a simple controller shape in OpenSCAD and printed it out on his 3D printer. He tested it out in his hand and realized that it didn’t feel quite right. The second try was more narrow at the top, resulting in a triangular shape. [Dave] then found the most comfortable position for his fingers and marked the piece with a marker. Finally, he measured out all of the markings and transferred them into OpenSCAD to perfect his design.

[Dave] had some fun with OpenSCAD, designing various hinges and plywood inlays for all of the buttons. Lucky for [Dave], both the 3D printer software as well as the CNC router software accept STL files. This meant that he was able to design both parts together in one program and use the output for both machines.

With the physical controller out of the way, it was time to work on the electronics. [Dave] bought a couple of joysticks from Adafruit, as well as a couple of push buttons. One of the joysticks controls the mouse cursor. The other joystick controls scrolling vertically and horizontally, and includes a push button for left-click. The two buttons are used for middle and right-click. All of these inputs are read by a Teensy Arduino. The Teensy is compact and easily capable of emulating a USB mouse, which makes it perfect for this job.

[Dave] has published his designs on Thingiverse if you would like to try to build one of these yourself.