2015-08-28 (F) Weekly Summary

Bluefruit EZ-Key provides a bridge which accepts serial data, like from an Arduino, and acts like a Bluetooth keyboard on the other side. Unfortunately the keyboard presses I was sending over the USB couldn't be reused but the established structure of the program made it possible to just plug in the serial data. That was what I had planned for a couple wees ago and I suspect I saved myself some headache and heartache by approaching it that way. Once the serial data was in place the Bluetooth module was paired with my phone and typing commenced. After several program tweaks it was possible to type simultaneously on my phone and a USB connected computer. This made debugging easy because I was able to compare messages from each screen and see what was different. It went very well. Most of the problems were from non-printing characters.

After the success with Bluetooth it was time to start work on the mouse functions. Spiffchorder code was not meant to lend much focus to mice and with the popularity of touch screens this may be wise. For my build I wanted to have a mouse which responded to tilting kind of like a Wii remote. This was hinted at when I rearranged all the chords dealing with the Far thumb button. An analog output accelerometer was used which generates a voltage based on orientation. These signals are very easy to read with the analog input pins on an Arduino. The most common alternative would be to use serial data but anyone who has read this blog knows how I feel about reading serial data.

Accelerometer attached to Arduino


Inexpensive servos have a limited range of movement but they can be modified to spin continuously. I had only heard about the procedure but I assumed it was less functional than purchasing continuous rotation servos. I was wrong. Dismantling, modifying, and reassembling the servo took less than an hour while screwing up the innards took two more. I learned everything I wanted to about servo motors and while inside I had an idea of how to control two servos with a single wire from my Arduino. By hooking up one of the servo motors backwards the two should act as mirrors of one another but this will only work for continuous rotation servos. Soldering a standard servo's motor backwards would only render it useless unless the potentiometer leads were also reversed.

To convert a servo which normally travels less than 180º the potentiometer is rerouted to a different potentiometer of a greater than, or equal, resistance. That potentiometer becomes a tuning resistor. An anti-rotation tab on the top gear of the servo is removed then it's all put back together. Piece of cake.

Splayed innards of a servo

Ill conceived attempt at bypassing the potentiometer

Tuning potentiometer

Reassembled servo

When I first thought about making this keyboard I visualized it in my right hand. It seems I am in the minority though. To give anyone a chance to build this keyboard the models were mirrored and rendered as stl files.

Left hand and right hand version of the finger pieces

The first design for a wrist mount was not very good. It was flimsy and relied on unproven ideas. Gavin showed me a neat design used to put a tool into the wearer's hand at the push of a button. The design was well executed and gave me a good idea of how I should build my wrist mount. Modeling of the wrist mounts started with a convoluted design, as they often do, and was finally reduced to two simple parts which could be held together with standard #6 (3.5mm) bolts. Pieces were printed, revised then printed again with proper dimensions. The pieces were assembled with bolts that were probably too short. Servos were installed but not screwed in place. Levers will have to be designed and printed. Files from 2015-08-11 (Tu) will be used.

Spinning model of one side of the wrist mount pieces

Wrist mount assembled with short bolts

Downloadable Files:

The rest of the weekly summaries have been arranged by date.

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information in this blog, or linked by this blog, are not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.