Camera-based touchscreen input via an FPGA


[Chonggang Li] wrote in to share a link to the final project he and [Ran Hu] built for their embedded systems class. It’s called Piano Hero and uses an FPGA to implement a camera-based touch screen system.

All of the hardware used in the project is shown above. The monitor acts as the keyboard, using an image produced by the FPGA board to mark the locations of each virtual key. It uses a regular VGA monitor so they needed to find some way to monitor touch inputs. The solution uses a camera mounted above the screen at an obtuse angle. That is to say, the screen is tilted back just a bit which allows the images on it to be seen by the camera. The FPGA board processes the incoming image, registering a key press when your finger passes between the monitor and the camera. This technique limits the input to just a single row of keys.

This should be much simpler than using a CCD scanner sensor, but that one can track two-dimensions of touch input.

Continue reading “Camera-based touchscreen input via an FPGA”

MSP430 touchscreen piano


[Rohit Gupta] wrote in to share this touchscreen piano project he built around the TI Launchpad. It provided a way for him to explore using a resistive digitizer found on a lot of mobile devices. These are simply stuck to the top of LCD screens and replacements are inexpensive, but salvaging one from old hardware is an option as well.

The first thing he did was to test the four outputs of the digitizer with his multimeter. Logging the changing resistance will help make sure you’re reading the correct wires and are able to zero in the settings before you start coding. [Rohit] uses the ADC on the MSP430 chip to read from the screen. He went with the algorithm from one of TI’s app notes to convert the readings in to X and Y coordinates.

He separated the screen into seven columns, each generating a different tone. Touching higher or lower on that column will alter the pitch of the note produced. You can hear an example of this in the demo after the jump.

Continue reading “MSP430 touchscreen piano”

Ask Hackaday: Are we close to reinventing the keyboard for touchscreens?


We mourn the loss of the physical keyboard with the advent of tablets. After all, we do a bit of typing getting all of these features posted throughout the week. And we kind of blame tablets for the decline of the netbook industry (we still use a Dell Vostro A90 when not at home). But we’re trying to keep an open mind that we may not need a physical keyboard anymore. If someone can come up with an innovative alternative to the Qwerty layout that we are able to learn and can use with speed and without physical strain we’ll be on board. Our question is,  do you think we are close to a screen typing breakthrough?

This question came to mind after seeing the Minuum keyboard shown above. It compresses all of the rows of a Qwerty into a single row, monopolizing less screen space than conventional smartphone input methods. The demo video (embedded after the break) even shows them hacking the concept into a distance sensor and using a graphite-on-paper resistor. Pretty cool. But what happens when you type a word not in the dictionary, like this author’s last name?

You can actually try out the Minuum style thanks to [Zack’s] in-browser demo hack. He’s not affiliated with Minuum, but has done quite a bit of alternative keyboard input work already with his ASETNIOP chorded typing project. It’s another contender for changing how we do things.

Continue reading “Ask Hackaday: Are we close to reinventing the keyboard for touchscreens?”

Enabling an unused touchscreen overlay on a consumer LCD


When [Andrei] first got his Raspberry Pi he wanted to make it a standalone computer right away. This means the normal input devices like a mouse and keyboard, but also some type of display. To avoid waiting for shipping he ended up using a cheap vehicle backup camera screen from the local big box store. It worked great, and recently he decided he would try to convert it to run off of 5V power to simplify his setup. While snooping around inside the device he discovered an unused resistive touch overlay and figured out how to get it to work.

What tipped him off is the small four-conductor connector which wasn’t hooked up to anything. He carefully soldered wires onto the flexible circuit traces, then generously covered them in hot glue to help prevent movement from breaking the rigid connection. To get this working you need to measure the resistance between the conductors. Most of the time we figure the RPi GPIO header can be used directly, but for this task an intermediary is necessary. [Andrei] went with a small Arduino clone board. A bit of trial and error was all it took to get the connections right and to iron out the code which translates the values into coordinates.

Building a touchscreen XBMC setup with the Raspberry Pi


[Andrei Istodorescu] has been hard at work building a 7″ touch-screen rig which runs XBMC. It may be upside-down, but the Raspberry Pi board which is front and center is still easily recognizable. There’s a lot of stuff connected to it in order to pull this off, and even more software configuration. But as you can see in the clip after the break he did get it working!

The screen is an eGalaxy 7″ touch sensitive module he picked up on eBay. It sounds like it was meant for a backup camera in the dashboard of a car. He compiled his own Linux kernel to add support for the screen. It uses HDMI for the video interface with the driver board, and the touchscreen connects to one of the USB ports. The rest of the setup involves compiling XBMC with touchscreen support and calibrating the screen to accurately sense input.

Continue reading “Building a touchscreen XBMC setup with the Raspberry Pi”

Arduino-controlled MIDI sequencer


[Christian] wrote in to tell us about his third-generation Arduino MIDI sequencer (translated) called the AM808 VX3. He had already laid a strong base for the project in his previous versions. But the user interface was still frustrating at times and that’s where this version comes in. it features a nice clean dashboard like interface, but also includes a configurable virtual interface.

The obvious components seen above include the slider and potentiometer band, as well as the repository of buttons mounted below that. But in the center of the board is a touchpad which [Christian] pulled out of an old Laptop. It interfaces as a PS2 device which makes it pretty simple to use in conjunction with the Arduino. But that’s not the only touch-enabled input device. The rectangle to the right of the touch pad is an LCD screen with a touch overlay. As you can see (and hear) in the clip after the break, the touch screen made it possible for him to rework the controls until they became simple and intuitive.

Continue reading “Arduino-controlled MIDI sequencer”

Developing with eBay-sourced ARM + LCD dev boards

eBay isn’t only about counterfeit designer handbags and boxes of all-marshmallow Lucky Charms, sometimes there’s actually something useful for sale. [Matt] found a bunch of Chinese-made ARM development boards with integrated LCD displays on the ‘bay, but without a reliable toolchain, these boards – as cool as they are – are nearly useless. Thankfully, he figured out how to do something with these boards, and neatly packaged everything into a VirtualBox image.

The boards in question usually include a 2.4″ or 3.2″ touch panel LCD, an STM32F103 ARM Cortex-M3 CPU, a microSD card connector, and sometimes a few other goodies like 16MB of Flash memory and an RS-232 port. An amazing amount of computational capability packaged into an easy-to-use form factor made even more awesome by their $40 price point.

Because these boards offer so much more than a common Arduino, a proper OS is in order. [Matt] looked over FreeRTOS and included a few demo programs for his Ubuntu-based VirtualBox image (available for download on [Matt]’s site, it’s a dropbox, email us if you need some hosting, [Matt]) Never mind, see below.

Programming these boards can be done over a serial interface, but a JTAG programmer such as a Bus Blaster makes things very, very easy.

You can check out a few demos [Matt] put together after the break. It’s a very cool development that is much more suited for being integrated into an electronics project than a Raspberry Pi or other such high-power ARM board, and something we hope to see more of in the future.

EDIT: You know what’s really good for hosting Linux distros? Torrents. That’s [Matt]’s distro and the HaD crew is seeding. Please seed.

Continue reading “Developing with eBay-sourced ARM + LCD dev boards”