Capacitive Touch Controller For FPGAs

Most projects that interface with the real world need some sort of input device. Obviously this article is being written from a standardized “human interface device” but when the computers become smaller the problem can get more complicated. We can’t hook up a USB keyboard to every microcontroller since we often only need a few buttons, but even buttons can be a little bit too cumbersome for some applications. For something even simpler, we would like to turn your attention to capacitive touch controllers.

Granted, these devices are really only simpler from a hardware perspective. Rather than a switch that can be prone to failure either when its moving parts break or its contacts become corroded, a capacitive touch button only needs a certain conductive area on something like a PCB, along with a few passive components, to work. The real difficulty is in the software, so this project aims to make it simpler to bring these sort of devices to any FPGA that needs some sort of interface like this. It can operate in stand-alone mode or in a custom user interface, and was written to be platform-independent in VHDL without the need for any dependencies or macros.

The project’s page goes into a great amount of detail on how capacitive touch sensors like these work in general, and describes the operation of this specific code as well. Everything is open source, so it’s ready to be put to work right away. If you need capacitive touch capabilities on something like a microcontroller, though, take a look at this tiny Atmel-powered musical instrument instead.

Python Your Keyboard Hack Chat With Adafruit

Join us on Wednesday, July 21 at noon Pacific for the Python Your Keyboard Hack Chat with the Adafruit crew!

Especially over the last year and a half, most of us have gotten the feeling that there’s precious little distinction between our computers and ourselves. We seem welded together, inseparable even, attached as we are day and night to our machines as work life and home life blend into one gray, featureless landscape where time passes unmarked except by the accumulation of food wrappers and drink cans around our work areas. Or maybe it just seems that way.

Regardless, there actually is a fine line between machine and operator, and in most instances it’s that electromechanical accessory that we all love to hate: the keyboard. If you buy off the shelf, it’s never quite right — too clicky, not clicky enough, wrong spacing, bad ergonomics, or just plain ugly design. The only real way around these limitations is to join the DIY keyboard crowd and roll your own, specifically customized to your fingers and your needs — at least until you realize that it’s not quite perfect, and need to modify it again.

Hitting this moving target is often as much a software problem as it is a hardware issue, but as is increasingly the case these days, Python is ready to help. To go into depth on how Python can be leveraged for the custom keyboard builder, our good friends at Adafruit, including Limor “Ladyada” Fried, Phillip Torrone, Dan HalbertKattni Rembor, and Scott Shawcroft will stop by the Hack Chat. We suspect they’ll have some cool stuff to show off, in addition to sharing their tips and tricks for making DIY keyboards just right. If you’re building custom keebs, or even if you’re just “keyboard curious”, you won’t want to miss this one.

join-hack-chatOur Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, July 21 at 12:00 PM Pacific time. If time zones have you tied up, we have a handy time zone converter.

Flashpen Is A High Fidelity Pen Input Device

Pen input has never really taken off in the computing mainstream, though it’s had somewhat of a renaissance in the last decade or so. Various smartphones and tablets are shipping with the technology, and some diehard users swear by it as the best way to take notes on the go. Recently, researchers at the Sensing, Interaction and Perception Lab at ETH Zurich have been working on Flashpen, a high-fidelity pen interface for a wide range of applications. 

The fundamental technology behind the pen is simple, with the device using an optical flow sensor harvested from a high-end gaming mouse. This is a device that uses an image sensor to detect the motion of the sensor itself across a surface. Working at an update rate of 8 KHz, it eclipses other devices in the market from manufacturers such as Wacom that typically operate at rates closer to 200Hz. The optical sensor is mounted to a plastic joint that allows the user to hold the pen at a natural angle while keeping the sensor parallel to the writing surface. There’s also a reflective sensor on the pen tip which allows cameras to track its position in space, for use in combination with VR technology.

The team show off the device being used in several ways, primarily in VR tasks, but also in simple handwriting and coloring work. It’s a project that could readily be replicated by any eager experimenter by gutting a gaming mouse and getting down to work; our writers will expect six of your submissions by June 1st to the tipsline. Those eager to learn more can check out the project paper, and may also find the team’s TapID technology interesting. Video after the break. Continue reading “Flashpen Is A High Fidelity Pen Input Device”

Adaptive Macro-Pad Uses Tiny OLED Screens As Keycaps

When we first laid eyes on Keybon, the adaptive macro keyboard, we sort of wondered what the big deal was. It honestly looked like any other USB macro keyboard, with big icons for various common tasks on the chunky keys. But looks can be deceiving, and [Max Kern] worked a couple of surprises into Keybon.

First of all, each one of Keybon’s buttons is actually a tiny OLED display, making the keycaps customizable through software. Each of the nine 0.66″ displays has a resolution of 64 x 48 pixels, which is plenty for all kinds of icons, and each is mounted over an SMD pushbutton switch. He had to deal with the problem of the keycaps just wobbling around atop the switch button without depressing it; this was solved with a 3D-printed cantilever frame that forced the keycaps to pivot only in one axis, resulting in clean, satisfyingly clicky keypresses.

The other trick that Keybon has is interactivity. By itself, it boots up with a standard set of icons and sends the corresponding keystrokes over USB. But when used with its companion Windows application, the entire macro set can be switched out to accommodate whatever application is being used. This gives the users access to custom macros for a web browser, EDA suite, CAD applications, or an IDE. The app supports up to eight macro sets and can be seen in action in the video below.

We love the look and the functionality [Max.K] has built into Keybon, but we wonder if e-ink displays would be a good choice for the keycaps too. They’re available for a song as decommissioned store shelf price tags now, and they might be nice since the icon would persist without power.

Continue reading “Adaptive Macro-Pad Uses Tiny OLED Screens As Keycaps”

Turning A Desk Drawer Into A Flight Yoke

[Christofer Hiitti] found himself with the latest Microsoft Flight Simulator on his PC, but the joystick he ordered was still a few weeks out. So he grabbed an Arduino, potentiometers and a button and hacked together what a joke-yoke.

The genius part of this hack is the way [Christopher] used his desk drawer for pitch control. One side of a plastic hinge is attached to a potentiometer inside a drawer, while the other side is taped to the top of the desk. The second pot is taped to the front of the drawer for pitch control and the third pot is the throttle. It works remarkably well, as shown in the demo video below.

The linearity of the drawer mechanism probably isn’t great, but it was good enough for a temporary solution. The Arduino Leonardo he used is based on the ATmega32u4 which has a built-in USB, and with libraries like ArduinoJoystickLibrary the computer interface very simple. When [Christopher]’s real joystick finally arrived he augmented it with a button box built using the joke-yoke components.

There’s no doubt that Microsoft Flight Simulator 2020 will spawn a lot of great controller and cockpit builds over the next few years. We’ve already covered a new joystick build, and a 3D printed frame to turn an Xbox controller into a joystick.

Continue reading “Turning A Desk Drawer Into A Flight Yoke”

Digital Expression Via Harmonica

There is a good chance you clicked on this article with a mouse, trackball, trackpad, or tapped with your finger. Our hands are how most of us interact with the digital world, but that isn’t an option for everyone, and [Shu Takahashi] wants to give them a new outlet to express themselves. Some folks who cannot use their hands will be able to use the Magpie MIDI, which acts as a keyboard, mouse, MIDI device, and eventually, a game controller. This universal Human Interface Device (HID) differs from a mouth-operated joystick because it has air pressure sensors instead of buttons. The sensors can recognize the difference between exhalation and inhalation, so the thirteen ports can be neutral, positive, or negative, which is like having twenty-six discrete buttons.

The harmonica mounts on an analog X-Y joystick to move a mouse pointer or manipulate MIDI sound like a whammy bar. [Shu] knows that a standard harmonica has ten ports, but he picked thirteen because all twenty-six letters are accessible by a puff or sip in keyboard mode. The inputs outnumber the Arduino Leonardo’s analog inputs, so there is a multiplexor to read all of them. There was not enough time to get an Arduino with enough native ports, like a Teensy, with HID support baked in. Most of the structure is 3D printed, so parts will be replaceable and maybe even customizable.

Even with two working hands, we like to exercise different hardware, but the harmonica is a nifty tool to have attached to your computer.

Continue reading “Digital Expression Via Harmonica”

USB Bell Rings In Custom Terminal

Old TeleTypes and even typewriters had bells. Real bells. So that ASCII BEL character is supposed to make an honest to goodness ringing sound. While some modern terminals make a beep from the computer speakers, it isn’t the same. [Tenderlove] must agree, because the turned a Microchip USB to I2C bridge chip into a HID-controlled bell.

The only problem we see is that you have to have a patch to your terminal to ring the bell. We’d love to see some filter for TCP or serial that would catch BEL characters, but on the plus side, it is easy to ring the bell from any sort of application since it responds to normal HID commands.

Continue reading “USB Bell Rings In Custom Terminal”