2015-09-21 (M) Wrist Mounted Chording Keyboard

I'm going to take a long time to get to the point today so skip to the project photos if you just want the project work.

I was in a traffic accident this morning. I'm not entirely blameless. This is what happens when you don't leave enough space between yourself and the vehicle in front of you. No big deal for me. No more damage than a perfect "stamp" of the leading car's trailer hitch. She was fine. Her vehicle was fine.

"Stamp" of a trailer hitch

Now the lesson. There was a motorcycle behind me and he wasn't paying enough attention or leaving enough space either. He hit the back of my car and left in an ambulance. I feel awful for this guy because he was in a bad state when he left. Not life threatening but definitely in shock. No helmet.

 Tipped Harley. I waited until the injured guy was gone to take any pictures.

Keep a safe distance from the car in front of you or you'll end up being the dick bag who holds up rush hour traffic. Don't do that.

Enough background.

Project work started with disappointing but inevitable news. The controllers being used for servo control were a poor choice. The biggest problem is that they do not support Arduino's servo library. An alternative was found but it was difficult to understand. Instead the timing routine used to control servos was built into the program. This turned out to be very difficult to debug so it could not be perfected despite being a simple algorithm. This hardware will change to an Arduino Mini Pro which are stocked.

After spending a good portion of project time with nearly fruitless efforts the only gain was finding that servo motors will disengage if they are not given a signal. Standard Arduino servo library continually sends the servo timing cycle to constantly encourage the position. With ordinary servos this makes sense but the finicky home-made continuous rotation servos were difficult to tune so disengaging them would be preferable.

Instead of immediately writing a program for an Arduino Mini Pro it was decided to add an external USB port. This port was nothing more than a micro USB extension cable which could be fastened with screws. One end of the cable was a micro USB male salvaged from a damaged data cable and the female port was a micro USB breakout board.

 USB extension cable

Flush cutting pliers were used to cut a few layers of the case at one end to allow wires to pass through. Ideally the board would be fastened from the inside and only the receptacle would be visible but exposed electronics will be acceptable for the project at this phase. The board was given a plastic spacer to go between the board and the enclosure so there was clearance to plug a cable. The lid was able to be reattached and sit flush with the enclosure.

Layers trimmed on the top edge of the enclosure

Board mounted to side of keyboard

Lid attached to keyboard

Downloadable Files:
To do:
  • Wrist mount
    • Add limit switch mounts
    • Lengthen servo arms
    • Integrate:
      • Controller
      • High precision potentiometers for tuning servos
      • Servos
      • Enclosure for each controller
      • Limit switches
      • Activation switch
    • Debug 
    • Test
    • Refine
    • Repeat
    • Activation switch
  • Write instructions
    • Compress and link to all files
      • OpenSCAD files
      • STL models
      • Arduino code 
    • Make diagram with everything labeled 
    • Schematic for servo controller

The rest of the posts for this project have been arranged by date.

First time here?

Completed projects from year 1.
Completed projects from year 2

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.

2015-09-21 (M)