VIDEO: Orientation Demo

VIDEO: Orientation Demo

Keyglove #08 – Orientation Demo from Jeff Rowberg on Vimeo.

NOTE: For the uber-eager, the actual rotation starts at the 1:00 mark. There’s some introductory explanation of what’s happening and the hardware in use that occurs on before that.

This video is a demo of the IMU algorithm results (a.k.a. sensor fusion) achieved with SparkFun’s 6DOF motion sensor board, which uses an ADXL345 digital 3-axis accelerometer and ITG-3200 digital 3-axis gyroscope. The readings from the board are raw from each device, and combined on the Teensy++’s MCU to create a quaternion representation of the orientation.
Read more

Keyglove Serial Communication Protocol Draft

Keyglove Serial Communication Protocol Draft

One of my main goals for the Keyglove is to allow it to be used on as many devices and operating systems as possible with no complicated driver installation or configuration every time you set it up. Using a USB connection and Human Interface Device (HID) profiles, along with the Bluegiga WT12 Bluetooth module that also supports HID profiles, the Keyglove can appear to the host devices as a standard keyboard, mouse, or joystick, none of which require drivers. This allows for basic usage with almost no work.

But what about special types of usage? What about reconfiguring the Keyglove’s behavior, even if most of the time you do just want to use it as a keyboard and mouse? What about extending the capabilities beyond what I imagined, or implementing your own special driver for your particular hardware or software application? Obviously a HID-only approach is too limited. So, we turn to basic serial communication, which is one of the easiest methods to communicate with a hardware device in a way that pretty much anyone can work with, regardless of the platform. It works the same over Bluetooth as it does over a USB virtual serial port (which is built into the main Keyglove processor), and it’s also easy to adapt to a direct connection to another microcontroller, should anyone want to do that.
Read more

WT12 Custom Breakout Board: Take 2

WT12 Custom Breakout Board: Take 2

After my original post about the WT12 breakout board I was working on a while back, I thought I should really follow that up with some info on what’s happened with that adventure. In short, it’s been a great success! The PCB revisions that I made proved to work very well, and I now have two great boards available for purchase through InMojo, as well as an Eagle library if you want to make your own.
Read more

WT12 Custom Breakout Board: Take 1

WT12 Custom Breakout Board: Take 1
Update 6/24/2011: the WT12 breakout boards I designed are now available on InMojo here (full, $50) and here (UART only, $40) for cheaper than you can get WT12 breakout boards anywhere else as of the time of this update. You can also download my Bluegiga Eagle library here.

The next major missing piece of Keyglove functionality is wireless support. This involves a battery, charging circuit, and a Bluetooth device. I’ve been working on Bluetooth for a while now, and after the difficulty with Broadcom BCM2042-based modules, I had some very exciting preliminary success with Bluegiga’s WT12 module (as described in this recent post). My rat’s nest of a test hookup demonstrated to me that the WT12 is perfect for the Keyglove, so a breakout board became the next priority.
Read more

VIDEO: Prototype C Touchscreen Demo

Keyglove #05 – Prototype C Touchscreen Demo from Jeff Rowberg on Vimeo.

I’m still waiting on the WT12 breakout boards to arrive—both from BatchPCB and the custom one I created (more on that later)—and all of the activity over at the Keyglove Kickstarter page and Engadget article has been tremendously exciting. But in the mean time, I’ve got a short video up to demonstrate the behavior of the current prototype when used with capacitive touch screens.
Read more

Bluegiga WT12 Bluetooth Module Connection

Bluegiga WT12 Bluetooth Module Connection
Update 4/18/2011: you can read about the custom WT12 breakout board I designed here. The short version is that the board was almost good enough, but I’ve got a revision ordered and that one should be perfect. It will be available to others shortly.
Update 6/24/2011: the WT12 breakout boards I designed are now available on InMojo here (full, $50) and here (UART only, $40) for cheaper than you can get WT12 breakout boards anywhere else as of the time of this update. You can also download my Bluegiga Eagle library here. You may also be interested in the follow-up blog post about this.

So, after all of my experiments with BCM2042-based Bluetooth modules and the uncertainty and sparse documentation surrounding them, I decided to give Bluegiga’s WT12 module a try. I have to say, the more I learn and experiment, the more I like it. This one single module supports pretty much every Bluetooth profile ever, easily hot-switchable via a simple command. Their customer support is excellent. Their documentation, firmware, schematics, and all other development resources are readily available for free. Their modules are available for purchase cheaply in small quantities (e.g. one at a time for $27 from SemiconductorStore.com). You can control the complete behavior of the module using their capable iWRAP firmware and well-documented commands sent over the UART interface. It’s perfect.
Read more

Interfacing with a BCM2042/BP20422 Bluetooth HID Module

Interfacing with a BCM2042/BP20422 Bluetooth HID Module
Update 4/6/2011: the design files for the breakout board shown below from Wayne and Layne has been made available here. Thanks, guys! (Remember this board is optimized for the BluePacket BP20422 module, and the pair button doesn’t work with other modules.)
Update 6/24/2011: one guy has been able to successfully integrate a BP20422 clone module into an existing full-size IBM Model M keyboard to convert it from wired to wireless. This included a lot of custom circuit design work and firmware replacement, which may be useful to you depending on your own interests. Check out his detailed documentation here.

The CE Compass WKB-1500 Bluetooth Keyboard I ordered arrived in the mail a while back, and I took to testing and dismantling it immediately.

Now, I decided to buy an actual device instead of just a Bluetooth module for two reasons: first, and most importantly, the only source I know of for the HID-profile module I was looking at has been out of stock for quite some time. There is currently no place I’ve been able to find, even internationally, where you can buy a single HID-enabled module. There are many places to buy SPP-enabled modules, and in many cases these can be adapted to providing keyboard and mouse support. All they require is a driver on the host device to translate the serial data into input control signals. However, my goal is to have the Keyglove be detected natively as an input device, so that no special driver is required. The HID Bluetooth profile specification is basically just a hardware Bluetooth wrapper around the standard HID profile used with USB keyboards and mice, as far as I know, which makes it perfect. The only problem is that nobody sells those modules by themselves, so I decided to try taking one out of another device.
Read more

Teensy++ Controller Board Adventures

Teensy++ Controller Board Adventures

I placed an order for a set of Teensy++ parts from PJRC quite some time ago with the understanding that it was out of stock and would likely take a least a couple of months to fill the order. That’s exactly what happened, and I ended up receiving the parts sometime in December. Because of other stuff I was working on both related and unrelated to the Keyglove, I wasn’t able to find time to really make use of the new parts until the middle of January.

Now that I’ve had a chance to, though, all I can say is: the Teensy++ is a really awesome device!
Read more

VIDEO: Typing With Prototype B

Well, this has certainly been a long time in coming. I’ve been really busy with all kinds of work, most of which has not been related to the Keyglove project, which is why it’s been almost three weeks since my last update. However, I’ve been able to make enough progress here and there to post this video for you today.

Keyglove #04 – Typing With Prototype B from Jeff Rowberg on Vimeo.

Basically, this shows another proof-of-concept typing demonstration using the new glove construction with a full sensor array. All 34 sensors are attached to the glove: five sewn on the fingertips, one sewn on the lower thumb segment, three sewn on the palm. All of the rest are remote control rubberized keypad contacts which I cut from a cheap broken universal remote I got off of eBay.
Read more