geekhack

geekhack Projects => Making Stuff Together! => Topic started by: OldDataHands on Tue, 19 March 2013, 22:09:27

Title: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 19 March 2013, 22:09:27
Update: The current state of development should be visible in the last several pages of this thread. Current status in summary(Oct 2014): Initial design of the thumb switch mechanisms is complete. Thumb PCB needs to be design, thumb switch mechanisms need to be tested. My third prototype of the finger switch assemblies is mostly assembled and I am quite pleased with the switch behavior I've achieved so far. Turbinia has completed an initial case design, but this needs to be updated when final PCB mounting and thumb switch geometries are available. Still to be done: finish thumb cluster and a better mouse substitute.

Please see the thread for up-to-date info.

The following is my original first post:
--------------------------------------------------------------

I hate that the datahand is commercially unavailable. It's a brilliant design that
deserves to live! I have sworn a solemn oath to my fingers (and tendons and
nervers and muscles, etc) that they shall always have something like the
datahand to pamper them.

My first step towards making one of my own is rendered here -  a proto board
(being fabbed), and the key assembly, (currently  being 3D-printed).  We'll see
if I'm able to make anything approaching a usable clone of the datahand finger
key assembly... modeling magnetic forces is not in my repertoire...
Title: Re: Re-Create the datahand - first babystep
Post by: hashbaz on Wed, 20 March 2013, 00:52:57
A bold project!  Keep us posted. :)
Title: Re: Re: Re-Create the datahand - first babystep
Post by: vatin on Wed, 20 March 2013, 01:05:54
A bold project!  Keep us posted. :)

Ditto
Would like to build something like a data hand myself only if I have the skill. Current kinesis contour user.
Title: Re: Re-Create the datahand - first babystep
Post by: Throne on Wed, 20 March 2013, 01:11:28
Can't wait to see how this goes, very interesting project.
Title: Re: Re-Create the datahand - first babystep
Post by: TheQsanity on Wed, 20 March 2013, 02:19:10
No idea what this is but looks fancy.
Title: Re: Re-Create the datahand - first babystep
Post by: nubbinator on Wed, 20 March 2013, 02:31:55
No idea what this is but looks fancy.

http://www.datahand.com/

It looks like you rest your hand on pillars that are, in essence, D-pad switches.
Title: Re: Re-Create the datahand - first babystep
Post by: TheQsanity on Wed, 20 March 2013, 03:12:19
Holy... no idea how you mocked up that prototype and got it made. Good job!
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Wed, 20 March 2013, 06:11:31
No idea what this is but looks fancy.

This is the first prototype of a key assembly which would
serve one finger.  The D-Pad comparison is apt, except that
there is a straight-down key in addition to the N/E/S/W
keys.

I rather expect that a number of prototypes will be needed
to achieve a reasonable feel for the actuation, but this is a start.
Title: Re: Re-Create the datahand - first babystep
Post by: metalliqaz on Wed, 20 March 2013, 06:34:11
Very impressive
Title: Re: Re-Create the datahand - first babystep
Post by: jwaz on Wed, 20 March 2013, 12:08:35
Didn't Dox post a teaser pic that something like this might be his next project? You should contact him OldDataHand
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Wed, 20 March 2013, 21:39:39
Holy Crap! The internet is amazing. I ordered this:
[attach=1]
near midnight on the 13th, and it's already here! Shapeways rocks.
[attach=2]
There was a moment or two of real disappointment when it arrived and looked like this:
[attach=3]
I thought that the filled areas which were supposed to be voids (most easily seen in the red circled areas) were solid.  Turns out to have only been unsintered (or maybe barely sintered in some cases) raw material, which was mostly simple to pick out.
[attach=4]
Once the magnets started going in (and nothing broke) and the first lever was plunked into the carrier I started to get rather excited!
Even better, the magnets attract each other enough to make several of the keys return to the home position!
This is without the ferrous target which will pull them into home position when finished. A good start.
Perhaps in a couple weeks the PCB will arrive and I'll be able to really test this thing out!

Points for improvement: Ordering the white material was a mistake. Too translucent. I fear that it'll transmit too much of the infrared through the material and therefore will always look pressed.  Next prototype will be in the black material. Second point for improvement:  I was so focused on making the thing as small as I could given the larger size of the magnets I found relative to the ones in the datahand that I didn't stop to think that my design might still actually be smaller than the datahand's key assembly.  I haven't yet measured, but It seems to me to be at 0.85 scale.  This is great because I particularly need to beef-up the stem of the center button, and this will give me the room I need to do so.

So far, so good!

More in a couple weeks when the PCB arrives, or when I get my bench shear and shim stock for fabricating the ferrous targets.
Title: Re: Re-Create the datahand - first babystep
Post by: metalliqaz on Wed, 20 March 2013, 22:02:55
Geekhack superstar.  Looks fantastic dude!
Title: Re: Re-Create the datahand - first babystep
Post by: obra on Thu, 21 March 2013, 12:07:33
This is amazing. I've been pondering a thumb D-Pad on a design I'm working on, but hadn't been thinking of going anywhere near this far. I wonder if the 3D printer I just got has the resolution to print the parts to the tolerances you need.
Title: Re: Re-Create the datahand - first babystep
Post by: regack on Thu, 21 March 2013, 13:44:49
Nice little project you've got going on here.  I'm watching intently.    I'd like to get some of those to play with if you get it working :D
Title: Re: Re-Create the datahand - first babystep
Post by: haskellelephant on Thu, 21 March 2013, 14:09:48
Oh man, that looks great! Nice work!
Title: Re: Re-Create the datahand - first babystep
Post by: Nakkor on Thu, 21 March 2013, 15:39:17
Very cool and inspiring! I will be following this project with great interest. Keep it up!
Title: Re: Re-Create the datahand - first babystep
Post by: Dox on Fri, 22 March 2013, 12:19:00
Stay tuned!
(http://ergodox.org/datadox/datadox.jpg)
Title: Re: Re-Create the datahand - first babystep
Post by: SmallFry on Fri, 22 March 2013, 12:23:45
Are you two chatting it up?
Title: Re: Re-Create the datahand - first babystep
Post by: regack on Fri, 22 March 2013, 12:52:59
Stay tuned!

Yes.  Indeed.  I'll be hitting F5 in just second or two.  Or is that perhaps just a little too tuned in?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Fri, 22 March 2013, 14:14:21
Stay tuned!

Stay tuned indeed!  That is a thing of supreme beauty Dox. I decided to start with the finger switches, figuring that if I was able to make something reasonable there, then I would be able to also figure a way of recreating the thumb switches.  You've clearly taken your model a bit further. Do I comprehend correctly that you've decided to use some conventional switch for the center button?

I can see that I'm going to have to step up the rendering of my next model - smooth out those facets, add translucent IR components... Hard to keep up with the Joneses around here,
but maybe a video is worth something?

btw: for anyone not already familiar with the datahand: Dox's rendered model looks amazingly close to the real thing.

I wonder if the 3D printer I just got has the resolution to print the parts to the tolerances you need.

With the model I've got so far, I'm pushing the boundaries of Shapeways nylon SLS tolerances... Given that I need to scale it up some, I can also
back away a bit from the limits, which will help. I'm not yet convinced that my current part will accept the IR component leads for example (without some drilling), as those holes seemed to end up rather too small...
Title: Re: Re-Create the datahand - first babystep
Post by: haskellelephant on Sat, 23 March 2013, 07:25:43
Oh man, the ergodox hasn't shipped yet and I am already looking forward to putting a datahand replica right next to it!
Title: Re: Re-Create the datahand - first babystep
Post by: vatin on Sat, 23 March 2013, 09:29:27
Stay tuned!
Show Image
(http://ergodox.org/datadox/datadox.jpg)


Definitely looking forward to this!!!!
Title: Re: Re-Create the datahand - first babystep
Post by: vipjun on Sun, 24 March 2013, 21:19:25
wow this is super cool. can I ask what kind of background / knowledge you need to even be able to prototype this ?

I know about shapeway and the 3d printing a bit, but don't think i'm strong enough in cad or engineering to even attempt this.

I'm curious what switch mechanism you decided to use for this .  I think it is IR / optical what is the purpose of the magnets ?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Mon, 25 March 2013, 19:33:24
I think it is IR / optical what is the purpose of the magnets ?

Hi vipjun, The magnets provide the force which causes the keys to return to their home position.  No springs to eventually fail.
Title: Re: Re-Create the datahand - first babystep
Post by: vipjun on Tue, 26 March 2013, 20:59:47
I see. thanks for the insight. I'm guessing the strength of the pull could somewhat mimic a spring . I know there are 10g microswitches available. could a magnetic force go that low ? I'm guessing it would feel a little different as well?
The closer the magnet is to the metal or opposite magnet the more resistance one would feel? maybe a strong initial resistance and then an exponential decrease if we could relate it to a force diagram?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Wed, 27 March 2013, 22:08:47
My new Bench Shear arrived today:
[attach=2]
A pair of scissors like no other! It didn't even really notice the .020" shim stock.
btw: If you ever happen to buy a coil of shim stock: The warnings about tension
on the coil and to use protective gear and caution when uncoiling are _real_.
I cut the strapping while the coil was still in the box and it went off with a loud
_pop_ as it tried to jump out of the box.

After a little careful work cutting out the blanks, and then a bunch of patient bending and I had this:
[attach=1]
Overall I'm quite happy. The buttons all return, and I could type on this if I had to.
However, I need to improve several aspects of it.  First, The N/E/S/W buttons are a bit mushy.
This is a result of the magnet being able to pivot a little bit on the end of the steel insert rather than
strictly pivoting upon the bottom end of the key lever. Second, the center button is just a bit too firm.
It has a wonderful release, but I need to find a way to reduce the force required.

The PCB should arrive on Friday, so perhaps It'll be alive this weekend!
 
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sat, 30 March 2013, 13:39:48
Assembly of the first prototype is completed. I made one error in
placement, resulting in the holes for the opto components for the
center pushbutton being in the wrong position. This necessitated a bit
of an ugly hack to make up for the traces I needed to drill through in
order to allow the components to sit where they need to sit, but no
functional difference, or visible difference from above.

This is what it looks like assembled:[attach=2]

The switches work well in a dark room, but the translucent plastic,
and room lights are enough to cause trouble. The next version will
have the phototransistors more protected from ambient light, and black
plastic should help.  I should also be able to improve the situation
by using a smaller resistance to ground on the outputs of the
phototransistors.

This is the circuit:[attach=1]

Here is a scope trace of the micro input as keys are scanned:[attach=3]

There is one electrical phenomena which I do not understand: When the
74238 output turns on, it drives one LED and phototransistor pair.
The transistor seems to turn fully on momentarily after voltage is
applied to it's collector.  Simply waiting for 200 microseconds before
reading the key state is enough to ensure a good reading. So, while
this presents no problem to proper operation, it is something of a
puzzle which would be nice to understand.

Here is a scope trace showing a good data eye:[attach=4]

The next things to work on include:
- Actually sending keystrokes over USB... (should be easy to adapt dhteensy),
- Trial-and-error on the emmitter resistor to ground to get better immunity from ambient light
- Update the 3D-model to better hide the phototransitor from ambient light.
Title: Re: Re-Create the datahand - first babystep
Post by: jwaz on Sat, 30 March 2013, 14:00:17
How does the prototype feel compared to the OG Datahand?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 31 March 2013, 20:15:53
How does the prototype feel compared to the OG Datahand?
For a first, relatively blind effort, I am happy that it is reminicent of the original. Howevet, I need to improve several aspects of it. First, The N/E/S/W buttons are a bit mushy. This is a result of the magnet being able to pivot a little bit on the end of the steel insert rather than strictly pivoting upon the bottom end of the key lever. Second, the center button is just a bit too firm. It has a wonderful release, but I need to find a way to reduce the force required. The N/E/S/W issue can easily be addressed by a more careful mechanical design. I think the central button issue can be addressed by using less steel, perhaps thinner shim stock. In any case, the prospects for achieving a good feel are encouraging.
Title: Re: Re-Create the datahand - first babystep
Post by: dpanse on Fri, 05 April 2013, 08:14:51
Bless you for trying this out hope you succeed! Was wondering by the way ... anybody gave a thought to building this in software using the new "Leap Motion" sensor? (Im apologize if Im posting this in the wrong thread .. dont want a load of replies cluttering this thread. If needed, please start a new thread for discussing this)
Title: Re: Re-Create the datahand - first babystep
Post by: Nakkor on Fri, 26 April 2013, 20:12:01
Looking forward to another update! =)¨
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 28 April 2013, 21:25:07
Looking forward to another update! =)¨

Well, Here's where I'm at:
[attach=1]
[attach=4]
[attach=2]

The short version: I've almost caught up to where Dox
was some months ago!
I've got a model of the left-hand finger keys, and the
position of components established for the PCB. I now
need to do the routing of traces on the PCB to complete
the layout.  I also need to establish the mounting-holes
for the shroud which surrounds the keys and acts as a
travel-stop.  As I've been out of town for the past 2.5
weeks progress has been a little slower than might have
been hoped.

OpenSCAD is struggling a bit with the model when I push
up the number of facets for cylinders/spheres, but scaling
up my model was very easy.  I hope that within a couple
weeks I'll have the left-hand fingers prototype ordered.

I also decided that DodoHand should be the name of the
project and I made a logo based upon the DataHand logo:
[attach=3]

More in a few weeks.

(modified to correct typo in logo and include correct schematic)
Title: Re: Re-Create the datahand - first babystep
Post by: haskellelephant on Mon, 29 April 2013, 11:36:18
Keep up the good work! This is definitely on my want list!

Like the name, but you might get copyright problems with the logo.
Anyone have an idea whether it would be a problem?
Title: Re: Re-Create the datahand - first babystep
Post by: flc on Mon, 29 April 2013, 12:06:27
Love what you've done so far and the logo. Looks very promising.
Title: Re: Re-Create the datahand - first babystep
Post by: Amadeus on Tue, 30 April 2013, 22:07:50
Awesome stuff, godspeed sir. I'm interested in buying a datahand but availability is basically none, with the occasional super pricey ebay auction. DIY datahands may be the only viable long term possibility, so it's great you're paving the way.
Title: Re: Re-Create the datahand - first babystep
Post by: metalliqaz on Tue, 30 April 2013, 22:59:34
Coming along nicely, I really want to try a datahand...
Title: Re: Re-Create the datahand - first babystep
Post by: vipjun on Thu, 02 May 2013, 09:28:28
this looks really awesome.
Title: Re: Re-Create the datahand - first babystep
Post by: regicide on Fri, 03 May 2013, 17:29:55
What a fantastic project, I have always wanted to try a datahand but the combination of being expensive and in short supply has always put me off.

Really impressive work you are doing, I look forward to seeing where this goes.

FWIW: dodohand got a few good laughs out of me.
Title: Re: Re-Create the datahand - first babystep
Post by: Input Nirvana on Sun, 05 May 2013, 17:11:22
Fantastic undertaking!

Let me just say this as a former Datahand owner...there is room for improvement over the real deal. The finger side-to-side movements required were not comfortable, the individual keyboard boxes could have been a bit smaller which could improve placement, etc. The mouse action was not very good at all. 2 people did some great things...one put an IBM KPD8923 pointer in his unit, and another added some custom scripts to the firmware. Both of these should be on GH. I have them referenced in the Everything Kinesis article with links to the pages.

Perhaps Webwit, Hoggy, and Icarium on DT could be in on loop, they have good insight to Datahands, we've gone several rounds over various details.

So much has changed since I found GH in 2009....technology like this was out of reach for the most of us.
Title: Re: Re-Create the datahand - first babystep
Post by: linziyi on Sun, 05 May 2013, 17:17:00
noob question... how does one type using 8 keys?
Title: Re: Re-Create the datahand - first babystep
Post by: regicide on Sun, 05 May 2013, 17:22:26
noob question... how does one type using 8 keys?

Each key is actually made up of 5 'buttons', you can push it the 4 compass directions as well as down.

You can see the 5 'buttons' on each key here
(http://ergodox.org/datadox/datadox.jpg)

Each press corresponds to a different key
(http://www.tifaq.org/archive/images/datahand2.jpg)

There are also some special keys hidden under 'function' although I am not quite sure how you get to those :)
Title: Re: Re-Create the datahand - first babystep
Post by: linziyi on Sun, 05 May 2013, 17:26:54
:O that would take a long time to get used to! But I can imagine the speed one can achieve once he/she masters it!


*-_- awkward grammar *
Title: Re: Re-Create the datahand - first babystep
Post by: regicide on Sun, 05 May 2013, 17:33:09
:O that would take a long time to get used to! But I can imagine the speed one can achieve once he/she masters it!

Yeah it would have quite the learning curve, but it should nicely reduce wrist movement which can be quite painful for some (including myself).

Let me just say this as a former Datahand owner...there is room for improvement over the real deal. The finger side-to-side movements required were not comfortable, the individual keyboard boxes could have been a bit smaller which could improve placement, etc.

I have always wondered about this actually, Side-to-side just doesn't seem like a very strong or natural motion.
Title: Re: Re-Create the datahand - first babystep
Post by: haskellelephant on Sun, 05 May 2013, 19:37:13
Do you have any plans for the thumb button?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Mon, 06 May 2013, 08:58:17
Do you have any plans for the thumb button?

I do plan to make the thumb switches, but only after the finger switches work well.
I'm in the final-checks stage before I order the second finger prototypes right now.
I imagine making a few more finger prototypes before moving to the thumb switches.

 
...
Let me just say this as a former Datahand owner...there is room for improvement over the real deal. The finger side-to-side movements required were not comfortable, the individual keyboard boxes could have been a bit smaller which could improve placement, etc. The mouse action was not very good at all. 2 people did some great things...one put an IBM KPD8923 pointer in his unit, and another added some custom scripts to the firmware. Both of these should be on GH.
...

I find the side-to-side movements more difficult to think about than to do, and I guess I have fat fingers, because if I made the finger wells much smaller I wouldn't be able the hit the center key without also bumping the side keys (edit: although this is only true for my middle finger. There could be an opportunity to make the other finger wells a bit smaller...). I saw those two other articles on GH! I would like to incorporate the pointer idea as I agree that the built-in mouse ability is very crude. First things first though, and that is the finger switches. 3D printing is awesome!
Title: Re: Re-Create the datahand - first babystep
Post by: metalliqaz on Mon, 06 May 2013, 10:53:21
I'm amazed that shapeways' process has the fidelity to create such a complex device.  Do you find that you have to rework the parts after you get them?

-d
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Mon, 06 May 2013, 13:46:31
  Do you find that you have to rework the parts after you get them?
I've chosen the laser sintered nylon process because it is a relatively tough, and cheap, opaque option. It took a bit of effort to open up the long, minimum-separation tubes I created for the opto component leads. I've now made these a bit bigger in the hopes that they will need less attention. Everything else turned out pretty well. Dox used a process capable of finer details in his prototype, but in a translucent material. I'll be interested to hear how it worked out for him.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Tue, 07 May 2013, 02:00:56
[attach=1]

This video / animation should be available shortly:
(just don't expect much, and you won't be disappointed.)
Title: Re: Re-Create the datahand - first babystep
Post by: regack on Tue, 07 May 2013, 07:17:21
(Attachment Link)

This video / animation should be available shortly:
(just don't expect much, and you won't be disappointed.)

Just let me know where to send my money...  :D

Seriously, I'll help fund your research a bit if I can get something like this prototype you have rendered there... :D
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sat, 11 May 2013, 13:21:25
So, the second prototype has been ordered... Should have all the pieced by the end of the month. I was sorry to see that BatchPCB is out of business. Their new owners might have a better, faster product, but charge almost double... even though that is still a good deal.

The first try at getting this printed by shapeways was rejected. One small anti-friction rib on the original center button, sized at 0.2mm x 0.2mm, was rejected by shapeways after I upped it to 0.3 x 0.3. I am a little confused by that, but it really isn't a problem, just caused a bit of delay.

I'll post updates as parts arrive...
Title: Re: Re-Create the datahand - first babystep
Post by: regack on Sat, 11 May 2013, 13:29:02
I got my first PCBs back from OSHPark, and they need some cleanup.  The edge cuts are not neat, and need to be trimmed down in places where they were snapped apart. 

I liked that you could just order 1 of something from BatchPCB, and while the ones from OSHPark are a bit nicer looking, I don't always need or want 3 of something. 

Basically, OSHPark is not quite as friendly for prototyping things.
Title: Re: Re-Create the datahand - first babystep
Post by: regicide on Sat, 11 May 2013, 18:14:01
I got my first PCBs back from OSHPark, and they need some cleanup.  The edge cuts are not neat, and need to be trimmed down in places where they were snapped apart. 

I liked that you could just order 1 of something from BatchPCB, and while the ones from OSHPark are a bit nicer looking, I don't always need or want 3 of something. 

I noticed that OSHPark quote $5/sqin for double layer abd $10/sqin for quadruple layer and they also have a minimum order or 3, so is this price per board (so have to multiply by 3) or the total already including 3 copies?
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Sat, 11 May 2013, 18:16:12
hey look! i'm trying to make your guys' designs monetarily feasible to produce!

http://geekhack.org/index.php?topic=43362.0   :D
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sat, 11 May 2013, 19:49:13
I noticed that OSHPark quote $5/sqin for double layer abd $10/sqin for quadruple layer and they also have a minimum order or 3, so is this price per board (so have to multiply by 3) or the total already including 3 copies?

The $5/sqin covers the 3 copies you'll get. so a 10sqin design will cost you $50, and you'll get 3 copies of it.
Title: Re: Re-Create the datahand - first babystep
Post by: TheFlyingRaccoon on Sat, 11 May 2013, 22:37:52
Wow looks awesome so far. Keep us updated!
Title: Re: Re-Create the datahand - first babystep
Post by: regack on Sun, 12 May 2013, 09:22:14
I noticed that OSHPark quote $5/sqin for double layer abd $10/sqin for quadruple layer and they also have a minimum order or 3, so is this price per board (so have to multiply by 3) or the total already including 3 copies?

The $5/sqin covers the 3 copies you'll get. so a 10sqin design will cost you $50, and you'll get 3 copies of it.


Another nice thing is that the $5/sqin also includes the shipping charges.  I'm not thrilled about having to clean up the tabs on the edges of the PCBs though.

Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Mon, 13 May 2013, 14:24:13
hey look! i'm trying to make your guys' designs monetarily feasible to produce!

http://geekhack.org/index.php?topic=43362.0   :D

Hey mkawa, that could be great! I can imagine using an FDM machine to make the DodoHand handrests and case.  Might provide some advantages over the 3D printed ceramic I've been imagining...
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Mon, 13 May 2013, 14:55:52
at the very least you'll want to to proto your design before you throw down for ceramic.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Thu, 23 May 2013, 18:58:44
Parts have arrived!  The PCBs arrived today:
[attach=1]

The 3D printed parts arrived a couple days ago:
[attach=2]

The holes all seem to line up too, which is a relief.

In trying to pack the parts together tightly to minimize
the bounding box for the 3D print, I placed some of the
keys vertically, and some horizontally.  This seems to
have had a significant impact on their resulting dimensions.
There will have to be some trimming of the parts this time
to make them all fit together.  That's a bit disappointing,
but lesson learned. Overall, this revision of the finger
assemblies is a big improvement, but it's already clear that
at least one more step is needed as I've created an
interference in trying to mount the magnet carrier of the
center key into the carrier...  This version will work though,
and that's the key!

Next step will be to create a bending jig to help
reliably and repeatably make the steel clips which
attract the magnets for the key return force.

I hope to get that made within the next couple weeks.
More at that time...

Title: Re: Re-Create the datahand - first babystep
Post by: metalliqaz on Thu, 23 May 2013, 19:09:46
incredible
Title: Re: Re-Create the datahand - first babystep
Post by: regicide on Thu, 23 May 2013, 19:14:17
Wow those are looking amazing!, really excited to see it all assembled :D
Title: Re: Re-Create the datahand - first babystep
Post by: Davaris on Wed, 05 June 2013, 03:45:30
This is looking great! You guys doing any programming for this?
Title: Re: Re-Create the datahand - first babystep
Post by: Input Nirvana on Wed, 05 June 2013, 22:58:10
The added pointer was a PS/2 Trackpoint from an IBM KPD8923. It has a ribbon cable to it's own separate pcb that is separate from the keyboard pcb. It's what I used for the Split Kinesis. Gator 456 and I bought a bunch of those boards to use for mods. He has serious RSI. He also wrote some firmware that he may have been able to sell to Datahand, but they are very quiet and don't seem to respond to emails/phone calls anymore :(
Title: Re: Re-Create the datahand - first babystep
Post by: Davaris on Thu, 06 June 2013, 03:19:52
I really love the look of the DataHand and would love to get one of my own, so I emailed them a couple of days ago and both email addresses bounced!  :confused:

Anyway, I wish I had skills with circuit boards, because then I could help out. I'll have to find a build your own circuit board for dummies book. lol
Title: Re: Re-Create the datahand - first babystep
Post by: Davaris on Thu, 06 June 2013, 12:53:18
The added pointer was a PS/2 Trackpoint from an IBM KPD8923. It has a ribbon cable to it's own separate pcb that is separate from the keyboard pcb. It's what I used for the Split Kinesis

There is some eye tracking technology coming out, that looks like it might work great with the DataHand.

http://news.yahoo.com/blogs/upgrade-your-life/could-eye-tracking-replace-mouse-181726788.html
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Fri, 07 June 2013, 17:19:55
Anyway, I wish I had skills with circuit boards, because then I could help out.
I've got the PCB aspect reasonably well covered. Now, if you could create a parametric
3D model of the handrest (and/or case) in an open souce tool, (like OpenSCAD) which could be printed
by mkawa's new FDM printer, or shapeway's ceramic process, then we might have something!
Title: Re: Re-Create the datahand - first babystep
Post by: Davaris on Fri, 07 June 2013, 23:51:42
I own Rhinoceros/T-Splines and was competent with it a couple of years ago, but have forgotten what I learned, as I shifted my focus to programing. I didn't want to say anything, as I don't know if I have the patience to relearn Rhino. Rhino is is used by machinists and jewelers in 3D printing, so it might be good enough to do the job.

All you need to do is document what you want made - multiple pictures of each component along with exact dimensions. Google '3D model references' and click on images, to see what is needed. Once you have something like that on display, if not me then someone else is likely to make it, as it is not difficult if you have the right skill set.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Thu, 13 June 2013, 20:52:06
Finally made it to a mill with a DRO (0.0002 inch increments!) on the table,
and made the clip bending jig: [attach=1]

Might even be able to assemble the left hand fingers prototype this weekend.
This works better than I had expected, and works even though my 0.038" drill
bit snapped off in the last hole.  These are 1mm stainless steel pins in 7075 alu.

pictured are the clips needed for 1 finger assembly - 4 S shapes for the N/E/S/W
keys in 0.020, and the other in 0.015.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 16 June 2013, 21:50:13
[attach=1]

I am typing this with my left hand fingers on the prototype.
Very satisfying.  It's perched precariously on top of my datahand
so that I can still use the thumb keys of the original, but the
fingers all work.  I'm geeked.  The dodohand is coming alive!

Feel-wise, It's OK. Usable. The center keys are still perhaps a bit
too snappy, and the N/E/S/W keys are perhaps a bit too soft, but
it is certainly serviceable.

The stem of the center buttons is too small, affording too much
slop, so that'll have to be addressed.  There are numerous small
details that need to be improved in the three-D model (Can't type
the digit three as I only mapped the letters!) before I get another
set printed. These would address things that made the assembly
a bit slow.

Main point though: It Works!


 
Title: Re: Re-Create the datahand - first babystep
Post by: regicide on Sun, 16 June 2013, 22:04:12
(Attachment Link)

Beautiful!
Title: Re: Re-Create the datahand - first babystep
Post by: Input Nirvana on Sun, 16 June 2013, 22:28:26
Do you think that this unit may be the only prototype, or you may need a second/third to dial in the quality/engineering issues?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 16 June 2013, 22:47:02
Do you think that this unit may be the only prototype, or you may need a second/third to dial in the quality/engineering issues?

I can work out the center-stem slop on this prototype, and will do so.

I'll then do another rev of the finger assembly before moving on to
the thumb switches. Fortunately, the PCB didn't need any rework this
time, and I have two spare, and the electronics needed to populate
them.
Title: Re: Re-Create the datahand - first babystep
Post by: Input Nirvana on Sun, 16 June 2013, 22:59:49
Do you think that this unit may be the only prototype, or you may need a second/third to dial in the quality/engineering issues?

I can work out the center-stem slop on this prototype, and will do so.

I'll then do another rev of the finger assembly before moving on to
the thumb switches. Fortunately, the PCB didn't need any rework this
time, and I have two spare, and the electronics needed to populate
them.

Oustanding! So that tells me quite a bit about how close you are on this prototype, a great start.
Title: Re: Re-Create the datahand - first babystep
Post by: metalliqaz on Sun, 16 June 2013, 23:33:55
epic
Title: Re: Re-Create the datahand - first babystep
Post by: eviltobz on Mon, 17 June 2013, 07:43:42
just want to add some more appreciation to this thread :) it's looking awesome! fingers crossed that between you and dox there'll be something that ends up nice and group-buyable in the not too far and distant future.
Title: Re: Re-Create the datahand - first babystep
Post by: wejn on Tue, 25 June 2013, 04:55:28
There are numerous small
details that need to be improved in the three-D model (Can't type
the digit three as I only mapped the letters!) before I get another
set printed. These would address things that made the assembly
a bit slow.

Main point though: It Works!

Wow, just wow. I don't know what are your plans with this but I'd definitely like to get either sources, parts, or the finished (populated) PCB.

My DH personal is starting to fail after 5+ years of continuous use (some switches are a bit sticky, others double letters from time to time) and I'd love to have a backup 'cos I can't imagine typing without DH anymore.

Not to mention switching to USB (via teensy) would make things much easier.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Tue, 25 June 2013, 05:17:40
I plan to make the sources available. Then all of us datahand users
will have a long-term plan for a lifetime of typing!

You might get some miles out of yours with a cleaning. So far, my
DH misbehaving keys have been fixed by cleaning the infrared
components with a Q-tip or similar.
Title: Re: Re-Create the datahand - first babystep
Post by: wejn on Tue, 25 June 2013, 12:03:34
I'm chuffed to bits to hear that. Man, this is dream come true in the making.

As for cleaning -- ok, will look into that. Thanks for the hint.
Title: Re: Re-Create the datahand - first babystep
Post by: Viz on Tue, 02 July 2013, 20:41:52
very nice. i'm definitely interested in one of these(when it's finished). When do you think it'll be done? and what price will it be at?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Tue, 02 July 2013, 23:17:58
When do you think it'll be done? and what price will it be at?

I hope to have the finger assembly done this summer.
I hope to have the thumb switches figured out before
winter is over.  Perhaps by this time next year all the
pieces will be ready?

Pricing is pretty far out at this point. I could imagine a
simple, cheap case option allowing a cost of less than
$400, particularly if a group buy allows good pricing on
PCBs and electronics.
Title: Re: Re-Create the datahand - first babystep
Post by: korrelate on Tue, 02 July 2013, 23:57:19
Absolutely awesome, inspiring and industrious!! This thread is good reading!
Title: Re: Re-Create the datahand - first babystep
Post by: agodinhost on Wed, 03 July 2013, 07:07:16
Ohhh man
more one project that I would like to build!
GOSH!

Please, could you provide the 3d files?
I saw a teensy at your schematic and other IC - what is that for? (the second IC)
Title: Re: Re-Create the datahand - first babystep
Post by: Tarzan on Wed, 03 July 2013, 07:15:29
This is an absolutely amazing project!  Your updates are the first posts I read when I log into GH.   ;D
Title: Re: Re-Create the datahand - first babystep
Post by: Viz on Wed, 03 July 2013, 12:39:54
When do you think it'll be done? and what price will it be at?

I hope to have the finger assembly done this summer.
I hope to have the thumb switches figured out before
winter is over.  Perhaps by this time next year all the
pieces will be ready?

Pricing is pretty far out at this point. I could imagine a
simple, cheap case option allowing a cost of less than
$400, particularly if a group buy allows good pricing on
PCBs and electronics.

Very nice, and you're doing alot of great work.
You said you would release the source code etc, because I only need the (left and right) finger assemblies. I've got another idea for the thumb buttons. Would it then be possible for me to get the finger assemblies printed when they're done?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Wed, 03 July 2013, 18:27:43
Please, could you provide the 3d files?
Would it then be possible for me to get the finger assemblies printed when they're done?

I'm not yet ready to publish the files, but if you send me a PM, I'll gladly pass on the sources
as they stand. You'll then be able to generate .stl files, and send them to Shapeways or the
3D printer of your choice. I expect to use the GPLv3 or later license.

Just to be clear: I've created the 3D model with OpenSCAD so that 1) anybody can freely
have access to the tools (from Linux and Windows) and 2) the source files for the model are
text CSG. This strongly suggests creating a parameterized model which provides an
opportunity for automatically adjusting the model to suit different 3D printing processes.

Now, I'm not really satisfied the level and quality of my parameterization at this point, but
then I'm new to 3D modeling. I _am_ getting better at it.

I saw a teensy at your schematic and other IC - what is that for? (the second IC)

The 2nd chip is a demux - a 74act238.  It isn't critical to the design/operation, but is a simple
way of expanding I/O a bit.  It's what I use to scan the matrix - 4 output pins of Teensy++ to
scan 7 rows. Could be done directly with the Teensy++, but I wanted to try it out. IIRC
something similar is done in my DataHand.
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Wed, 03 July 2013, 19:38:20
i can take STL, solidworks 13, but not rhino. autocad i would prefer exported to STL at highest res. i can bring it down from there. ideally you give me either STL or .thing, which is the makerware encapsulation of any number of STL files (that is, poly solids) and their position on the build plate (select rep2x as your machine).

i am ready to start printing for real, by the way. my tolerances may vary depending on the weather (quite literally, the heated build plate varies in dimension according to its own whims.. :/)

the numbers i've been throwing around are somewhere around $0.25-0.4/cm3 (although by gram might be easier to deal with..). this is for ABS prints (i've got some weird issue with PLA at the moment..)

ordering is by PM at the moment. we have to work quite closely to get a print out.
Title: Re: Re-Create the datahand - first babystep
Post by: Input Nirvana on Thu, 04 July 2013, 00:08:42
When do you think it'll be done? and what price will it be at?

I hope to have the finger assembly done this summer.
I hope to have the thumb switches figured out before
winter is over.  Perhaps by this time next year all the
pieces will be ready?

Pricing is pretty far out at this point. I could imagine a
simple, cheap case option allowing a cost of less than
$400, particularly if a group buy allows good pricing on
PCBs and electronics.

Very nice, and you're doing alot of great work.
You said you would release the source code etc, because I only need the (left and right) finger assemblies. I've got another idea for the thumb buttons. Would it then be possible for me to get the finger assemblies printed when they're done?

Would it be possible for you to show us your detailed idea for the thumb buttons?
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Thu, 04 July 2013, 00:44:34
pla issues solved if you want it
Title: Re: Re-Create the datahand - first babystep
Post by: Miax on Sun, 07 July 2013, 08:16:23
Sign Me UP!
 
Unbelievable... That's all I can say at the moment as I have hoped/wished to find other Data Hand refugees like me for a long time! I have used Data Hands since 1992, have owned 4 pair of them over time (only 1 pair is still working - barely). Then recently to see a new pair go on auction on Ebay for $2,500 left me feeling like I was doomed!
 
And then my wife finds this thread - Thank You Eileen!!! :)
 
I am a long-time Maker, Internet Technologist, Video Game developer and 3D printing junkie - and I am definitely on-board with remaking the data hand!
 
The best site that shows what I can do in Blender with 3D modelling and with Arduino/ATMega/Rasberry Pi is my Google-Plus profile: https://plus.google.com/u/0/117228107982719398401/posts
 
I have to read through the entire thread here and find out exactly how the electronics were done, and what I can do on the 3 modelling front.
 
Cheers!

Kris
 
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Sun, 07 July 2013, 08:19:50
i can now take SW13, autocad inventor, STL. pick your poison. ABS only. 200 micron res.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 07 July 2013, 20:55:17
Sign Me UP!
 [ ed ... ]  and what I can do on the 3 modelling front.
 

Hi Miax,
You may be the perfect person to create a model for the case!
You already have a datahand to take measurements from...
My one gripe with the datahand case is that the case doesn't allow
the tented, angled, and very close together position that I would like.
So, my design input for the case starts like this:

- OpenSCAD or possibly Blender if it supports model parameterization (I've
read that it can be done) so that anyone can manipulate the model without
needing to purchase software (open to other options if they meet this goal)

- parametric design allowing the basic 3D printing process tolerances
and design parameters to be updated with parameter changes. This should
help those not intimately familiar with 3D modeling tool to adjust the model,
and should allow easier targetting of various 3D printing processes.
model units should be mm if possible. I think that at least the palmrest needs
to be 3D printed to easily get a nice organic shape. Circuit board sizes, palm rest
parameters, lengths of slots and sides, parameters for thumb button openings,
and anything else which should be adjustable should come into the model
through an adjustable parameter.

- develop a simple approach for fixing height/position of the finger assembly
relative to the thumb/palmrest. I am not super sensitive to the exact positioning
of the finger assembly, so I think there is flexibility there. Ideally, this will be
an approach which will be simple to manufacture at our scales here...(i.e. maybe
not the geared sliding infinitely adjustable approach of the original) Maybe just
a way to use a variety of standoff lengths to do some height adjustment, and some
slots for finger-2-palm distance?

- support a threaded insert for mounting like on the original.

- Support for a second threaded insert so that they can be prevented from
spinning on tenting stands.

I think that shapeways' ceramic printing, and mkawa's FDM process are the
two that should be targetted in the initial design.

I suspect that others have input, and hope to hear it. Maybe we can make good
use of laser cut wood or acrylic for part of the case?

Are you interested/willing to have a go at the case design?

Maybe some adjustable palmrest is possible instead of the DataHand S/M/L approach?

I expect to have only 2 PCBs per hand, one for the thumbs, one for fingers, with possibly
leaving the back of the case open, maybe with some strain-relief tie-down points for exiting cables.

Even if you don't want to take this on, please add your comments on how the case should be done.
I'll try to include what I can when I get to that point.

I just moved, so will have limited internet for a few days... I could send sketches then if that
 would be helpful.

Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 07 July 2013, 21:20:30
Anyone have any thoughts for the right open source hardware license for this project?
I just read through the CERN license and it seems like what I have in mind...
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Mon, 08 July 2013, 10:40:13
hey IN, want to write up a geekhack open source license? :D
Title: Re: Re-Create the datahand - first babystep
Post by: Input Nirvana on Mon, 08 July 2013, 20:51:58
Sounds like something that may actually really, truly need to happen.

Fortunately.
Title: Re: Re-Create the datahand - first babystep
Post by: agodinhost on Tue, 09 July 2013, 09:53:37
hey IN, want to write up a geekhack open source license? :D
Why not use one already written?
Title: Re: Re-Create the datahand - first babystep
Post by: Thimplum on Tue, 09 July 2013, 12:11:39
hey IN, want to write up a geekhack open source license? :D
Why not use one already written?

The WTFPL is my favorite.
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Tue, 09 July 2013, 12:36:17
Sounds like something that may actually really, truly need to happen.

Fortunately.
the existing open source hardware licenses are a hodgepodge and don't cover hardware/software combinations... i think this we have something genuine to contribute on a more general scale here.

also that general thing could be named the geekhack general purpose license ad infinitum :D (ggpl lol qq!)
Title: Re: Re-Create the datahand - first babystep
Post by: Thimplum on Wed, 10 July 2013, 08:32:25
Sounds like something that may actually really, truly need to happen.

Fortunately.
the existing open source hardware licenses are a hodgepodge and don't cover hardware/software combinations... i think this we have something genuine to contribute on a more general scale here.

also that general thing could be named the geekhack general purpose license ad infinitum :D (ggpl lol qq!)

The WTFPL is a VERY wide reaching and general license.
Title: Re: Re-Create the datahand - first babystep
Post by: agodinhost on Wed, 10 July 2013, 21:21:16
hey IN, want to write up a geekhack open source license? :D
Why not use one already written?

The WTFPL is my favorite.
I do prefer GPL or LGPL.
http://opensource.org/licenses
Title: Re: Re-Create the datahand - first babystep
Post by: Thimplum on Tue, 16 July 2013, 13:22:12
hey IN, want to write up a geekhack open source license? :D
Why not use one already written?

The WTFPL is my favorite.
I do prefer GPL or LGPL.
http://opensource.org/licenses

Meh. Too much legalese.
Title: Re: Re-Create the datahand - first babystep
Post by: Viz on Thu, 18 July 2013, 07:39:41
I'm more og a BSD man myself.
Anyhow, what i'm actually interested in is; How's the Project going? I see that you've got another man aboard.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Thu, 18 July 2013, 21:57:00
How's the Project going?
Progress has slowed (as expected) for the summer, but I have
made some improvements to the model in the last week. I'm
very happy to have worked out a mechanism for holding the
steel clip for the center button which will make installation
the clip much easier and also improve the feel of the switch.

much work still to do.
Title: Re: Re-Create the datahand - first babystep
Post by: jzpmendoza on Wed, 31 July 2013, 23:39:00
I might actually cry if (when!) you guys achieve this.

qualityOfLife++ if I had a DH to type on. Pain sucks.
Title: Re: Re-Create the datahand - first babystep
Post by: Viz on Sun, 11 August 2013, 19:35:30
could anyone provide me with the measurements of a DH? As-in height, width, depth etc?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 11 August 2013, 21:20:48
could anyone provide me with the measurements of a DH? As-in height, width, depth etc?

width of one hand case is ~6.75", plus a knob which sticks out 1/2" on each side, totalling ~7.75"
depth of one hand case is ~9" at the top, and roughly 8.25" at the bottom - the back being sloped - ignoring the connector and cable, which need at least 1.5" on the left hand.
The height at the front edge of the case is ~1". The height at the back edge of the case is ~2.5"
The high-points of the assembly are the ridge which protects the thumb switches, the inner/upper thumb switch, and the palm rest, all of which seem to protrude ~1" to 1.25" above the plane of the case.

Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Sun, 11 August 2013, 23:30:49
ODD, i am ready to print if you're ready with cad.
Title: Re: Re-Create the datahand - first babystep
Post by: schell on Thu, 15 August 2013, 12:25:25
I can't wait to see how this turns out. I love my datahand and would buy another if it didn't cost ~$2k. I'd love to help in any way I can. I'm a software developer and have some novice experience in hardware.
Title: Re: Re-Create the datahand - first babystep
Post by: Birchlabs on Wed, 21 August 2013, 19:16:54
Hi,

Great to see the work you're all doing here. :)
I'm a DataHand user also (found this thread since it's become high on Google).
If anyone's interested in procuring an original, Posturite is a company that were able to hunt two down for me in the past couple years.
Incidentally, I was told that the one they found last time was one of five left in the world (that was in August 2012 or similar). So they really are an endangered species at this point!

Have you considered expanding this into a Kickstarter campaign to fill the world with DataHands?

Also, how hard would it be for a hobbyist to make one of these with the source? I know someone with a RepRap 3D printer; is this accurate enough, or do you need something more serious?

In case it helps, there is another Datahand thread I recall from this forum. It provides a lot of detail on the electronics, so if you didn't have this information already, maybe it'll save you some time:
http://geekhack.org/index.php?topic=12212.0

Keep at it!

-Alex
Title: Re: Re-Create the datahand - first babystep
Post by: claussen on Wed, 28 August 2013, 10:29:39
Hi awesome datahand-loving people!
I posted on reddit last night about creating a grippable version of a DH keyboard and some kind folks pointed me here.
I've thought about this project for a while, as a DH user of about 10 years who is quite dependent and also bummed by the current ebay prices and the foibles of the system as-built.

I had NO idea that geekhack.org existed -- incredibly excited to see this explosion of making in the last five years!

I'm a consumer electronics guy by trade, located in San Francisco, have done high-volume input device development (the Zunepad was my baby, along with Flip and many others),  and have a variety of interesting industry resources available to me for doing development of mechanical and electrical things along these lines.

I thought I'd contribute a few of my experiences with DH here as input for what could be later mods -- I'd love to try out some of these:

The main gripes I'd like to fix (some of which you're already addressing):

* Cable messes.  The units are frustratingly stiff relative to one another.
* Mousing.  That trackpoint hack pointed out above is excellent!
* Wireless.  Duh.
* Portability.  I travel for work, and the hugeness of the system is really impractical for that.  I just suffer through.
* Bulk. 
* Grippability.  A variant which is monolithic and more game-controller-shaped could be really nice -- less bulky, usable on, say, an airplane, etc.
* Pronation.  They went partway by tilting the units, but natural posture is not pronated at all.

Anyway, I may be able to provide some perspective or useful contacts on volume manufacturing approaches -- injection molding, miniaturization on the electronic end, etc.

Very interested to see where this goes and try to explore a "grippable" bluetooth variant.

Chuffed.
Title: Re: Re-Create the datahand - first babystep
Post by: yasuo on Wed, 28 August 2013, 10:32:36
what good/suitable microswitch to make datahand custom?
Title: Re: Re-Create the datahand - first babystep
Post by: claussen on Wed, 28 August 2013, 10:34:44
The case is another weak point of the entire system.

All that bulk just hides the adjustment mechanisms, which made sense for a mass-produced device, but none at all for a single user.  The tilt legs break and the rubber pads fall off over time.

Getting rid of most of that stuff and replacing the adjustment with 3D-printed shims/wedges would be a much, much cleaner solution in the end.
Title: Re: Re-Create the datahand - first babystep
Post by: Turbinia on Sat, 31 August 2013, 12:45:30
Very interested in this effort. I looked at recreating the datahand in a more crude way with microswitches in the past.

For ideas on how to integrate adjustment into the design I would look at the R.A.T. 7 gaming mouse. It is both compact and simple in design and goes along with what you described.

For the thumb cluster the key you press going up always seemed quite small and I have seen that it breaks quite often, so something different there would be good.

If help is needed designing a case, I would be willing. I work with Blender 3D pretty much exclusively, can do Solid Works and ProE as well. Something I have had printed by Shapeways https://dl.dropboxusercontent.com/u/4966230/DeathStriker3DPrinted002.png (https://dl.dropboxusercontent.com/u/4966230/DeathStriker3DPrinted002.png).

Some things that may help with the design...

Statistics of natural hand movements:
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2636901/ (http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2636901/)

Easier to read hand size statistics than most:
http://usability.gtri.gatech.edu/eou_info/hand_anthro.php (http://usability.gtri.gatech.edu/eou_info/hand_anthro.php)
Title: Re: Re-Create the datahand - first babystep
Post by: Thimplum on Sat, 31 August 2013, 16:56:26
what good/suitable microswitch to make datahand custom?


Something with low travel, like a something from the Cherry dg23 series...
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sat, 31 August 2013, 20:19:33
For ideas on how to integrate adjustment into the design I would look at the R.A.T. 7 gaming mouse. It is both compact and simple in design and goes along with what you described.

For the thumb cluster the key you press going up always seemed quite small and I have seen that it breaks quite often, so something different there would be good.

If help is needed designing a case, I would be willing. I work with Blender 3D pretty much exclusively, can do Solid Works and ProE as well.

--- Ed: additional awesome links and such removed - please refer to original post ---

I think it would be fantastic to create an adjustable case where you could perfectly suit the
size and shape of the palm support to your own hand with several screws. If the case design
was that flexible, then it doesn't seem as necessary for it to be parametric model, and Blender
would be perfect.

On the other hand, a very simple case would suit me just fine.

I recall receiving an updated thumb in&up key along with a mention of it being a more robust design.
I do not travel with my datahands and have not had any breakage so far... Other than being possibly
delicate, they seem very serviceable to me.  Do you find that the size needs to change or just that
they should be build a bit more robust?

That hand size statistics page is interesting. Apparently I have a rather wide hand, though I'm not 100%
sure how exactly they measure...

Another member seems likely to be starting some work on a case design.  If your offer is serious,
then we should do some PMs amongst the three of us and make sure that efforts aren't being duplicated.

On a related note, I expect to be getting back to this project in another couple weeks.
Title: Re: Re-Create the datahand - first babystep
Post by: gbjk on Mon, 30 September 2013, 05:24:32
OldDataHands,

Just another thumbs up for this.

I've been a datahand user for about 4 years now, and I'm incredibly reliant upon it.

I've had a few bad hiccups when I've worried that it's become unstable,
and the last of those was 9 months ago, and was resolved by gluing back down the mounting for the thumb module, which prevented the space key going haywire every now and then.

I'm very glad to see someone is on the job of reproducing the datahand,
especially since datahand.com just recently disappeared, pretty much putting the final nail in the coffin of any hopes of a commercial resurgence.

Very impressed with your progress so far, and will watch eagerly to see how you get on.

gbjk
Title: Re: Re-Create the datahand - first babystep
Post by: Turbinia on Mon, 30 September 2013, 20:24:45
I have been working on the case design with OldDataHands and thought I would share where I am at now. The palm can be moved back to front 3cm, has ~2cm in hight adjustment. The whole thing can be tilted about 10 degrees and pronated 15. The thumb can be angled between 20 and more than is comfortable as well as being moved 3cm front to back and adjusting length by 1cm. The adjustment is there to fit 90% of hand sizes. The palm rest sizing I am going to base on my logitech. the track point is about 2cm up and 3cm north of the center of the index finger keyswitch. It can be put north of the middle finger as well. I am also going to do some work with the trackpoint code once my hardware gets in. Thumb keys are just representative. Things will probably change a bit as I get more specific with hardware and OldDataHands makes changes to the PCB layout and switches.

The whole idea is to be compact and minimalist while still being true to the ergonomics of the datahand and retaining a robustness.

https://dl.dropboxusercontent.com/u/4966230/CaseConcept035.png (https://dl.dropboxusercontent.com/u/4966230/CaseConcept035.png)
https://dl.dropboxusercontent.com/u/4966230/CaseConcept036.png (https://dl.dropboxusercontent.com/u/4966230/CaseConcept036.png)
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Tue, 01 October 2013, 00:08:31
it will be easier to get production and prototyping going if you keep manufacturability in mind as you design your solids. injection molding tooling is out of hte question, and high end FDM and sintering is on the order or dollars per cm3. so, my suggestion is to design for the bounding box of common desktop extrusion printers like my rep2x. so, things to watch out for are the big one piece panel that surrounds the finger buttons. that piece will need to be broken up eventually into a couple of smaller interlocking or easily gluable pieces. simularly, the palmrest may very well push the bounds of my box, and it looks like you've planned for a flat plate under the whole thing. flat plates aren't bad because they can be lasered acrylic, but if so, they need either mounting points to interlock with the rest of the assembly or they need to have fastener holes; in this case probably countersunk from the bottom with threading printed into the upper chassis.

while it's kind of a second order concern, the earlier you think about DFM, generally the easier it will be to get to prototyping and production. it may not seem like it because my printer has been down so often recently, but printing is actually really cheap, and quality is high when things are dialed in mechanically. it would be awesome if we could generally offer this case design and driving electromechanical bits in some quantity. super excited, but all it takes is a few oversights to make production really difficult.

if yoiu look at the ergodox for example, dox designed a beautiful case, but targeted shapeways production, which is way more than the market really wanted to pay. hence, the first adopters ended up with a separately DFM case that layers cut acrylic. not as optimal as dox's original vision, but better than nothing. i was finally able to take a good long look at printing dox's case, and some small DFM changes would make it extremely easy and sturdy to print via FFM. unfortunately, i don't have access to the original solid files so i can't really make them.. and so on.

note: the alps strain-gauge-based trackpoint mechanism is pretty much unattainable*. you might want to plan for a different pointing mechanism.

*it's not strictly unobtainable, but MOQs and cost per unit make it basically impossible to obtain in any reasonable quantity for any reasonable price, unfortunately. i've looked at this a _lot_, and unfortunately it's a rathole not really worth exploring further :(
Title: Re: Re-Create the datahand - first babystep
Post by: Turbinia on Tue, 01 October 2013, 10:10:03
The entire assembled datahand would fit on the print bed of the Replicator2x. It measures about 21cm by 12.5cm. It has been designed with machinability fully in mind. Currently it is structured such that it could be made through injection moulding, 3d printing or subtractive processes (milling). I do know a thing or two about machining, 3d modeling/CAD and have had a few things 3d printed through Shapeways SLS. There is no reasonable expectation for this to be comparable in cost to a flat acrylic case, this is markedly more complex. People are spending $150+ for alloy cases, so my current estimates of ~$200 for prototyping cases by SLS are not unreasonable. You seem to assume I have missed some very basic things like putting holes in a plate, I assure you I know how to do that...

I will be using the EasyPoint breakout board from SparkFun to develop the trackpoint. It is pretty much the only reliable source for a high quality pointing device in any volume.
Title: Re: Re-Create the datahand - first babystep
Post by: daveola on Wed, 02 October 2013, 04:14:40
100% thumbs up!

I would love to see a replacement for Datahands, I know mine aren't going to live forever.

I would especially like to see a more portable set with a more reasonable case.

Thanks for all your work on this.

And to the comment about "only five left in the world" - perhaps that was the last five available for sale, but certainly not the only five in the world, unless I own 40% of all the Datahand keyboards.  :)

Incidentally, for datahand enthusiasts, note the keyboard that Jodie Foster uses to control the spaceship at the end of the movie Contact.
Title: Re: Re-Create the datahand - first babystep
Post by: gbjk on Wed, 02 October 2013, 04:31:42
Forgot to mention that the idea of an integrated trackpoint has always appealed to me.

However I'm sure that you can't reach it "above" the keys, because you'd have to lift your hand off the palm rest.

For me, though, if the trackpoint(s) were at the front of the palm rest, facing forwards, then I'd be able to use them very easily. That area of the palm rest definitely isn't used.
I don't know if that applies to everyone. In fact, separate mouse mouse buttons to the left and right of a trackpoint would allow us to avoid chording to use the mouse.
I'd definitely want a right hand trackpoint, rather than left hand, personally.
I've snapped a picture to illustrate both positions for me.
[attach=1]
[attach=2]

Don't want to hijack this into a "datahand" thread, but on the subject of cases,
I've always used a foam lined flight case, for example:

http://cpc.farnell.com/1/1/22389-flight-case-universal-foam-lined-ac-accessory-case-american-audio.html

gbjk
Title: Re: Re-Create the datahand - first babystep
Post by: eviltobz on Wed, 02 October 2013, 05:52:42
given the modularish nature of how the case is looking, it might be feasible for a removable mousey thing that could be located on either hand, with some sort of blanking plate stuff for the other side if there was desire to cater to lefties as well as us normal right-handed folk ;)
Title: Re: Re-Create the datahand - first babystep
Post by: Turbinia on Wed, 02 October 2013, 13:05:10
Either hand is for sure. Current design accounts for either index or middle finger mousing (middle finger mount not modeled yet).

To test that the reach of 2cm up from the center of the keyswitch to 3cm north would not move the palm I found a book that was 2cm tall, put my finger at the edge of the book with my palm on a mouse and extended 2.5cm out on the top of the book (2.5 instead of 3 for radius of finger). I was able to do this reach comfortably without lifting my palm off the mouse. So if you can conduct a similar test you may see that that is actually a natural position, the original data hand has a much larger gap between the north keyswitch and the case than this design, so that could be part of your concern.

gbjk, OldDataHands mentioned that as one of the alternate placements for the trackpoint. It could likely only be done for the middle finger and not the index finger. The PCB size for the easypoint joystick is .81"x.72" so that limits the positioning. That position on the palm at least for me feels more stressful than extended with having to curl up the hand.

Another alternate positioning could be angled at 45 degrees, but in the same place that I showed. This would mean that the mousing is done more with the tip than the pad of the finger and doesn't move things much closer to the keyswitch.

Have exactly what your talking about, eviltobz, in mind, https://dl.dropboxusercontent.com/u/4966230/CaseConcept032.png (https://dl.dropboxusercontent.com/u/4966230/CaseConcept032.png) Also the idea being that you could have a fine and coarse mouse were you to choose to have two trackpoints. Also fyi the easypoint joystick does have a button as well, so on mouse button can be mapped there. In most cases only one hand will be doing the mousing the layout on the other hand can remain as the standard (or whatever you choose) so you can use the hotkeys you may need. That is something I will definitely use as I do allot of 3D/CAD work. With 50 switches on each hand already it is kind of odd to just add more to that when they are not in use for mousing.

It is awesome to see a bunch of first time GH posters finding their way here. Hopefully this effort will help the Datahand to live on and help the people with RSI who really need this and cant afford the original or are unable to even find one now.
Title: Re: Re-Create the datahand - first babystep
Post by: eviltobz on Thu, 03 October 2013, 05:30:33
...Also the idea being that you could have a fine and coarse mouse were you to choose to have two trackpoints...
I feel the need to quote the film "dude, where's my car" and respond to that kick-arse plan with "Dude! Sweet!" :) i never liked trackpoints much due to them never having the right level of responsiveness, that plan just reeks of awesomeness.

I first heard about the datahand a couple of years back where it was my introduction to the world of properly ergonomic keyboards (as in, not just the microsoft jobbies or whatnot) but the occasional ebay sighting is waaaay too much for me to afford, and it's the sort of thing where you're gonna at least want one at home and one at work. So that led to me finding the kinesis & ergodox, both of which i have and love and are far better than a normal board, but I still have yearnings for the data hand. Seeing the progress in here keeps me excited & hopeful so I wanna say thanks & nice work to all involved :)
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Thu, 03 October 2013, 11:25:29
The entire assembled datahand would fit on the print bed of the Replicator2x. It measures about 21cm by 12.5cm. It has been designed with machinability fully in mind. Currently it is structured such that it could be made through injection moulding, 3d printing or subtractive processes (milling). I do know a thing or two about machining, 3d modeling/CAD and have had a few things 3d printed through Shapeways SLS. There is no reasonable expectation for this to be comparable in cost to a flat acrylic case, this is markedly more complex. People are spending $150+ for alloy cases, so my current estimates of ~$200 for prototyping cases by SLS are not unreasonable. You seem to assume I have missed some very basic things like putting holes in a plate, I assure you I know how to do that...

I will be using the EasyPoint breakout board from SparkFun to develop the trackpoint. It is pretty much the only reliable source for a high quality pointing device in any volume.

The entire assembled datahand would fit on the print bed of the Replicator2x. It measures about 21cm by 12.5cm. It has been designed with machinability fully in mind. Currently it is structured such that it could be made through injection moulding, 3d printing or subtractive processes (milling). I do know a thing or two about machining, 3d modeling/CAD and have had a few things 3d printed through Shapeways SLS. There is no reasonable expectation for this to be comparable in cost to a flat acrylic case, this is markedly more complex. People are spending $150+ for alloy cases, so my current estimates of ~$200 for prototyping cases by SLS are not unreasonable. You seem to assume I have missed some very basic things like putting holes in a plate, I assure you I know how to do that...

I will be using the EasyPoint breakout board from SparkFun to develop the trackpoint. It is pretty much the only reliable source for a high quality pointing device in any volume.

printing out to the corners of any of the replicators significantly reduces your available precision due to the thermal expansion of the aluminum HBP plus the significant manufacturing tolerances (plus heat cycling... don't get me started). it also seriously decreases the yield of the printer. just offhand, i'm guessing that a fairly course print of this object would be about a 6-8 hour job, and a single dumb move by the slicer will destroy the entire print, even if it happens 4-6 hours in. you're likely to get much better results with my bot at least with well planned segmentation of parts. once i'm back up again i would love to start test printing so we can hammer this out. excited!!

injection molding will be 40k in tooling. not going to happen. milling is largely going to be in tooling complexity and potentially the need for a high precision 3-axis to get that palm rest down. if you can get it down to 200 via shapeways and prefer the SLS materials, go for it. i can print for slightly an order of magnitude less than shapeways though, but of course with large caveats that DFM is really the solution to. i'm guessing you're never actually operated or designed for a makerbot before. no worries, almost no one has ;). that's the fun of it!

that sparkfun board is odd. it says hall effect, but there's a linear encoder? interesting... will order one through adafruit with some other junk i need if i can. want to play with one! if it feels enough like a strain gauge that we don't need the columnar strain gauge units, BAM!
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 06 October 2013, 17:30:38
[attach=1]
This is a cutaway view of one of the finger assemblies.
This version is prototype #3, which I just ordered!  Look
for an update in three weeks or so when they've arrived
and I have had a chance to assemble it.

Hopefully this rev improves the feeling of the switches,
making the N/E/S/W switches less mushy, and reducing
the actuation force of the center switch. It should also
address most of the minor assembly irritations I found
on the first batch.
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Sun, 06 October 2013, 17:54:59
for scale, what's the diameter of that big button top? that is very complex, and i wonder.. it may be that the makerbot can only make the outer shell to reasonable precision anyway.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 06 October 2013, 18:03:53
for scale, what's the diameter of that big button top? that is very complex, and i wonder.. it may be that the makerbot can only make the outer shell to reasonable precision anyway.

That center button has a diameter of 0.6 inches, or 15.24mm,
For the center button, for the carrier, and for each of the side keys
I am depending upon the flexibility of nylon to allow the magnets,
the opto components, and the central metal clip to snap-in and
be retained.  The model for this would have to change in meaningful
ways in order to be made of an inflexible material.  The good news
is that shapeways only wants ~$44 for printing the parts for the
finger switches!
 
Title: Re: Re-Create the datahand - first babystep
Post by: mkawa on Sun, 06 October 2013, 21:57:34
yes, there are some flexible materials that can be extruded. taulman nylon is the primary once, but MBI just released one that is also quite nice. however, the combination of special filament costs and the need for serious toierances on these parts probably means that most of the really small assembly parts should be SLA'd, and then things like the outside cylinder and the button extruded.

i'm starting to get really excited. if we can make this work it's going to open a lot of doors :D. the cm3 on the springs is really really tiny, and perfect for having lots made by shapeways, then combined with the lower tolerance boring solids that extrusion is really good at.

with the extruder, we should be able to reduce the cost per full assembly to somewhere around 50 per full UNIT
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 06 October 2013, 22:16:45
Cool!  Just to be clear, it's ~$44 for the finger switches for one hand from shapeways.
Title: Re: Re-Create the datahand - first babystep
Post by: arisian on Thu, 10 October 2013, 20:36:56
Wow, this project looks amazing!  I count myself among the long-time datahand users who have been getting increasingly worried over the past few years about what I'll do whenever my datahand gives out (may it last forever), so if you guys can figure out a way to build these things for a non-astronomical price, you can count me as interested in the possibility of a group-buy.

I don't in any way want to hijack or derail the thread here, but I figured I'd give my two cents as a datahand user about the changes to the original design I've always wanted to make (and might have attempted, if I'd had the money to buy a couple of spare units to mess around with).  I've always thought the mappings were less than ideal, which is partly because I've got a Personal and not a Pro, but the tri-modal system they've got in place doesn't thrill me, and the fact that there are several keys that just send shifted versions of other keys makes software-remapping a nuisance (I learned to touch-type Dvorak, so I software-map my datahands to a Dvorak-like layout, which results in several keys being useless, like the one that gives a double-quote in the QWERTY mapping, and now produces a '{' in text mode).  Having the ability to hack the firmware of a PIC to customize layouts would be great, especially given the ability to define our own modes and chorded keystrokes.  I also always felt like the thumbs were under-used; the spacebar is maybe worthy of being the only key for the right thumb given how often it is used, but the return key doesn't deserve exclusive use of the left thumb's most ergonomic movement.  Particularly given that the thumbs are the strongest fingers, adding a couple of smaller buttons under one or both thumbs might be a good idea (much like a number of the other ergonomic keyboard alternatives have done).

But the single biggest flaw has always been the mouse functionality; the built in system is simply useless.  Not only is it totally inadequate in terms of speed and precision, but it also requires a mode shift, which makes it nearly impossible to do anything that requires a mouse and a keyboard at the same time.  I use a trackball, but doing so means that either the right datahand unit (I'm right handed) or the trackball can be in a good ergonomic position; not both.  I vary which one is in the good position depending on whether I'm doing primarily typing or primarily mousing, but it's hardly ideal.  It also means that when I'm using the mouse, I only have access to half the keyboard.  This is a problem for a lot of applications, including games, but also including graphical design applications; trying to learn to use Blender was nearly impossible.  I actually had to get a flat QWERTY keyboard to lay on my desk and hen-peck with my left hand to use the basic interface; I gave up after about a week, which is too bad, as I'd love to learn modelling.  I would imagine that other modelling and CAD programs would run into the same problem.

Everyone here seems to be working on the assumption that a trackpoint is the only option for improving the mouse functionality, but as a fan of trackballs, I've long thought that what I'd really like would be to simply have a small trackball (like the thumb-ball of the Logitech M570, for example) in the right thumb-well of the datahand unit.  In the original datahand design, you would probably need to remove both the number-mode switch and the spacebar switch, but I think that given the ability to change the design a bit the spacebar should be salvageable (just by moving and/or reshaping it a bit).  Combined with the ability to re-map things to our hearts content in firmware, I think this would result in better mouse-performance for the unit as a whole.  Not only do trackballs have an advantage on speed and precision, but it should be pretty easy to have a key that, when pressed, caused the trackball to function as a scroll wheel (again, this is just some programming on the PIC to send the right scroll-wheel signals, since I'm pretty sure that scroll up/down are functionally just button 4 and 5 on most mice; it would just be a matter of deciding how many scroll-lines you map to a full rotation of the ball).  If we re-jiger the keymaping a bit, we could probably even integrate three mouse buttons plus a "scroll" button into text-mode, so you would be able to actually use the mouse and be able to type all the basic letters at the same time.

Maybe other people really like trackpoints a lot, or aren't fans of trackballs, so I don't know how popular this idea is, but it's the one thing I've always, always longed to do to my own datahand (and probably would have attempted years ago if I could afford to buy a spare unit to experiment on).  To me, the trackpoint would be essentially an improved version of the existing system; it would have the same basic flaws, just to a lesser extent.  Introducing a trackball would require a larger re-design of the thumb unit, but would give a much better mouse-keyboard combo experience.  There might still be applications where extreme precision is needed that a standalone finger trackball (e.g. L-track or Trackman Optical) would be better suited for, but I think an integrated thumb-trackball would perform much better in general use than a trackpoint for a number of usecases.  For better speed, better precision, and scrolling, one thumb key would be a small price to pay.  How hard this would be to do on the technical side, I don't really know; I'm really a software guy.  I can do basic soldering, but beyond that I don't really have much hardware experience, and I've never done any CAD/CAM stuff.  If you get to the programming phase and need help writing code for the PIC I'd be happy to offer my assistance, but I don't know if you'll actually need it.

Anyway, I will continue to watch your progress with quiet enthusiasm; keep up the good work, and keep us all posted on how it's going!
Title: Re: Re-Create the datahand - first babystep
Post by: konz on Fri, 11 October 2013, 07:49:11
(Attachment Link)
This is a cutaway view of one of the finger assemblies.

Can this unit be disassembled, e.g. for cleaning?  (Don't want to add to
your work load, but I've haven't dared to remove the keys from
my Datahand, and spilling tea into it required a longish session
with a small paintbrush and some water.)
Title: Re: Re-Create the datahand - first babystep
Post by: konz on Fri, 11 October 2013, 07:57:32
But the single biggest flaw has always been the mouse functionality; the built in system is simply useless. 
[...]
Everyone here seems to be working on the assumption that a trackpoint is the only option for improving the mouse [...]
Maybe other people really like trackpoints a lot, or aren't fans of trackballs, so I don't know how popular this idea is, but it's the one thing I've always, always longed to do to my own datahand (and probably would have attempted years ago if I could afford to buy a spare unit to experiment on).

I can use the mouse functionality for 80% of my mousing tasks.
On the other hand, I tend to prefer keyboard shortcuts.

I would prefer the trackpoint since it requires much less space (but don't really
require it), and would rather have the thumb keys remain as they are.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Fri, 11 October 2013, 19:12:04
I use the Data hand mouse depending on the task. Perhaps 20% of the time I use the DH mouse,  and I find it crude but useful. My intention is to design a very similar set of thumb switches to the original as I am quite content with the switch layout. In particular I want to maintain the limited thumb travel required in the original. For this reason I am not considering a dramatically different thumb switch configuration.

If someone comes up with an alternative thumb assembly which is physically compatible with the case constraints then I would be willing to support it with a combo or alternate thumb PCB layout.

In other news,  shapeways rejected my model due to something I haven't yet tried to identify. It means a two or three week delay which is a drag.

Regarding cleaning: my clone carries forward the same foibles as the original.  It'll be possible to remove the north and south keys,  but the interior east and west keys will prevent each other from being removed. once soldered in. The good news is that for $15 you should be able to print a new finger assembly and replace it if it ever dies. That will require soldering though.

I'll post another update once I fix the model. Might be two weeks as I'm headed out of town.
Title: Re: Re-Create the datahand - first babystep
Post by: RightOpp on Mon, 14 October 2013, 05:14:42
Hi, As a datahand user. I'd love to help support development of a new prototype. Many things could be improved including weight and a slimmer profile. I'd be happy to help fund the project. Please let me know. Datahand is dead and buried. I've stopped hoping!
Title: Re: Re-Create the datahand - first babystep
Post by: konz on Tue, 15 October 2013, 05:47:03
Regarding cleaning: my clone carries forward the same foibles as the original.  It'll be possible to remove the north and south keys,  but the interior east and west keys will prevent each other from being removed. once soldered in. The good news is that for $15 you should be able to print a new finger assembly and replace it if it ever dies. That will require soldering though.

The biggest nuisance for me is the sensitivity to ambient light.  I just had to adjust the shutters because the (autumn) sun shone on a thin cloud layer, despite sitting about 4 m from the windows.

Is there any way of improving this issue?  E.g. using a shroud around the photo diodes or a different wavelength of light?
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Tue, 15 October 2013, 09:08:38
Is there any way of improving this issue?  E.g. using a shroud around the photo diodes or a different wavelength of light?

3D printing allows some things which are
not achievable with injection molding.
Where on the original the eye of the
phototransistor slides down a slot,
exposing its top side to the room, my
design has a small round window which
the eye snaps into and which serves to
shield the eye from the room. The whole
transistor also snaps into a shroud at the same time to limit ingress of light through the top of the transistor case. I expect this
to be a marked improvement, but have no
data to back that up.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Tue, 15 October 2013, 11:01:46
Many things could be improved including weight and a slimmer profile.
So do you think it weighs too much, or too little?
Turbinia's case design does reduce the overall size,
Title: Re: Re-Create the datahand - first babystep
Post by: Turbinia on Wed, 16 October 2013, 15:20:54
One thing that works as a decent filter is exposed 35mm film. However no point in getting fancy if OldDataHands design works without it.

Weight is easy to add. Not sure how much the original or this version will be though so can't really give you a figure.

As an update on the EasyPoint, I got all the stuff and it is working, sort of. I just loaded it up with a Teensyduino version of code and it initializes as well as detects the button. It does not however seem to be able to get the interrupt or x/y read right so I will be rewriting in C maybe this weekend. Hopefully that will sort it.
Title: Re: Re-Create the datahand - first babystep
Post by: konz on Thu, 24 October 2013, 02:01:23
Is there any way of improving this issue?  E.g. using a shroud around the photo diodes or a different wavelength of light?

3D printing allows some things which are
not achievable with injection molding.
Where on the original the eye of the
phototransistor slides down a slot,
exposing its top side to the room, my
design has a small round window which
the eye snaps into and which serves to
shield the eye from the room. The whole
transistor also snaps into a shroud at the same time to limit ingress of light through the top of the transistor case. I expect this
to be a marked improvement, but have no
data to back that up.

Very impressive -- thanks!
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 03 November 2013, 23:44:58
Just a minor update: I've received 3rd prototype finger switches, but
have not yet assembled them. Shapeways didn't quite get the job
printed correctly so I'm waiting for a few pieces to be re-printed.

In the meantime I'm working on an updated schematic and PCB layout.
This time the target is to have the same PCB support both the left and
the right hand fingers. Also included in the new circuit:
- The same TRRS connector for connecting the halves as the ErgoDox.
- Support the EasyPoint (or a PSP joystick) as a trackpoint alternative.
- Mounting holes for M3 mounting screws.
- cutaway to support mounting of the thumb PCB in an appropriate spot.

For the curious: Here's the schematic - done in kicad this time:
[attach=1]

It is a bummer that the EasyPoint seems to have been discontinued, but
I haven't found a better looking alternative, and will try to make it work.
Turbinia is ahead of me on that front - already trying to get data out of one.
Title: Re: Re-Create the datahand - first babystep
Post by: schell on Mon, 04 November 2013, 11:57:53
Thanks for the update! I love to see the progress on this project.
Title: Re: Re-Create the datahand - first babystep
Post by: eviltobz on Mon, 04 November 2013, 12:07:48
psp joystick? are they easy/cheap to come by from spares dealers then? personally i think that one of them would soundly kick the arse of any of the laptop nub thingies that i've used (not that i've used one for years now mind) so it sounds good to me :)
Title: Re: Re-Create the datahand - first babystep
Post by: tufty on Mon, 04 November 2013, 12:21:18
psp joystick? are they easy/cheap to come by from spares dealers then? personally i think that one of them would soundly kick the arse of any of the laptop nub thingies that i've used (not that i've used one for years now mind) so it sounds good to me :)
2-3 bucks on ebay, usually with free shipping and a **** quality screwdriver.  For example, here (http://www.ebay.com/itm/3D-Analog-Joystick-Stick-Button-Replacement-Repair-Parts-for-Sony-PSP-1000-1001-/310562225598?pt=US_Video_Gaming_Replacement_Parts_Tools&hash=item484ef37dbe).
Title: Re: Re-Create the datahand - first babystep
Post by: suka on Mon, 04 November 2013, 13:23:08
psp joystick? are they easy/cheap to come by from spares dealers then? personally i think that one of them would soundly kick the arse of any of the laptop nub thingies that i've used
Readily available, cheap and easy to use - but utterly useless as a trackpoint replacement in my opinion : hysteresis, high forces and lack of accuracy made it a pain to use for exact and fast pointer movement. Could be that some more optimization to the algorithms and filters could have improved it, but real trackpoints are so much simpler to use.

I ended up using it as a minimal footprint 8 way layer and modifier switch in the beginning, but found the thumb position where I had placed it awkward after a while maybe something to reconsider in a better spot.
Title: Re: Re-Create the datahand - first babystep
Post by: eviltobz on Mon, 04 November 2013, 13:36:59
hmmm, well obviously you've prior experience with one, so i'll bow to your judgement. but like you say, mayhap different code would handle it better. i'd only see such a thing as being for occasional, simple use though, clicking ok buttons in a pop-up and the like without taking hands off the keyboard, i can't get away from the mouse for anything more than trivial pointer usage, nothing else feels quite right to me.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Thu, 07 November 2013, 21:01:54
[attach=1]
[attach=2]

Preliminary board shape and part positions.
I've the Teensy2.0 on the left hand, with the I/O
expander on the right. An Easypoint should
be usable on either side, though some of the
optional I/O will only be connected on the
Teensy side. Also, analog joystick support
is of course only on the Teensy side (which
could be either, really...)

Perhaps in a few weeks I'll have the routing
completed.  At this size OSHPark wants ~$77
for the 3 PCBs. I don't plan to squeeze it any
further.
Title: Re: Re-Create the datahand - first babystep
Post by: wejn on Sat, 09 November 2013, 10:34:54
Oh man, that's great news.

And I gotta say I'm holding my breath here since June when I discovered this thread. :-)

Anyway, count me in if there's anything I could do to help  (dunno what as I'm app/backend programmer but saying it anyway).
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Thu, 14 November 2013, 23:51:16
Board layout is completed.  Now I need to get some prices from Seeed
since the overlapped Top+Bottom TRRS connector has overlapped drills
which OSHPark says is a no-go for their process.
[attach=1]

In other news, Shapeways finally put a re-print of my job into the queue.
This is way beyond what is required since the job consists of some 33 pieces,
of which I needed 3. In any case though, I'm glad that I didn't have to fight
with them about it, glad that the replacements are in the queue, and excited
to receive them. 

Now I need to bust out the bench shear and make some steel clips so that I
can fully assemble prototype #3!
Title: Re: Re-Create the datahand - first babystep
Post by: soliton on Sun, 24 November 2013, 13:15:48
hello,
i am extremely interested in this project, but mostly from the "i want to have one" point of view.
will you please inform me as soon as there is a kickstarter or other crowdfunding action going on?
thank you very much and good luck
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Mon, 25 November 2013, 18:58:58
[attach=1]
PCBs arrived today!

True to their word, OSHPark refused to drill the overlapped drills
in the TRRS connector (J5) footprint but I don't think it'll cause a problem.

I've still a bit of software work to finish before I can really try out the
I/O expander I2C link, or the easypoint link, but having the hardware
will provide even more motivation.

Pics once I get it assembled (even partway).
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Tue, 26 November 2013, 08:51:35
[attach=1]
everything going well so far. will apply power
after some short circuit testing tonight.
Title: Re: Re-Create the datahand - first babystep
Post by: CPTBadAss on Tue, 26 November 2013, 08:56:45
That's hot. Glad to see this project is still chugging along, it's by far the weirdest input device I've seen but that's what makes it interesting to me :D.

Can you explain a little as to what testing you're doing?

Edit: I'm the epitome of a mechanical engineer (I'm horrible at code and anything electrical) so I'm trying to learn more about the electrical side of things and I'm using keyboards as my gateway ^__^.
Title: Re: Re-Create the datahand - first babystep
Post by: regack on Tue, 26 November 2013, 11:07:09
That's hot. Glad to see this project is still chugging along, it's by far the weirdest input device I've seen but that's what makes it interesting to me :D.

Can you explain a little as to what testing you're doing?

Edit: I'm the epitome of a mechanical engineer (I'm horrible at code and anything electrical) so I'm trying to learn more about the electrical side of things and I'm using keyboards as my gateway ^__^.

This is probably a great one then, since recreating the mechanism is sort of sort of half mechanical, half electrical...

Anyway, I'm excited to see even more progress. 
Title: Re: Re-Create the datahand - first babystep
Post by: agodinhost on Tue, 26 November 2013, 14:27:54
awesome work man!
what you think about a GB of your PCB?
doing so we could help you with ideas ...

I'm really interested into this project and I bet that it could help you a lot to speed up the firmware development.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Tue, 26 November 2013, 18:24:51
Can you explain a little as to what testing you're doing?
I'm going to go at it with a multimeter and make certain that there are no hidden solder bridges
between pins and under SMD resistors and caps so that I don't fry anything when I apply power.
Everything looks clean, but I want certainty.

what you think about a GB of your PCB?
doing so we could help you with ideas ...

I'm really interested into this project and I bet that it could help you a lot to speed up the firmware development.

I would welcome any help. Anyone willing to put one of these together at this point can PM me and I will
provide the design files or coordinate a buy depending upon the level of interest.

In my imagination I will be turning on the LEDs controlled by the I/O expander tonight... but I have a good imagination.

 



Title: Re: Re-Create the datahand - first babystep
Post by: regack on Tue, 26 November 2013, 19:50:22

I would welcome any help. Anyone willing to put one of these together at this point can PM me and I will
provide the design files or coordinate a buy depending upon the level of interest.


If I didn't already have 5 projects going I would jump all over this...

Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Tue, 26 November 2013, 22:29:17
My I2C link is working! I have control over the status
LEDs on both the left and right finger PCBs!
Can't express how geeked and satisfied I am right now.

So far I've found only minor errors on the PCB, the
circuit seems to be working, the software has been close,
assembly has gone smooth, my ISR-driven I2C driver is
working, and it is almost a holiday.

I should buy a lotto ticket!

I'll work on mounting up the switches starting the first
week of December.

WooHoo!

some crappy stills of various LEDs all aglow:
[attach=1]
[attach=2]
[attach=3]
Title: Re: Re-Create the datahand - first babystep
Post by: metalliqaz on Tue, 26 November 2013, 22:35:10
Looking good.  Looking real good.  Legend in the making
Title: Re: Re-Create the datahand - first babystep
Post by: Input Nirvana on Tue, 26 November 2013, 23:27:18
Nice this has continued and that interest has grown. I'm hoping to be able to jump in a bit myself by spring as improved life changes allow.

Couple quick thoughts:
Any improvements to the original Datahand would really fuel any Datahanders into purchases. There are many existing users and many that need/will need but don't have.
Datahand mouse is weak. Pretty much any improvement is a drastic move in a positive direction.
Some good thoughts about using thumbs more. I absolutely agree.
As far as programmability, I think that would allow the new unit to be more easily adapted and could be crucial to filling a void Datahand did not fill.
Title: Re: Re-Create the datahand - first babystep
Post by: eviltobz on Wed, 27 November 2013, 02:56:47
This project is continuing to keep me excited :) Nice work ODH, I'm eagerly looking forwards to the next instalment now.
Title: Re: Re-Create the datahand - first babystep
Post by: agodinhost on Wed, 27 November 2013, 04:54:02

I would welcome any help. Anyone willing to put one of these together at this point can PM me and I will
provide the design files or coordinate a buy depending upon the level of interest.


If I didn't already have 5 projects going I would jump all over this...
Yup, I'm at the same page man - however most of my projects are kinda sleeping awaiting for the GH60 or stabs.
This project deserves a high priority - sucking awesome!
Title: Re: Re-Create the datahand - first babystep
Post by: Baughn on Wed, 04 December 2013, 10:51:59
Oh, my.

I was thinking of doing something like this, but I'd have needed to learn everything from scratch. You look like you've got it covered.  :D

I'll definitely be watching, hoping for a Kickstarter at some point.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Sun, 08 December 2013, 23:49:32
Just a minor update - managed to get a single finger
assembly assembled today. The improved 3D model
(3rd revision) is dramatically better all around.
Assembly was much easier, particularly for the center
pushbutton - getting the metal clip in place was a
matter of just a few seconds rather than a battle of 5
minutes fiddling with these small parts. Also, the
problem I had in the second model of an internal part
not really wanting to be inserted is corrected - went
together beautifully.

Feel-wise things are also very-much improved. The
actuation force is in the right neighborhood without
much experimentation, and the release is very
consistent for each of the switches, with the N/E/S/W
switches showing the biggest improvement here, as
before they were rather mushy...

Perhaps the most offensive thing from the 1st and
2nd prototypes was the wobbly feel of the center
button in its home position. This is significantly
improved, and I think acceptable now.

I'm still waiting on the re-print from Shapeways that
has been in the queue now for 3+ weeks... I'm now
also waiting on the print of the parts for the right
side so that I can complete assembly.

For the moment I'll be able to assemble 15 switches
(3 fingers) and test on the I2C I/O expander side -
perhaps this week.

Anxious to get this part finalized so that I can move
on to the thumb switches - though I've already got
40 switches for just fingers! as many as the SmallFry KB!

Title: Re: Re-Create the datahand - first babystep
Post by: agodinhost on Mon, 09 December 2013, 16:25:40
pictures???? please ...
Title: Re: Re-Create the datahand - first babystep
Post by: eviltobz on Mon, 09 December 2013, 17:18:50
pictures??? samples posted to my address please! ;)
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Mon, 09 December 2013, 20:22:01
Here you go:

[attach=1]

On the left is an assembled finger unit (5 switches) with the South switch propped open.

To the right of that shows the progress of my 0.040" x 0.015" steel strips as they get bent
into the shape needed for the N/E/S/W switches, complete with the two bits trimmed off
the end of the final shape.

To the right of that is an empty switch carrier surrounded by the 4 N/E/S/W keys.

Up and to the right of that is a partially populated switch carrier containing one metal piece
for the E key, and the parts for the center switch populated (minus the center key)

Below that are the mechanical bits that make up the center switch.
The key, the lever (loaded with a magnet), the metal clip for the center switch
(a 0.050" x 0.015" strip) and the block that now holds that clip in when trapped
by the funny angled arms in the carrier.

The photo freaks will have to excuse the chromatic aberration, over-exposure and
insufficent depth of field... This is the best I could achieve. It is a bit difficult to
capture detail on small matte, coal black bits of plastic!

Title: Re: Re-Create the datahand - first babystep
Post by: domoaligato on Mon, 09 December 2013, 20:27:37
simply amazing!
Title: Re: Re-Create the datahand - first babystep
Post by: yasuo on Mon, 09 December 2013, 21:18:58
Really nice :p Baby Datahand coming soon :thumb:
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Thu, 12 December 2013, 11:41:32
found my first circuit/PCB error - I
misunderstood the I2C level shifter ASIC
which was then bleeding voltage over into
my 3.3v supply. Some careful trace cutting
and rewiring will solve it, so no major slowdown, but glad to have it understood.

Also, I now have enough of the
mechanicals to assemble 7 fingers worth
of switches. Waiting on one more
shapeways order. They seem to be
running a bit behind though, so it may
be a few weeks longer.
Title: Re: Re-Create the datahand - first babystep
Post by: agodinhost on Thu, 12 December 2013, 12:40:43
found my first circuit/PCB error - I
misunderstood the I2C level shifter ASIC
which was then bleeding voltage over into
my 3.3v supply. Some careful trace cutting
and rewiring will solve it, so no major slowdown, but glad to have it understood.

Also, I now have enough of the
mechanicals to assemble 7 fingers worth
of switches. Waiting on one more
shapeways order. They seem to be
running a bit behind though, so it may
be a few weeks longer.
About the switches - I saw two 2 lateral small pins, these two pins seems to be kinda fragile ...
Would not be better to make then greater/stronger?
The few printed parts I have at here are really fragile and I'm wondering about these pins (without then you would loose the switch).
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Thu, 12 December 2013, 13:31:08
The SLS nylon is a very tough material, and at
these dimensions, fairly flexible too. This, along
with the relatively low cost, is the reason I am using it.

Since those pins don't support much load during
normal use I don't think it will be a problem. Their
main reason for being present is to prevent the key
from wandering out of position. I suppose that
you could break them if you tried hard to pull the
keys up and out of the carrier. I think that it'll be fine
as long as you don't do that.
Title: Re: Re-Create the datahand - first babystep
Post by: jeffgran on Thu, 12 December 2013, 23:52:06
This thread needs a new title. It's far from the "first baby step"! :)
Title: Re: Re-Create the datahand - first babystep
Post by: agodinhost on Fri, 13 December 2013, 06:33:37
The SLS nylon is a very tough material, and at
these dimensions, fairly flexible too. This, along
with the relatively low cost, is the reason I am using it.

Since those pins don't support much load during
normal use I don't think it will be a problem. Their
main reason for being present is to prevent the key
from wandering out of position. I suppose that
you could break them if you tried hard to pull the
keys up and out of the carrier. I think that it'll be fine
as long as you don't do that.
SLS? Okay, I now nothing about this kind of material - I thought it were PLA or ABS.

Do you think it's possible to print your parts at home using one homebrew 3d printer? I haven't saw any bridges at all but I'm just guessing it by the pictures ...
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Fri, 13 December 2013, 11:59:00
SLS? Okay, I now nothing about this kind of material - I thought it were PLA or ABS.

Do you think it's possible to print your parts at home using one homebrew 3d printer? I haven't saw any bridges at all but I'm just guessing it by the pictures ...
I've no first-hand experience with the
extrusion-based printers, but mkawa
was dubious about their ability to meet
the required tolerances and geometry
while working reliably at an acceptable
pace and with a suitably tough/flexible
material for the current design.

I've been designing with SLS nylon in
mind, not home extrusion printers.
Title: Re: Re-Create the datahand - first babystep
Post by: OldDataHands on Fri, 13 December 2013, 20:44:52
This thread needs a new title. It's far from the "first baby step"! :)
You're so right. I've been thinking the same. Comin' right up!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: dorkvader on Sun, 15 December 2013, 19:57:14
SLS? Okay, I now nothing about this kind of material - I thought it were PLA or ABS.

As OldDataHands says, the material is Nylon. SLS (stands for "Selective Laser Sintering")is a process where more powdered material is rolled out over the current shape and fused to it with a laser. It's also used in metal powder processing sometimes.

Looking at the shapes, it seems to be getting impressive results!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: domoaligato on Sun, 15 December 2013, 21:48:10
This is my favorite project on geekhack.
I just wanted to stop in and let you know how cool this is turning out and to say thanks.
I would love if this eventually ended up like the ergodox on massdrop.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: agodinhost on Mon, 16 December 2013, 09:17:51
This is my favorite project on geekhack.
I just wanted to stop in and let you know how cool this is turning out and to say thanks.
I would love if this eventually ended up like the ergodox on massdrop.
+1 massdrop
 :)

+1 extrusion printed parts!

+1 kickstarter.com
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Mon, 16 December 2013, 22:17:23
This is my favorite project on geekhack.
I just wanted to stop in and let you know how cool this is turning out and to say thanks.
I would love if this eventually ended up like the ergodox on massdrop.

High Praise! Thanks!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: jalli on Mon, 16 December 2013, 22:53:10
Really awesome project and good work, I still remember when I saw my first DataHand back in '99 and seeing it come alive again is really cool.

If you need anyone to pitch in to share in prototype costs or if you need to get quantity up for orders let us know!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: Pacifist on Mon, 16 December 2013, 22:57:55
You should update the OP with the current prototype!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Mon, 16 December 2013, 23:06:43
So apparently I don't know how to make a layout for a solder-bridge.

Any guidelines that someone could point me to, or guidance would be
appreciated. Would a simple absence of soldermask be sufficient to
make the bridge easy to establish?  You're going to be in there soldering
the IR components anyhow, it would be easy to drag the iron across
each spot along the way, but it needs to be easy to establish, rather
than the struggle that I've currently got going.
[attach=1]
In my double-sided footprint for the finger switches I'm relying upon
a set of solder bridges to allow the cathode and anode of each IR LED,
and the collector/emitter of each phototransistor to be connected to
either hole - this allows mounting them from either side of the PCB.

I knew that the layout was going to be small - I made two 0.040x0.040
pads separated by 0.010" naively thinking that it would be hard to
avoid bridging two pads that close together. I am still a bit stunned
that it is a real bugger to get solder to bridge that gap. It turns out
that I also struggle with arithmetic, as I am startled at the number of
these bridges I've made.

Each switch requires that 4 bridges be made (Anode, Cathode,
Emitter, Collector).  There are 40 switches in the finger assembly.
I've 160 of these that need to be made!!!

So, I've ordered a bunch of 0603 bridges from Digikey.  I also invented
a new unit of currency: The millicent; as in: "In bulk, these bridges cost
78 millicents.". I'm going to press forward with the manual placement of
these 0603 components, but I'm not exactly excited about it. If I had
planned on this, I would have a footprint that was a closer match, with
0805 components, and would have had a stencil cut. Now that I have a
bunch of components already populated, manual is the only option.
Oh well. Onward.

In other news, the last of my 3D-printed parts from Shapeways shipped
today, so I should have them by Wednesday. I've got 7 finger-switch
assemblies completely assembled, and have made the metal clips to
complete the last one when the parts arrive.

The last batch of parts I received from Shapeways was a bit different than
the parts I had received from them previously. This batch was on the high
side of their tolerances or maybe a bit beyond, and had a much more solid,
hard surface. The previous batches had a friable surface layer that was not
well attached.

The fact that these parts were a bit larger necessitated more manual re-work.
I had to drill (with a pin-vise and tiny drill bit) open the holes for the IR
component leads. I had to trim off material in several places on all of the
levers for the center switches in order to get the lever to clear the carrier.
I had to trim some of the N/E/S/W keys. It is still an amazing bit of technology...
I just wish it was perfectly consistent!

Saving the best for last: I am able to read switch states! I've got the IR components
for the center switches on the index and middle fingers populated on the I/O
expander side of the board and am able to read switch states through the I2C
link. I'm geeked that it is alive.

It is getting there.  Pics once the parts are all mounted.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: dorkvader on Tue, 17 December 2013, 00:32:58
Yeah, I found the bridge for the capacitor the hardest thing to solder on my ergodox. After I did a few I got better, I think I just put a ton of solder on both pads and then when both were heated, could bridge the gap. It was much much easier with a thicker soldering tip.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: Turbinia on Tue, 17 December 2013, 09:08:27
Woah I thought that was all for resistors, have you considered maybe moving all of that away from the switch its self and having that selection happen closer to the micro-controller? Could you route it differently depending on if it is coming from the teensy or the i2c expander so you don't have to go through that? Has got me thinking on alternative ways of mirroring the layout, seems like far too much effort to bridge all of that just to save a bit on pcbs. That is an absolute massive number of vias as well...

Awesome progress! Hoping to get back started on the easypoint code today, so maybe some good news there soon as well.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: bluehavana on Wed, 18 December 2013, 05:47:34
Definitely looking forward to seeing how this goes. Thanks so much for the awesome work. Can't wait to try to get started with the finger switch assemblies. Got some 2.4 Ghz wireless breakouts I've been dying to use on something like this (a split ergo).
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Thu, 19 December 2013, 18:33:18
Been thinking about the solderbridge topic:
I will adjust the footprint so that there is no
mask between the pads of the solderbridge
for my next attempt. I would like to have a
design which is as inexpensive as possible
to build a single unit, and an easy solderbridge
is the right answer. That being said, for the
purposes of a group buy two separate layouts
is the clear winner.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: Darhuuk on Thu, 19 December 2013, 18:40:29
About that solder bridge: try making one rectangular pad with a half circle cut out of it, then make the second pad a rectangular pad with a half circle "tacked on". That way, the pads will kind of "flow" into each other. Make the spacing between the two pads 12-20 mil. Someone in my hackerspace designed a PCBs with bridges like that and it is very easy to solder/desolder those bridges.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Thu, 19 December 2013, 18:46:24
Interesting idea. What size were the pads?
was there soldermask between them?
The gap in my current design is just 10 mil
and the pads are 40x40 mil.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: Darhuuk on Thu, 19 December 2013, 19:08:04
I'm not a 100% sure about the size, I would guess around 3mm by 3mm, with a solder mask in between them.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: Blusey on Fri, 20 December 2013, 13:36:06
This looks like a really awesome project, good luck dude!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Sun, 22 December 2013, 20:24:27
If someone is interested to contribute I need to have some
solder-bridge science done. It would be most convenient for
the existing layout to have a solderbridge which is easy to
bridge with a quick dab of a smallish soldering iron tip,
 and can fit into a 40x90 mil box (not counting keepout
area around it). It needs to be able to be produced by
the usual sorces (OSHPark, PCBWing, seeedstudio, etc.).
Ability to un-bridge seems unimportant to me, as it is only
meant to be set one time, then left permanently.

I could still imagine fitting everything with a 60x130 bridge,
but routing might be more painful, and would have to be
redone.

If someone would step up and create a variety of geometries
and configurations, with/without soldermask to create a test
board, then figure out if any of the options are viable, I'd be
much obliged.

In other news, I've now received the 0603 jumpers I ordered
from Digikey and have them installed. Wasn't as tedious as
I had expected. I think the only trouble came from the
degraded state of my stale, old solder paste. On to mounting
the IR components and switches!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Sun, 22 December 2013, 22:46:24
Just a quick pic of the 0-ohm jumpers installed:
[attach=1]
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: agodinhost on Tue, 24 December 2013, 07:38:58
it's kinda hard to figure out where the jumper is ...
could you draw a arrow?
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Tue, 24 December 2013, 07:51:35
it's kinda hard to figure out where the jumper is ...
could you draw a arrow?
There are over 30 of them in that pic.
each of the 0603 SMD components is a
0-Ohm bridge or jumper. If you zoom
in you can even read 000 on them!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: regack on Tue, 24 December 2013, 08:01:08
it's kinda hard to figure out where the jumper is ...
could you draw a arrow?
There are over 30 of them in that pic.
each of the 0603 SMD components is a
0-Ohm bridge or jumper. If you zoom
in you can even read 000 on them!

hah, those are cool.  I'll work on a bridge-test thing.  I won't be the fastest though.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Tue, 24 December 2013, 15:41:03
Awesome! Thanks regack!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: csirac2 on Sun, 29 December 2013, 18:14:40
What a fantastic project! I've been thinking about doing this for the last few months, and now that I've changed $jobs I'll have a bit of spare time to actually do something like this. My education was Microelectronic Engineering, ended up in oil & gas industry, then since around 2009 I've mostly been a software guy doing bioinformatics and a bit of signal processing/data analytics and web stuff.

I've recently joined a local hackerspace where I have access to CNC and 3D-printing stuff. Perhaps not adequate for this project but I had intended to start my experiments there. So I'm delighted to find that somebody has already done so much of the hard work!

I'll PM you shortly, would love to collaborate on this. I usually use EAGLE (have my own Pro license) but I'd be just as happy building whatever you've done and hacking away at code or helping figure out a case. The most 3D modelling I've done in past $work has been in something called VariCAD but would be happy to try an open source tool.

I own a DataHand II Personal that's been somewhat battered over the years - I've had to augment the magnets in places, it seems some of them aren't as strong as they should be.

Great work!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Fri, 03 January 2014, 23:12:34
I've all 8 finger assemblies ready now, and have mounted the
opto components for 6 center switches. I'll work with just the
center switches for a bit, as I want to be able to easily remove
the mechanicals should that be necessary, and it gets difficult
once the opto components are soldered in for the N/E/S/W
switches. Here is a pic of the partly-assembled unit hooked up
to my new Saleae 8-channel digital logic analyzer:
[attach=1]
Here is a screenshot of the analyzer software showing the decode
of the I2C traffic as well as scanning Row2, with Col3 pressed and
Col2 unpressed:
[attach=2]
Right now the I2C bus is being run at 100kHz, but it looks like it
should tolerate 400kHz without any trouble.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: damorgue on Fri, 03 January 2014, 23:29:16
Looks great. Are there any jams in the physical parts when you use it?
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Fri, 03 January 2014, 23:48:59
Looks great. Are there any jams in the physical parts when you use it?
Some of the keys needed trimming during assembly
to prevent jamming - seems to depend upon how
exactly Shapeways prints them. Once they are fit,
there seems to be no problem. I just did 100 cycles
on 6 south keys, and 100 cycles on 6 center keys
and there was no jamming.
The center keys require a bit more care in assembly
than the N/E/S/W keys in order to ensure good
operation.  I'll only really be able to answer that
question meaningfully after I've really spend time
using it, rather than just a crude, quick test.

Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: damorgue on Sat, 04 January 2014, 00:52:30
Have you used smoothed the surfaces with acetone or used any sort of lubrication?
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: yasuo on Sat, 04 January 2014, 01:37:32
Really niceBaby DH,interested with thumb cluster like DH or different
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Sat, 04 January 2014, 09:43:22
Have you used smoothed the surfaces with acetone or used any sort of lubrication?

No. Some of the parts directly from Shapeways
could be used without modification. On other prints
I trimmed or scraped with a hobby knife until there
was no interference, or sometimes just forced the
part to move until it self-machined into a smooth fit.
This only takes a few seconds if it is going to work.

Really niceBaby DH,interested with thumb cluster like DH or different

Not certain what you mean yasuo, but I intend to
make a thumb cluster very similar to the original one.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Sun, 05 January 2014, 23:40:00
The PCA9655E I2C I/O expander is driving
me a bit crazy. It seems to insist upon an
I2C STOP before a read or it refuses to
actually follow the command for which
register to read out. (instead providing
one of its choosing!) Of course, the
datasheet makes no mention of this
behavior whatsoever.

While this isn't a huge problem, I have
wasted most of a day figuring this out,
and it may end up making the software
less efficient. What a pain.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: agodinhost on Mon, 06 January 2014, 07:15:35
Have you used smoothed the surfaces with acetone or used any sort of lubrication?
I used acetone vapor for ABS.
It also works on SLS nylon?
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: engicoder on Tue, 07 January 2014, 21:45:27
Just noticed there is an original Datahand up on ebay http://r.ebay.com/SDPf04 (http://r.ebay.com/SDPf04)....A bit spendy  :eek:
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: csirac2 on Tue, 07 January 2014, 23:17:24
It'll probably go for even more than that. I've seen Amost-new-in-box models go for nearly $3,000...
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: arisian on Wed, 08 January 2014, 15:53:01
Yeah, they show up occasionally.  They generally sell for $1-3k, assuming they're in decent shape; this one is a Personal rather than a Pro, so it probably will sell for somewhere in the lower part of that range.  In any case, the prices are too high and availability too low for long-time users to be able to keep using them when our old ones fail, which is precisely why everyone is so excited by this project :)

In any case, this is bit off-topic; we should probably try to avoid derailing this thread every time one shows up on E-bay.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: csirac2 on Thu, 09 January 2014, 02:00:47
Back on-topic, OldDataHands kindly helped me get an order for the finger key switch parts from ShapeWays going, so they're on their way.

Just trying again to put a DigiKey order together, I seem to have constant interruptions this week :)

Very exciting times. Hope to be assembling something toward the end of the month and in doing so hopefully contribute in some way.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Sun, 12 January 2014, 23:13:49
Spent a few hours tonight and now have
the left-hand matrix scanning as well as
the right-hand matrix. I don't have any
USB code running yet, but am scanning
at ~5.5ms intervals limited by the 100kHz
I2C bus frequency. So far so good!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: claussen on Mon, 13 January 2014, 13:00:56
Wow, amazing progress.   Note to self:  completely forget about cool projects and good things happen :)

Curious what your current plans are for making larger quantities of the metal springs?
Seems like hand bending those is going to be a source of some quality control issues even just on a single unit -- getting the right profile dialed in and mass produced seems like it would be a key part of a group buy, since the tooling costs will be non-trivial but making several thousand would be otherwise quite cheap, yeah?

I spent November working abroad without my DH desk setup -- still recovering from the trauma.  Ugh.
Then we had a break-in at my office -- thank god the thief didn't know my DH rig was more valuable than the laptops he stole...
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: regack on Mon, 13 January 2014, 19:03:08

Ok, so I just got these today.


[attach=1]


I was able to bridge all of them - except for the one with the 10 mil gap - but some took more than one application of solder. The three that were the easiest were:


1) 5mil interlock
2) 4mil interlock3
3) 0.05mm spacing


Those three bridged as soon as I put the iron on them, and didn't wick away.  I'll try with a second board just to see what happens and if it changes.  I tested the connections with the fluke. 


Let me know if you want the .mod file or the whole project or something.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: jalli on Mon, 13 January 2014, 20:13:40
This is just awesome, rather than making a guess and design based on it you did a proper test, my hat's off to you!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Mon, 13 January 2014, 22:16:38
Curious what your current plans are for making larger quantities of the metal springs?
Seems like hand bending those is going to be a source of some quality control issues even just on a single unit -- getting the right profile dialed in and mass produced seems like it would be a key part of a group buy, since the tooling costs will be non-trivial but making several thousand would be otherwise quite cheap, yeah?
I've been meaning to attend to this topic. There is a local
shop which seems to specialized in these types of things.
I'm going to have them quote it. My problem is that I'm an
electrical engineer and I don't know dimensioning & tolerancing
for mechanical drawings. You've spurred me into action though.
Here's a screenshot of my first attempt at capturing the design
with the important dimensions:

[attach=1]

Anyone care to help an EE out with some mechanical drawing
insight? Here's the matching .dxf file: I would welcome any
corrections. (drawn with LibreCAD)

[attachurl=2]
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Mon, 13 January 2014, 22:29:40

Ok, so I just got these today.


(Attachment Link)


I was able to bridge all of them - except for the one with the 40 mil gap - but some took more than one application of solder. [size=78%]The three that were the easiest were:[/size]


1) 5mil interlock
2) 4mil interlock3
3) 0.05mm spacing


Those three bridged as soon as I put the iron on them, and didn't wick away.  I'll try with a second board just to see what happens and if it changes.  I tested the connections with the fluke. 


Let me know if you want the .mod file or the whole project or something.

regack!!! Amazed and delighted is what I am! You originally said
that you wouldn't be the fastest. That seems to have been sandbagging.

That test board is a thing of pure beauty to mine eyes. I will enthusiastically
take the .mod, and/or the whole project. You Da Man!

I'll PM you.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: damorgue on Tue, 14 January 2014, 00:03:34
Curious what your current plans are for making larger quantities of the metal springs?
Seems like hand bending those is going to be a source of some quality control issues even just on a single unit -- getting the right profile dialed in and mass produced seems like it would be a key part of a group buy, since the tooling costs will be non-trivial but making several thousand would be otherwise quite cheap, yeah?
I've been meaning to attend to this topic. There is a local
shop which seems to specialized in these types of things.
I'm going to have them quote it. My problem is that I'm an
electrical engineer and I don't know dimensioning & tolerancing
for mechanical drawings. You've spurred me into action though.
Here's a screenshot of my first attempt at capturing the design
with the important dimensions:

(Attachment Link)

Anyone care to help an EE out with some mechanical drawing
insight? Here's the matching .dxf file: I would welcome any
corrections. (drawn with LibreCAD)

(Attachment Link)


A few pointers:

-Tighter tolerances = higher cost. Larger number of tolerances = more places they will have to measure and verify = higher cost.

-The thickness of the sheet is specified to +-0.02mm. This is very tight and close to impossible. The material will be thickened or flattened at the bend depending on how they draw or bend it. It is also very difficult to measure if that thickness is correct all the way so best case scenario is that they ignore it.

-The 0.04mm width of the spring is quite tight as well, does it need to be that exact?

-Geometric tolerances. There are signs which is used to specify flatness, circularity etc. I suggest you look through this link and use them rather than text. (http://en.wikipedia.org/wiki/Geometric_dimensioning_and_tolerancing#Symbols)

Edit:
-Stacked tolerances:
http://i.imgur.com/qB0XNle.png
The dimension marked in red will be +-1.3mm if you add up the tolerances of the other dimensions. Be aware of where you put the dimensions and exactly which dimension is actually important. Just something to be aware of.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: regack on Tue, 14 January 2014, 09:31:32
Let's see if this works...

Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: Wildcard on Tue, 14 January 2014, 09:41:54
Wow, great progress on this project. I wish the data-hand had become more commercially successful, I'm glad to see this revival making it so far.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Tue, 14 January 2014, 23:15:55
A few pointers:

-Tighter tolerances = higher cost. Larger number of tolerances = more places they will have to measure and verify = higher cost.

-The thickness of the sheet is specified to +-0.02mm. This is very tight and close to impossible. The material will be thickened or flattened at the bend depending on how they draw or bend it. It is also very difficult to measure if that thickness is correct all the way so best case scenario is that they ignore it.

-The 0.04mm width of the spring is quite tight as well, does it need to be that exact?

-Geometric tolerances. There are signs which is used to specify flatness, circularity etc. I suggest you look through this link and use them rather than text. (http://en.wikipedia.org/wiki/Geometric_dimensioning_and_tolerancing#Symbols)

Edit:
-Stacked tolerances:
http://i.imgur.com/qB0XNle.png
The dimension marked in red will be +-1.3mm if you add up the tolerances of the other dimensions. Be aware of where you put the dimensions and exactly which dimension is actually important. Just something to be aware of.

Thanks for the pointers and info damorgue!

The shim stock I used as a starting material claims a
thickness tolerance of 0.00075" which is almost exactly 0.02mm;
however you're correct that my thickness spec in the drawing is
ambiguous - I don't actually care about what happens to the
thickness in the bends, or really anywhere but along the flat bottom
where the magnet will contact. I'll have to see if I can find a way to
communicate that in the drawing.

Regarding the width: the holding force will be closely tied to volume
of material in the leg of the clip that the magnet contacts. +/- 2.5%
of the width is ~ 0.04mm. +/-5% of the thickness is 0.02mm.
Stacked together this is a 15% potential variation in holding force,
which I already think is a lot - I don't think I should open those specs.
Thoughts?

I agree that the dimension you noted ends up being wide open at
+/-1.3mm. That is intentional - There is some latitude in where the
top corner ends up relative to the right-side. It does not need to be
kept tight, but can't be left unspecified since it must fall within a window.
It serves as the retension mechanism so that the clip doesn't fall out...
just needs to dig into the plastic a tiny bit.

I will look up the symbols, take another swing at it, have an ME buddy
review/update, then post and send for quote. Any bets on the per-clip
cost at 1000 pieces?

Thanks again for the input!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Tue, 14 January 2014, 23:19:42
Let's see if this works...
Thanks regack!
I spent 2+ hours tonight trying to update my footprint in KiCAD
to match the "5-mil interlock" footprint you designed...
but something went very wrong after I was done... I saved the
module and the tried to pull it into my layout, but the footprint
didn't load anything like I had saved it - totally trashed. Oh well.
I'll try again in a day or two.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: jacobolus on Wed, 15 January 2014, 05:26:11
It’s maybe the wrong place to ask, but does it seem to you guys like the sideways motion of the fingers to activate the left/right switches is substantially more difficult than moving the finger down to activate the bottom switch (flexing the whole finger) or the up/down switches (flexing/extending the 1st finger joint), especially for the weakest couple of fingers?

I wonder if it would ultimately be better if each finger assembly had 4 switches (bottom, up, diagonal down-left, and diagonal down-right) instead of 5 [or possibly even just 3 switches per finger], and then some work was done on the letter assignments to each switch, possibly with some more chording, etc.?

[I’m speaking purely hypothetically here; I never had the cash to obtain a Data Hand, and wouldn’t know where to try one.]

If you’re going to completely re-make something from scratch (esp. if the goal is to attract new users), it might be worth trying to optimize its function. Then again, maybe it’s better to just get as close as possible to the original, to serve all the original data hand users who are up a creek with the originals out of production so long.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: gbjk on Wed, 15 January 2014, 06:03:58
In short: No.

Once you're used to a datahand, there's nothing wrong at all with the layout.

I've developed a strange mannerism of pressing the "Normal" key in between typing,
and just generally, because nearly all issues are being in the wrong mode.

That's probably just a "typing tick" though.

I've used a datahand for 4 years now, about 60 hours a week as a heavy typist of everything from code to long emails.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: wejn on Wed, 15 January 2014, 17:07:23
I've developed a strange mannerism of pressing the "Normal" key in between typing,
and just generally, because nearly all issues are being in the wrong mode.

That's probably just a "typing tick" though.
Hear, hear! I found myself nodding at this because that's exactly what I'm doing. After several years of using DH exclusively I also have this habit of pressing "N" because wrong mode accounts for over 90% of all the [few] errors I make when typing.

And I have to concur that changing the layout doesn't make sense (IMO). The current layout just works. My only gripe is price of a second unit (I'm carrying it to the office and back home on regular basis) and the relative bulkiness.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: Pacifist on Wed, 15 January 2014, 17:16:25
Any estimate of a cost when this project is fully finished?

Hopefully as far away from the 1k on ebay
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Wed, 15 January 2014, 20:02:24
Any estimate of a cost when this project is fully finished?

Hopefully as far away from the 1k on ebay

My current guess is that the parts will cost you ~$500-$600.
Perhaps a group buy could knock that down by $100 if you
get sufficient volume on the PCBs and electronics.

Here're the details:

In order to purchase the components of the finger
switches to make a single keyboard is ~$250.
(not counting the metal clips - no quote yet
and not counting shipping)

I can imagine the thumb clusters hitting $150 or
more depending upon the volume (cm^3, not quantity)
of 3D-printed parts.

That leaves the case as a big question mark. Could
easily land between $100 and $200, or a DIY thing
out of plywood!

I guess that a group buy should be able to knock
$100 off the total for electronics and PCBs.


Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: hillel369 on Thu, 16 January 2014, 15:28:23
Just wanted to say you've got another Datahand user here who'd be happy to go in on a group buy.

Thanks for all your work so far. I've been following the post for a while, it looks like you're making great progress.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Fri, 17 January 2014, 00:05:29
Thanks to damorgue for the input. With
that, some serious redrawing, then redlining
by an M.E. friend, then more redrawing
I now have a drawing to get quoted.
I'll pass along the info once they get
back to me.

Here's a pic:
[attach=1]

and here's the .dxf for those interested.[attachurl=2]
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: gbjk on Fri, 17 January 2014, 04:16:46
OldDatahands,

Have you thought about sharing all the resources you've created thusfar on github or similar?

It would allow others to contribute more easily, and also be a launching platform to gain popularity and, I guess, orders.

Like you said, you're not thinking about the enclosures yet, but someone else could start to, and contribute the files to you for you to approve, etc.

( Sorry. Thinking about this like a distributed software developer :D )

G
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: nclu on Fri, 17 January 2014, 12:41:57
Been lurking this one since June too.  Only discovered the datahand just after it was no longer available, then stumbled across your project after a year and half of pining for one.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Fri, 17 January 2014, 13:34:14
OldDatahands,

Have you thought about sharing all the resources you've created thusfar on github or similar?

It would allow others to contribute more easily, and also be a launching platform to gain popularity and, I guess, orders.

Like you said, you're not thinking about the enclosures yet, but someone else could start to, and contribute the files to you for you to approve, etc.

Already onboard with this approach, but am waiting to get
some feedback from a couple people before widely
advertising it. Expect a post here in a month or two.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: soliton on Sun, 26 January 2014, 14:49:18
as stated before, i will buy one as soon as its availavle if you start a crowdfunding.
pls let us know!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: myetex on Wed, 29 January 2014, 10:34:01
Just registered to say, please crowdfund this!  I'd absolutely buy a pair.

My only requirement is that the left and right devices must be able to be positioned separately.  Ideally, each device would be a separate Bluetooth keyboard.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Wed, 29 January 2014, 15:38:37
My only requirement is that the left and right devices must be able to be positioned separately.  Ideally, each device would be a separate Bluetooth keyboard.

How often are you willing to replace batteries in a keyboard?
How big a battery are you willing to tolerate?
I ask because this switch design is power hungry.
Each IR LED will take > 5ma when active, each
IR photo transistor takes the same if key is pressed
When scanned. With 5 cols on each half you've
Got an average draw approaching 50ma when idle.
AA batteries might last a couple days. Because of this
I'm not convinced that this is a great design for wireless.
Mine will be wired.

There are people who've done wireless mods, but they're
relying on large, external battery packs. Not something
I imagine a lot of people being happy with.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: claussen on Thu, 30 January 2014, 12:28:51
The optical switch design is definitely a painful one for a battery approach.

For a battery-powered approach, I would consider a capacitive system -- it would take some tuning, but one could position sensors such that the movements of the leg springs or magnets would create a large enough signal to be sensed reliably and with a much smaller bias/sensing waveform than an optointerruptor.  A Cypress button-scanning touch IC should be able to run like that for a very, very long time.

One bonus would be ambient light tolerance -- direct sunlight borks my DH system.
 
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: tricheboars on Thu, 30 January 2014, 19:44:23
holy ****. wow. this is incredible work OldDataHands. you should be really proud.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: dorkvader on Thu, 30 January 2014, 21:40:45
The optical switch design is definitely a painful one for a battery approach.

For a battery-powered approach, I would consider a capacitive system -- it would take some tuning, but one could position sensors such that the movements of the leg springs or magnets would create a large enough signal to be sensed reliably and with a much smaller bias/sensing waveform than an optointerruptor.  A Cypress button-scanning touch IC should be able to run like that for a very, very long time.

One bonus would be ambient light tolerance -- direct sunlight borks my DH system.
 

Yes, I think hall effect / magnetic is probably a good idea, over optical (especially if it's affected by mere sunlight) and capacitive (which are a lot harder to actually read, due to all the interplay between capacitors and analog effects, etc. There is a reason old capacitive keybaords used several hundred volts to strobe the matrix!)
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: claussen on Fri, 31 January 2014, 16:11:13

Yes, I think hall effect / magnetic is probably a good idea, over optical (especially if it's affected by mere sunlight) and capacitive (which are a lot harder to actually read, due to all the interplay between capacitors and analog effects, etc. There is a reason old capacitive keybaords used several hundred volts to strobe the matrix!)

Most of that difficulty with capacitive buttons was engineered out over the past ten years by Cypress, Atmel, Synaptics and others.  They've got pretty impressively robust calibration and variable baseline management -- far, far more sophisticated than is required for simple button thresholding.
Especially when you sense a metal piece as the trigger instead of a squishy, variable-moisture-content finger.

But I'm curious if you know of a many-channel hall-effect system that operates at low power?  I haven't seen one before, and that would a great thing to know about!
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: soliton on Mon, 03 February 2014, 19:05:06
My only requirement is that the left and right devices must be able to be positioned separately.  Ideally, each device would be a separate Bluetooth keyboard.

How often are you willing to replace batteries in a keyboard?
How big a battery are you willing to tolerate?
I ask because this switch design is power hungry.
Each IR LED will take > 5ma when active, each
IR photo transistor takes the same if key is pressed
When scanned. With 5 cols on each half you've
Got an average draw approaching 50ma when idle.
AA batteries might last a couple days. Because of this
I'm not convinced that this is a great design for wireless.
Mine will be wired.

There are people who've done wireless mods, but they're
relying on large, external battery packs. Not something
I imagine a lot of people being happy with.

if battery life will be low go for a integrated battery charger. ppl will tollerate the fact that they have to hock the keyboard up to a powersupply every 2-3 days much more easy than switching the battery every week.
it would be even better than no wireless option.
logitechs first aproach to wireless optical mouses was like that and it was a big success.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Tue, 04 February 2014, 15:03:27
if battery life will be low go for a integrated battery charger. ppl will tollerate the fact that they have to hock the keyboard up to a powersupply every 2-3 days much more easy than switching the battery every week.
it would be even better than no wireless option.
logitechs first aproach to wireless optical mouses was like that and it was a big success.

That's a nice idea. An integrated 2 cell LiPo battery or similar... still, first I need to get the thumbs working, and have a fully functional design before worrying about extras.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: arisian on Wed, 05 February 2014, 16:59:35
if battery life will be low go for a integrated battery charger. ppl will tollerate the fact that they have to hock the keyboard up to a powersupply every 2-3 days much more easy than switching the battery every week.
it would be even better than no wireless option.
logitechs first aproach to wireless optical mouses was like that and it was a big success.

So long as it can be used when plugged in; this should be "you can unplug the USB cable for a while and it'll still work," not "it's a wireless device and when your batteries stop holding charge you can't use it for more than an hour at a time," the way a lot of those old mice were.  I'm all for wireless as an *option,* but frankly these things are bulky and heavy enough that worrying about the cord is kind of a non-issue for me.  Obviously, the units need to be separable; they always have been (and having the option for a longer/more flexible cord connecting them would be great, but I suspect we'll get that anyway), but I agree with OldDataHands that wireless is something to worry about *after* we get a working version of the wired model.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: Turbinia on Thu, 06 February 2014, 12:16:50
I think someone mentioned this http://handheldsci.com/kb (http://handheldsci.com/kb) at some point. Would require there to be the TRRS wire between the units still, but would mean no additional work would be required to make it wireless. Just pop that under the hood.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: MiaKnecht on Mon, 17 February 2014, 20:27:42
Hi,
First let me say.. you're awesome for all the work you've done... simply amazing.  I have DataHand lust.. I must find one, or even better have a new improved one.   Is there an update on this project?   I'd definitely be in if this goes to a group buy..  OR... if there is a way I can somehow get my hands on just the plastics I'd rock out my own processor and PCBs...

Thanks for all the work you're doing to keep this alive..

Mia K.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Wed, 19 February 2014, 21:01:01
Let's see if this works...

Hi regack,

So I've spent many hours now in trying to incorporate the best of your solder-bridge
layouts into my existing footprint. I keep running into the basic problem with kicad
that it doesn't consider adjacent or overlapping, but separate pads to be connected.
It then turns my otherwise clean design into a mess of a ratsnest of unconnected pads
I've filed a bug report with kicad: https://bugs.launchpad.net/kicad/+bug/1280645
in the hopes that they'll address this.

In the meantime I have moved on to working on the thumb switch mechanical design. 
I don't have anything to show there yet, but work has begun.

If nothing changes in kicad, I'll eventually adjust to one of your less-optimised, but
still working layouts... but thumb switches first.

Thanks again for your work there.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: regack on Wed, 19 February 2014, 21:28:26
Let's see if this works...

Hi regack,

So I've spent many hours now in trying to incorporate the best of your solder-bridge
layouts into my existing footprint. I keep running into the basic problem with kicad
that it doesn't consider adjacent or overlapping, but separate pads to be connected.
It then turns my otherwise clean design into a mess of a ratsnest of unconnected pads
I've filed a bug report with kicad: https://bugs.launchpad.net/kicad/+bug/1280645 (https://bugs.launchpad.net/kicad/+bug/1280645)
in the hopes that they'll address this.

In the meantime I have moved on to working on the thumb switch mechanical design. 
I don't have anything to show there yet, but work has begun.

If nothing changes in kicad, I'll eventually adjust to one of your less-optimised, but
still working layouts... but thumb switches first.

Thanks again for your work there.

Interesting... I'm not sure I noticed that happening, but then my board layout was very very simple, maybe it didn't manifest in that case. 

In case it helps, I'm running build 2013-02-13 BZR 3947 (pcbnew)
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: dorkvader on Wed, 19 February 2014, 23:05:07
would it be possible to just have a trace running between the pads and then have kicad to the routing and whatnot, then before you send it off to the fabs, "cut" each bridge?
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: Turbinia on Fri, 21 February 2014, 09:07:22
Sounds like you may have built your component/layout in a way that causes this. Components like resistors have unconnected pads and do just fine, I would check to make sure the layout isn't saying the pads should be connected. That should fix the rats nest.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Sun, 23 February 2014, 17:09:26
Some good news: Work on the thumb switches has begun.
Here is a screenshot of the current state:

[attach=1]

Reconizable, but still quite a bit of work to do.

In more good news: The KiCAD guys have responded to my
bug report with a possible workaround to the
pads-not-being-connected-when-overlapped bug. Perhaps
I can now succeed in incorporating regack's suave solder-bridge footprint?
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: Stone on Wed, 26 February 2014, 13:13:20
As a 5-year Datahand veteran can I just say that this is totally awesome. More people deserve to know true typing happiness :)

Barring a slightly sticky 'a/1' key mine's been near-flawless ever since I got it out of the box. I should probably clean it more often that I do, though (it's so fiddly...and I'm terrified of breaking a key - Lynn promised to put some spares into my last order but now they're fully closed that door's slammed shut). Other than the housing being bulky and the feet not working very well, my only real issue has been that I didn't buy the DataChair arms to fix it to my chair before they ran out of stock.

Keep the updates coming, it's looking great! :thumb:

Stone
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: Stone on Wed, 26 February 2014, 14:13:52
OK, so I've read the whole thread now. Few thoughts:

I would really love to be able to mouse without leaving the DH. Right now I'm using it with an Evoluent VerticalMouse placed very close to the right side and reaching for it - not great fun, but usable. For me the best two options to put a trackpoint-style 'nubbin' would probably be here:
(http://www.hotcancer.com/images/dh-mouse-1.jpg)

or here:
(http://www.hotcancer.com/images/dh-mouse-2.jpg)

The first would be more instantly-accessible, but is a slightly less comfortable position to maintain and may restrict how close you can get the finger units to the palm for users with smaller hands - although mine are already on the small side. The second means rotating your hand by one finger's worth (i.e. the middle finger ends up resting in the index finger's keywell) but would IMO be more comfortable for prolonged mousing; it feels like I could use it for longer, anyhow.

In either case you could use the mouse-mode thumb-switch to remap space and Alt as the left and right buttons respectively - this would let you statically assign the right index-finger keywell as the up/down/left/right arrow keys in mouse mode since nobody uses the DH mouse function ;) I'd quite like to have the left index finger keys as home/end/PgUp/PgDn rather than the default map which I find slightly weird.

I've never been a massive fan of the 'down' keyswitches as they've always been a bit mushy - perhaps you could experiment with a Cherry brown in the middle and the DH-style NSEW keys?

It would be amazing to have an alternative - or a mashup of old and new pieces - as the obsolence problem has been worrying (clearly for all of we DH users!) for a while now. I really struggle with all other keyboards now; I've ruptured all of my sagittal bands, had tendon grafts to repair eight of them and tore three of those repairs in an RTA last month so it'd be a major blow to have it die on me - it'd probably mean giving up significant typing altogether. Even getting to the point where there's the chance of replacing broken parts is truly awesome. Never felt the need to roll my own controller but mine does crash occasionally (plus it's PS/2 and it's getting harder and harder to find PCs that support it!) so it's really heartening to see so much good work going on. I'm an electronics guy and have occasionally access to some very high-res printers, do let me know if there's anything I can do to help!  :thumb:

Stone
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: Hashable on Wed, 26 February 2014, 19:26:00
Oh wow, I can't believe that I found such a cool project just a couple weeks after getting my ErgoDox :P

I was wondering if this design still uses optical switches (which have the disadvantage of potentially not working in direct sunlight)

If it is so, why? Is there a viable alternative?
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Wed, 26 February 2014, 20:30:18
I would really love to be able to mouse without leaving the DH. [...] For me the best two options to put a trackpoint-style 'nubbin' would probably be ...

I quite agree with you about the desirability of incorporating some type of pointing
device into the design. It is already supported in a couple different ways by the PCB,
but there is no final or perfect solution identified.

Along with the couple options Turbinia has proposed with his case design
( http://geekhack.org/index.php?topic=41422.msg1060497#msg1060497 ) ,
I quite like what gator456 did here: http://geekhack.org/index.php?topic=12212.0

I do not believe that packaging will allow your #1 position, though I think it would
be comfortable. I'm not personally a fan of your #2 position, as it seems awkward to
me. I'm also not sure that the parts will be able to fit in that spot.

If you used your middle finger in the same way as you're using your index finger in #1,
I think that could be supportable, and comfortable. ( my understanding is that you're
imagining the "nubbin" to be sticking out of the front edge of the palm support ).

Please note that I have not been concerned with being mechanically compatible with
the existing DataHand PCBs. You might be able to achieve that by tweaking my OpenSCAD
dimensions, but I have not been targetting that. I am targetting a complete replacement,
and therefore new PCBs too.  Along with that will come complete control over your layout
and key assignments - the joy of a custom keyboard.

The feel of the center switch (and the others for that matter) is greatly affected by the shape
and mass of steel in the clips to which the magnet is drawn. If you wanted to increase the
force required to release the center key, you could choose to make clips out of 0.020" material
instead of 0.015" material and make them 0.050" wide rather than 0.045" or anywhere
inbetween.  This is a wide range of release force. I bet you could be happy somewhere in there.
I have not considered using a cherry switch in the center because 1) MX are too large, 2) I want
to maintain the feel of the magnetic release on the switches.

I was wondering if this design still uses optical switches (which have the disadvantage of potentially not working in direct sunlight)
If it is so, why? Is there a viable alternative?

I am primarily a coder. I work best in the dark, far from windows. I've only ever had a
direct-sun-on-my-datahand experience one time in my 15 years of use, and while I
found it initially confusing, I just had to slightly adjust the horizontal blinds and the
"problem" was solved.

Anyhow, the real answer is that I couldn't come up with a better solution.
This approach allows me to create a reliable switching mechanism in a
funny, small, custom package without the need of making super-high-tolerance
electrical switch contacts. I'm an EE by degree, and a software guy by trade.
I'm sure that the ME's (and people with access to Pro-E!) look at my stuff
here and mutter, but I'm only concerned with getting something that works.
A tangible, working design that will hopefully be improved upon, but can be
used as-is.

However, more to your point: 3D printing allows some easy improvements to
the original in terms of shielding. I have no data to prove it, but I expect that
I have improved on the resistance to ambient and IR light through being able
to have the IR phototransistor snap partially into a box which shields its front
completely and does not expose the eye from above at all. Should be better.
 


Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: Hashable on Wed, 26 February 2014, 21:59:34
However, more to your point: 3D printing allows some easy improvements to
the original in terms of shielding. I have no data to prove it, but I expect that
I have improved on the resistance to ambient and IR light through being able
to have the IR phototransistor snap partially into a box which shields its front
completely and does not expose the eye from above at all. Should be better.

Thanks for the input. I really hope that your work is successful and that I can contribute if you decide to GB or Crowdfund.

In addition, I believe that the middle-finger mouse-nib is a good option. I know a lot of people who use the IBM/Lenovo nibs with their middle-finger so I think it would work, certainly better than a thumb!
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: eviltobz on Thu, 27 February 2014, 03:57:18
...I am primarily a coder. I work best in the dark, far from windows...
:)
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: Stone on Thu, 27 February 2014, 11:00:17
I quite like what gator456 did here: http://geekhack.org/index.php?topic=12212.0
I like that approach too, though I'm right handed! Unfortunately it wouldn't work as well for me as I like to have the finger wells dialled quite far forward and I'm not sure if there's enough space left over. It's a very tidy mod, though.

I do not believe that packaging will allow your #1 position, though I think it would
be comfortable. I'm not personally a fan of your #2 position, as it seems awkward to
me. I'm also not sure that the parts will be able to fit in that spot.

If you used your middle finger in the same way as you're using your index finger in #1,
I think that could be supportable, and comfortable. ( my understanding is that you're
imagining the "nubbin" to be sticking out of the front edge of the palm support ).
That's a fair point and a good idea. I used to have a Toshiba Libretto 70ct which had a very wide/flat top to the trackpoint-style mouse  - if such a device could be mounted in the front of the palm support (top facing the keywells) for use by the middle finger, perhaps it could be flanked by two small rectangular tactile switches for left/right click?

Please note that I have not been concerned with being mechanically compatible with
the existing DataHand PCBs. You might be able to achieve that by tweaking my OpenSCAD
dimensions, but I have not been targetting that. I am targetting a complete replacement,
and therefore new PCBs too.  Along with that will come complete control over your layout
and key assignments - the joy of a custom keyboard.[/ quote]
Yeah, I understand that - the best thing about opening it up like you have is that I could go as far as building a new unit from scratch or mod your case designs to fit my existing DH parts. It's great to have the flexibility!

The feel of the center switch (and the others for that matter) is greatly affected by the shape
and mass of steel in the clips to which the magnet is drawn. If you wanted to increase the
force required to release the center key, you could choose to make clips out of 0.020" material
instead of 0.015" material and make them 0.050" wide rather than 0.045" or anywhere
inbetween.  This is a wide range of release force. I bet you could be happy somewhere in there.
I have not considered using a cherry switch in the center because 1) MX are too large, 2) I want
to maintain the feel of the magnetic release on the switches.
That's interesting, I might experiment with mine at some point to see if I can firm it up a little. They're still my favourite input method but there's always room for personal taste :)

As for the sunlight thing, I work in a fairly bright open-plan office and never had a problem. They're not as badly affected as everyone assumes!

Stone
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: Turbinia on Thu, 27 February 2014, 15:33:01
I haven't worked on the track-point in a while. Hit a bit of a stumbling block with my easypoint module, was getting the interrupts for the button but no xy. I will probably try in a month or two to recompile with the C libraries instead of the arduino ones for I2C and see what that does. Really any option will have sourcing issues, the easypoint module is discontinued in a retail package and there is no easy way to source ibm style trackpoints either without ripping up keyboards. As for the mount on the palm rest, there looks like there would be room, but there really isn't. Did some testing with some mock ups and it just didn't fit the pcb for the pointers.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Sat, 08 March 2014, 23:56:32
[attach=1]

Starting to put together the thumb cluster model.

Still need to implement the "press-down" switch
for the thumbs. I think I can make something like
the original 2-stage DataHand switch, so will give
that a go next.
Title: Re: Re-Create the DataHand - work on finger switches nearly complete
Post by: OldDataHands on Thu, 13 March 2014, 23:07:50
Thanks to damorgue for the input. With
that, some serious redrawing, then redlining
by an M.E. friend, then more redrawing
I now have a drawing to get quoted.
I'll pass along the info once they get
back to me.
...

Well, the shop that I wanted to use to
manufacture a batch of clips declined saying
"Unfortunately it is just too small for us to work with."

I'm a bit annoyed and disappointed, but
will eventually find some way to get them
made other than my crude bending jig.

Anyone have good experiences with any particular
website for soliciting quotes on metal fabrication work?
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: damorgue on Fri, 14 March 2014, 11:12:21
I know a Swedish manufacturer called Lesjöfors (http://www.lesjoforsab.com/default-uk.asp) which makes clips, springs and other various small stamped metal contact parts. It might not be ideal but perhaps their site can give you some help in finding a similar manufacturer locally.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Mon, 31 March 2014, 00:42:05
[attach=1]

So, this is the guts of the thumb down double switch.
It still needs to be equipped to connect to the keycap,
but this is the first mechanical design of the switching
part.

Essentially, the key-cap will press off-center on the bar
(show below the box it lives in). This will force one end
of the bar to move first, only causing the second end
of the bar to move with greater force applied.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: psyclops on Sun, 06 April 2014, 12:07:04
Firstly, let me say a big THANK YOU for working on this... recreating the DataHand has been at the back of my mind for a while, as I always knew that my two DataHands would eventually wear out, and I figured I had the mechanical fabrication chops to rebuild the thing from scratch at this point.  But, to find that someone else is already working on it is a boon!  My second is now showing glitches and a little googling brought me here.  I have extensive 3D design experience (more on the mechanical than electrical) if you need any help...

BTW, I have a great sheet metail shop in the SF Bay Area who have done small run clips for me in the past.  Small sheet metal runs are not cheap however... but these guys' fabrication and more importantly QA is second to none, I have never received a bad part from them.  The company is called Vander-Bend and I can PM you the contact info for my guy over there.

cheers,

nick.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Mon, 14 April 2014, 22:45:51
Unfortunately, Vander-Bend declined to quote making the clips,
indicating that this part was not a good fit for them. That's the
second shop which really looked well-placed (to my untrained eyes)
and decided that they weren't interested.

If at first you don't succeed...

Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OverKill on Mon, 14 April 2014, 23:06:16
At my old shop we used to get a lot of stuff done at Bokers. www.bokers.com (http://www.bokers.com)
Not sure how small of a part they can do but they seem to do some pretty decent stuff. The only thing is I don't know what their MOQ is or if they even have one.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: Zekromtor on Tue, 20 May 2014, 12:09:42
I would love a thumb section of the datahand combined with my kinesis.
Great work.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: nclu on Tue, 10 June 2014, 10:52:13
I miss seeing these updates in the morning. Has the project moved? Is it still going?
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Wed, 11 June 2014, 22:26:26
Real life is interfering. I expect to be able to work on this again this fall or winter. probably not before.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: eviltobz on Thu, 12 June 2014, 02:54:35
that's ok, it's just more time to save money for an eventual group buy. that's ok, it's just more time to save money for an eventual group buy. that's ok, it's just more time to save money for an eventual group buy. that's ok, it's just more time to save money for an eventual group buy. that's ok, it's just more time to save money for an eventual group buy. that's ok, it's just more time to save money for an eventual group buy. that's ok, it's just more time to save money for an eventual group buy. that's ok, it's just more time to save money for an eventual group buy.

/sobs

;)
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: jeep on Wed, 02 July 2014, 13:51:55
Sorry for the spam, but this keeps falling off my radar, so I'm posting here to keep tabs on this project. I am looking forward to seeing what happens with it.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: wolfv on Thu, 10 July 2014, 03:39:54
Burro Volando has a easy improvement for DataHand:
Quote
I think the keys were designed erroneously with too large a “dish” in the center and with the outer ridge too close to the side keys. I would have made the “dish” about one-quarter or at most 5/16th of an inch in diameter.
from http://deskthority.net/photos-f62/datahand-t2384-90.html
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Thu, 10 July 2014, 21:00:58
Well, BV's complaint isn't one that I share, but
happily for them, it'll be easy (and inexpensive)
for them to print out a set of smaller buttons if
that's what they want.

in other news: Still likely to be fall before I have
time to work on this again - just isn't possible
at the moment.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Sun, 20 July 2014, 22:27:41
https://github.com/dodohand/dodohand

just a PSA: my sources are all up on github.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: bieniekmat on Thu, 14 August 2014, 13:29:37
Thanks for doing this. I have RSI and I hope to find something like that one day on the mark. Have you ever thought of starting a kickstarter project? I'd be glad to donate some money and see such project coming to fruition.

Many thanks, Mat
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: LaPoune on Sun, 17 August 2014, 02:54:18
Really cool project. With the recent popularity and countless "ergo" cherry designs I was wondering why no one attempted to make a modern version of the datahand. I'll take 10! :)
Title: Please lend your broken DataHand
Post by: wolfv on Sun, 31 August 2014, 22:25:39
This is an awesome project.
OldDataHands has uploaded quality work to https://github.com/dodohand/dodohand

The thumb cluster still needs to be modeled; it is the most complicated part on DataHand.
People that have DataHand don't need to make one, and people that need DataHand can't model it.  A Catch-22.

I would model the thumb cluster if I had access to a DataHand.
If a generous soul could lend me a broken DataHand they are not using, I could model the thumb cluster and write the firmware.
That would complete the DodoHand project and return the DataHand.
Even broken DataHands are valuable, so an escrow could be arranged.
I live in the USA.

I know I can do this because of my experience from making a small split keyboard.
I made the split keyboard small so that I could use it without moving my hands.
I modeled the keyboard and Shapeways 3D-printed the mount plates.
I assembled, soldered, and wrote the firmware for the Teensy & MCP23018 IO expander.
After a month of using the small keyboard, my arms felt great, but my fingers hurt.
Now I am desperate for a DataHand or something like it.

My motivation is selfish, but the DodoHand project is open source so many others can benefit as well.
Please PM me if you have a broken DataHand you could lend.

Thank you.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: wolfv on Wed, 10 September 2014, 02:19:17
Now that I think of it, I don't need much hardware to develop the software.
I can develop 99% of the software on an 8-key breadboard.
That way the firmware will be ready by the time OldDataHands finishes the thumb-cluster modeling :).

Please answer two questions so I can get started on the firmware:
 1) Is the space between the emitter and optic sensor normally blocked or unblocked?
 2) What is a good example firmware for implementing optical switches?
   scantest.cpp
   led_test.cpp
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Wed, 10 September 2014, 23:16:03
The IR LED is normally blocked from shining onto the phototransistor.
This helps to reduce power consumption (no current through phototransistor).

led_test.c scans the finger switches for both hands and activates the status
LEDs on both sides. This is the file that should be referred to for how to read
the switch states (well, this, and scanlh.c and scanrh.c which do the actual
scanning of the switch matrices).

This ought to be a good resource for datahand firmware, and a working
example of the datahand modifiers. It is my intention to leverage this project
to the greatest extent possible:
https://github.com/imarko/dhteensy

I also think it would be worthwhile to look at Soarer's and TMK's firmware
to see if it makes sense to present the key switch status in a manner which
makes it possible to leverage one of those projects.

Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: wolfv on Thu, 11 September 2014, 11:05:57
Thanks OldDataHands.  I will study the dhteensy working example of the datahand modifiers.

I did a quick survey of some keyboard firmwares and if they use an io expander.

These firmwares do not contain the word "expander" in the source or documentation:

These firmwares use io expanders:
And two questions, if you don't mind:

In the DodoHand firmware, what does "trig" mean? e.g.
   pca9655e_trig_scanrh()
   pca9655e_trig_cyc()
   pca9655e_trig_init()

In the DodoHand Bill of Materials, what are the 22 "test point" parts for?:
 http://www.digikey.com/product-detail/en/1040/1040K-ND/315157
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: eviltobz on Thu, 11 September 2014, 11:26:26
...
These firmwares do not contain the word "expander" in the source or documentation:
  • TMK https://github.com/tmk/tmk_keyboard

These firmwares use io expanders:
  • ErgoDox uses an expander. https://github.com/benblazak/ergodox-firmware

There is a TMK ErgoDox port here https://github.com/cub-uanic/tmk_keyboard so you could use that as a starting point if you want the TMK feature set.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: wolfv on Thu, 11 September 2014, 18:19:07
Thanks eviltobz; its good to know all the options :thumb:.
The TMK feature set does seem to be a bit much.
More about the TMK ErgoDox port here http://geekhack.org/index.php?topic=48106.0
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Fri, 12 September 2014, 23:16:49
Thanks OldDataHands.  I will study the dhteensy working example of the datahand modifiers.

I did a quick survey of some keyboard firmwares and if they use an io expander.

These firmwares do not contain the word "expander" in the source or documentation:
  • Soarer's http://geekhack.org/index.php?topic=50437.0
  • imarko's dhteensy https://github.com/imarko/dhteensy
  • TMK https://github.com/tmk/tmk_keyboard

These firmwares use io expanders:
  • gator456's DataHand Upgrade Project probably uses an expander, but the thread doesn't say what firmware he is using or how usable it is. http://geekhack.org/index.php?topic=50437.0
  • ErgoDox uses an expander. https://github.com/benblazak/ergodox-firmware
  • The keyboard firmware I wrote uses an expander (I will open source the code).

And two questions, if you don't mind:

In the DodoHand firmware, what does "trig" mean? e.g.
   pca9655e_trig_scanrh()
   pca9655e_trig_cyc()
   pca9655e_trig_init()

In the DodoHand Bill of Materials, what are the 22 "test point" parts for?:
 http://www.digikey.com/product-detail/en/1040/1040K-ND/315157
trig is short for trigger.
trig_scanrh() triggers a scan of the IO expander (IOX) switch matrix.
trig_init() configures IOX inputs and outputs.
trig_cyc() will trigger a single read/write cycle from/to the IOX.

The test points allow you to securely attach a probe to a signal. only for debugging.

just as background info: I think the communications with the expander are
working nicely, as is the scanning of the finger switches.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: wolfv on Fri, 12 September 2014, 23:52:49
OldDataHands,

Since you already tested the PCB, would the test points be of any use to me?
(I have a multimeter and know basic electronics).
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Sat, 13 September 2014, 10:46:07
Depends on what parts of the software you modify.
these guys:
https://www.saleae.com/
make a nice, inexpensive tool which you might want to use if you modify the matrix scanning code. easy to make a bug. easier to fix if you can see the electrical signals.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: wolfv on Sat, 13 September 2014, 20:48:02
Thank OldDataHands.  I never heard of a logic analyzers, and that looks like a nice one.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: rosingle on Sun, 28 September 2014, 16:41:23
great project... Suffering from dystonia it would be nice if datahand could be available again...
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: caseyandgina on Tue, 30 September 2014, 11:24:29
I hope this comes to fruition.  When complete, what will it cost?
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Wed, 01 October 2014, 10:20:45
Just wanted to note that I am starting to work on this again, a bit.

When complete, what will it cost?

I recall thinking that, depending on case design, I could make it for ~$600, not counting time or tools of course.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: vivalarevolución on Thu, 02 October 2014, 08:16:15
Just wanted to note that I am starting to work on this again, a bit.

When complete, what will it cost?

I recall thinking that, depending on case design, I could make it for ~$600, not counting time or tools of course.

I think if you make it available to receive donations for your efforts, some of us will be more than willing to send you compensation.
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: lohapuk on Sun, 05 October 2014, 04:56:11
Maybe it's worth setting up a Kickstarter campaign, I'm more than willing to donate. 
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Sun, 05 October 2014, 22:53:07
I think if you make it available to receive donations for your efforts, some of us will be more than willing to send you compensation.
Maybe it's worth setting up a Kickstarter campaign, I'm more than willing to donate.

Thanks guys, but time is the bigger challenge. Maybe I'll consider trying to raise money
if it comes to needing to purchase some real tooling, but right now, SLS nylon is affordable!
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: yasuo on Sun, 05 October 2014, 22:55:40
nice:thumb:
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Mon, 06 October 2014, 00:04:32
Rough shape of the thumb down double switch is complete!
[attach=1]
only a few more details to add to the model.
[attach=2]
Title: Re: Re-Create the DataHand - Thumb switches under development. Project 70% done.
Post by: OldDataHands on Sat, 11 October 2014, 23:36:24
Starting to finalize the arrangement of the whole thumb cluster.
Here are a few pics of where it stands:
[attach=1]

[attach=2]

[attach=3]
There are still a few tweaks required, but I'm starting to get excited
about placing my next parts order with Shapeways so that I can
see how these thumb switch mechanisms will work!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 16 October 2014, 22:47:47
Working on the PCB footprints for the thumb switches now.
Finally getting back to incorporating regack's solder bridge science
into the project.
[attach=1]
This is two of these solder bridges, on opposite sides of the board,
connected together by a single PTH / via.

Hope to have a thumb PCB designed this month.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hillel369 on Sat, 18 October 2014, 13:19:28
Just another long time DataHand user ready to purchase once they're ready.

Buying my DataHand saved my career in programming many years ago.

Keep up the great work!!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 21 October 2014, 00:18:06
Some progress made on the thumb PCB:
[attach=1]
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Tue, 21 October 2014, 04:21:02
I have been following this excellent thread and work closely and had printed a finger cluster using and ABS filament with partial success.  It looks like a filament-based printer could be used but it would need PVA support and probably using nylon rather than ABS.  When the local printing company has a dual-head machine with nylon/PVA we will have another go.

In the meantime I purchased an old DH200-6 in order to test my plan to build a 2 1/4" finger trackball into the DodoHand.  I am using the ADNS9800 laser sensor for the ball and build the prototype cup out of polymorph.  The first problem I hit was how old the electronics in the DH200-6 is and decided to replace it entirely with a Teensy microcontroller.  I chose the Teensy-3.1 because I had one in stock and wanted a project to play with it.  The prototype electronics is on veroboard for now, if all goes well I will look into creating a PCB.

One big headache was the extent of the thumb-cluster PCB which pushed the trackball too far from a comfortable position.  In order to trim this board I had to move the up-switch inwards, re-mold the leaver and re-wire underneath.  With a lot of trimming and messing about I managed to get the ball into a good position and trimmed the case appropriately to expose the ball.  If others are interested in putting a 2 1/4" trackball into the DodoHand we may need to look carefully at the extend of the thumb-cluster PCB and possible relocation of the up-switch closer-in and appropriate changes to the leaver.

I have written the code for right-hand and have the ball working, mouse buttons (mapped to thumb switches), key matrix (Dvorak layout) and it is all working really well.  I am now working on IO expander firmware for the left-hand unit with an I2C connection to the right-hand unit.  In the longer-term I might put a trackball in the left-hand unit also.

I have  attached to photos of the right-hand unit.  I would be happy to provide more detail and discuss this project if there is general interest in a track-ball option for the DodoHand.

P.S.  This is my first post here and I am not sure how the images will be processed, sorry if it doesn't come out right.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Tue, 21 October 2014, 11:03:15
I have been following this excellent thread and work closely and had printed a finger cluster using and ABS filament with partial success.  It looks like a filament-based printer could be used but it would need PVA support and probably using nylon rather than ABS.  When the local printing company has a dual-head machine with nylon/PVA we will have another go.

In the meantime I purchased an old DH200-6 in order to test my plan to build a 2 1/4" finger trackball into the DodoHand.  I am using the ADNS9800 laser sensor for the ball and build the prototype cup out of polymorph.  The first problem I hit was how old the electronics in the DH200-6 is and decided to replace it entirely with a Teensy microcontroller.  I chose the Teensy-3.1 because I had one in stock and wanted a project to play with it.  The prototype electronics is on veroboard for now, if all goes well I will look into creating a PCB.

One big headache was the extent of the thumb-cluster PCB which pushed the trackball too far from a comfortable position.  In order to trim this board I had to move the up-switch inwards, re-mold the leaver and re-wire underneath.  With a lot of trimming and messing about I managed to get the ball into a good position and trimmed the case appropriately to expose the ball.  If others are interested in putting a 2 1/4" trackball into the DodoHand we may need to look carefully at the extend of the thumb-cluster PCB and possible relocation of the up-switch closer-in and appropriate changes to the leaver.

I have written the code for right-hand and have the ball working, mouse buttons (mapped to thumb switches), key matrix (Dvorak layout) and it is all working really well.  I am now working on IO expander firmware for the left-hand unit with an I2C connection to the right-hand unit.  In the longer-term I might put a trackball in the left-hand unit also.

I have  attached to photos of the right-hand unit.  I would be happy to provide more detail and discuss this project if there is general interest in a track-ball option for the DodoHand.

P.S.  This is my first post here and I am not sure how the images will be processed, sorry if it doesn't come out right.

Oh my goodness that's awesome! One heck of a first post, thanks for sharing. That mod is really very nicely done.

About getting the LH running, you can adapt the firmware from the ergodox, which uses I2C and an MCP23018 IO expander. Still I have heard that it's not the best choice cue to the low speed of I2C. You might want to use some shift registers (like many vintage keyboards and bpiphany's costar replacement controllers (two 74HC42's))
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Tue, 21 October 2014, 13:04:52
I have a MCP23018 connected to a Teensy-3.1 on a piece of breadboard and playing with the code from the ergodox.  I would rather use the Wire library than the lower-level twi library so I am unravelling the protocol from the ergodox code and writing a MCP23018 class.  I should have this finished this evening and tomorrow I will connect the thumb and finger clusters from the LH unit to the breadboard and finish the programming.    I hope to have the LH unit finished by the end of the week.

I will release all of the details and code on GitHub as soon as it is ready.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 21 October 2014, 22:33:24
hweller - that is a thing of beauty. Welcome to GeekHack, and what an entrance!

I will be acutely interested in hearing how you like that trackball positioning.
It could be an amazing improvement. I will have my ears/eyes open for your
updates.  Please feel free to put your updates in this thread - It'd help me to
keep track of them, but your project certainly deserves a thread of its own.
Excellent work.

I'll have to adjust the layout of my finger and thumb boards to help make
room for that. It looks very promising.

My update for the night is the OSH Park rendering of the first rev of the thumb
PCB:

[attach=1]

[attach=2]

Not yet ordered, as I want to do some double-checking of footprints and such first.
It is on the order of 3 inches by 2 inches, so $30 from OSH Park for 3 copies.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Wed, 22 October 2014, 04:32:15
I am glad there is interest in my idea of building a trackball into the DodoHand, I really think this will be a good option.  I am more than happy to post my progress to this thread as I see it as a prototype option for the DodoHand rather than an upgrade to the obsolete DataHand.  I will also release all details and code publicly in case anyone else is interested in cannibalizing a DH200 in the same way but I must stress that it is far from trivial and would be easier to start from the DodoHand components when they are complete.

I have been using the right-hand unit as a trackball for a week now and find it surprisingly comfortable and convenient.  In mouse-mode I have mapped the thumb down key as the left mouse button, the second level down switch and left double-click, the thumb pad key as the middle mouse button and the thumb nail key as the right mouse button.  This arrangement feels similar to Logitech TrackMan Marble FX which I used from the late 90s until I fitted a Kensington Slimblade ball unit into the middle of my Kinesis Advantage keyboard.  While this is a good arrangement and saves on arm movement the original Logitech TrackMan is the best trackball I have used and I am hoping the trackball fitted into the DodoHand will be even better.

One minor issue I have with the current hardware I am using is that the Kicklighter breakout board for the ADNS9800 laser sensor:

https://www.kickstarter.com/projects/1034145369/high-speed-laser-optical-sensor (https://www.kickstarter.com/projects/1034145369/high-speed-laser-optical-sensor)
https://www.tindie.com/products/jkicklighter/adns-9800-optical-laser-sensor/ (https://www.tindie.com/products/jkicklighter/adns-9800-optical-laser-sensor/)

is quite large and needs to be mounted opposite the point at which the fingers move the ball which is hard to achieve as it hits the base of the case.  However John Kicklighter has a smaller version of the breakout board which if he releases would solve this problem completely.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: vivalarevolución on Wed, 22 October 2014, 14:15:32
When you say Dodohand, what are you referring to?  Just need some clarification.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 22 October 2014, 18:24:48
When you say Dodohand, what are you referring to?  Just need some clarification.

This project is the DodoHand project - This Re-Creation of the DataHand.

I named it DodoHand a while after I started into this project:
http://geekhack.org/index.php?topic=41422.msg871630#msg871630
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 23 October 2014, 00:03:39
the Teensy-3.1
I have written the code for right-hand and have the ball working, mouse buttons (mapped to thumb switches), key matrix (Dvorak layout) and it is all working really well.  I am now working on IO expander firmware for the left-hand unit with an I2C connection to the right-hand unit.

hweller,
That looks like a nice trackball setup.  Thank you for posting :thumb:
I was thinking of replacing a thumb cluster with a track ball, but your setup might be better.

I am working on a DodoHand firmware for Teensy 2.0.
What firmware or library are you using or modifying?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Thu, 23 October 2014, 03:09:23
I also considered fitting a thumb trackball but having used a Kinesis Advantage keyboard for some years I am reluctant to give up one of the thumb-clusters for a trackball and having both look impractical.

I initially looked at smaller balls for the fingers which would be less of a squeeze but do not feel so comfortable under the hand.  Overall I think that the 2 1/4" ball is optimal but meant a lot of fettling of the PCBs to fit.  Incidentally I contacted John Kicklighter concerning the smaller ADNS9800 breakout boards and he kindly offered to provide them -- one problem solved.

I haved developed code for the Teensy 2 in the past in C using Makefiles but the support for this approach on the Teensy 3 is not so good.   The PJRC site recommends the Teensyduino interface for Teensy 3 development but I quickly became irritated by the IDE and longed for a good old-fashioned Makefile.  I played with my own for a while and then found:
https://github.com/apmorton/teensy-template (https://github.com/apmorton/teensy-template)
which is a good starting point for Teensy 3 development.  Additionally I use a Teensy 3 version of the CLI loader:
https://github.com/texane/teensy3.git (https://github.com/texane/teensy3.git)

For I2C I use the standard Wire library supplied by PJRC.

For SPI (interface to the ADNS9800) I use:
https://github.com/xxxajk/spi4teensy3 (https://github.com/xxxajk/spi4teensy3)

The ADNS-9800 interface I use in this project is based on that provided by John Kicklighter
https://github.com/mrjohnk/ADNS-9800.git (https://github.com/mrjohnk/ADNS-9800.git)
 https://github.com/mrjohnk/Trackball2.git (https://github.com/mrjohnk/Trackball2.git)
with updates for the Teensy-3.1 from
 https://github.com/pepijndevos/Dwergmuis (https://github.com/pepijndevos/Dwergmuis)

The interface to the MCP23018 was a bit more tricky as I could not find a suitable class using Wire rather than twi so I had to write my own with reference to the ergodox-firmware:
https://github.com/benblazak/ergodox-firmware.git (https://github.com/benblazak/ergodox-firmware.git)
and
https://github.com/sumotoy/gpio_expander.git (https://github.com/sumotoy/gpio_expander.git)

I wrote the key cluster processing classes myself with reference to the dhteensy and dodohand code:
https://github.com/imarko/dhteensy.git (https://github.com/imarko/dhteensy.git)
https://github.com/dodohand/dodohand.git (https://github.com/dodohand/dodohand.git)

I hope to get my code in a releasable state over the next few days.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: vivalarevolución on Thu, 23 October 2014, 08:51:36
When you say Dodohand, what are you referring to?  Just need some clarification.

This project is the DodoHand project - This Re-Creation of the DataHand.

I named it DodoHand a while after I started into this project:
http://geekhack.org/index.php?topic=41422.msg871630#msg871630

Ok, thank you.  Fun title!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 23 October 2014, 12:55:47
Wow hweller, that is an impressive array of firmware you put together.

I am using the Arduino Keyboard and Wire libraries on teensy2 and MCP23018.
I use Make to develop most of the classes on g++, then use the Arduino IDE for the final build with the Arduino Keyboard and Wire libraries.  That way others only need to install Arduino IDE to modify and compile the code.
I will release the firmware in November.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 23 October 2014, 18:06:57
I am writing a DodoHand firmware but don't have access to a DataHand.
If you use a DataHand, please answer these two questions for me:

1) When finger Mouse is on, does pressing "Arrow Keys On" (right middle finger well) activate arrow keys?
Page 37 of DataHand Pro II User Guide says "To use the arrow keys in Mouse Function mode, you must first turn on the arrow keys and turn off the mouse." How do you do that?

2) If NAS+shift+5 is pressed, does DataHand print "5" or "%"?

Thank you.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 23 October 2014, 21:19:21
Hi wolfv,

Re: 2): When NAS+shift+5 is pressed, you get %

Re: 1) I have Dvorak DataHands, which have a different mapping to the mouse mode and arrow keys.
In the Dvorak layout the right-hand pinkey finger N/E/S/W keys are arrows in NAS mode.

Regarding the MCP23018: The DodoHand uses a PCA9655E because it relies upon the I/O Expander
to source current, not sink it like the MCP2308... I assume that you're just using that as a surrogate,
but want to make certain.

hweller: It would take a bit of tweaking, but I could swap pin assignments and free up the SPI port on
the Teensy2.0 for that laser sensor. (I'm currently setup for an I2C pointing device, not SPI). Do you
think that the atmega32u4 has enough guts to reasonably deal with the laser tracker too?  I have no
idea what idle time is available after dealing with the PCA9655E and USB HID stuff...  Still, first things
first: I need to finish the first revision before worrying too much about possible improvements.

Calling InputNirvana: You've said multiple times that improvements were needed. I think hweller is really
on to a good thing here. Do you have any particular reaction?

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 23 October 2014, 22:12:42
Re: 2): When NAS+shift+5 is pressed, you get %
Thank you for the information OldDataHands.

If NAS+shift+% is pressed, what does DataHand print?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 23 October 2014, 22:17:10
If NAS+shift+% is pressed, what does DataHand print?

Also %
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: ConscienceDrop on Thu, 23 October 2014, 22:42:01
this project blows my mind and goes way over my head.  :eek:
but i feel like im learning alot from reading all your posts and watching this re-birthing process.

very inspirational guys.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 23 October 2014, 23:02:06
One last note for the night: Looks like it'll run around $120 to
print the components for all the thumb switches, and ~$30 for the PCBs.

Unfortunately, Shapeways recently altered their pricing calculation and
multiple pieces now cost extra for each part, whereas before you could
group them into one model and save. This looks to add around $180
to the cost of printing a full set of switch parts. What a bummer. I guess
I'll have to do research again to see what other 3D printing options are
around.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: jacobolus on Thu, 23 October 2014, 23:33:00
I think you can add some little tabs connecting your parts to dramatically cut your shapeways cost. Kind of a pain in the ass though.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Fri, 24 October 2014, 05:58:52
hweller: It would take a bit of tweaking, but I could swap pin assignments and free up the SPI port on
the Teensy2.0 for that laser sensor. (I'm currently setup for an I2C pointing device, not SPI). Do you
think that the atmega32u4 has enough guts to reasonably deal with the laser tracker too?

Yes I think that with care the Teensy 2.0 is sufficient in terms of performance but if you would like the trackball to operate an interupt which the ADNS9800 breakout board provides you will need an extra pin, i.e. 5 pins in total for the SPI + interupt.  The problem I have with the DH200 is that the matrix is 14x2 so I need 16 pins just for the keys.  My total pin utilization is
    Pin requirements:
    | Purpose                                              | #pins |
    |------------------------------------------------+--------|
    | I2C (comms between teensys)           |        2 |
    | SPI (comms with trackball) + interupt |        5 |
    | Key matrix column inputs                    |        2 |
    | Thumb row outputs                             |        4 |
    | Finger row outputs                              |      10 |
    | Mode and modifier indicator LEDs       |        6 |
    | Wake-up GPIO pin                               |        1 |
    |------------------------------------------------+---------|
    | Total                                                    |      30 |

So the Teensy 2.0 with only 25 IO pins is not sufficient.  I could use the Teensy++ 2.0 but the Teensy 3.1 has enough pins and more power and memory than I know what to do with so I thought I will go with the latest.  The only disadvantage of the 3.1 over the Teensy++ 2.0 is that I need to use some of the pins on the underside of the PCB so I had to solder on a surface-mount header and as I wanted to fit it to the veroboard on a socket I had some "fun" with track-cutting and fitting strips of header socket.  But it is do-able.  Fitting the Teensy 3.1 with the surface-mounted header to a PCB would not pose any problem.

I have used the Teensy 2.0 for chorded keyboard projects in the past and found that I ran out of memory quite quickly and had to move data back and forth between RAM and FLASH which was a pain.  In the end I moved over to the Teensy++ 2.0 because of the extra memory but now the Teensy 3.1 is available and is also cheaper than the Teensy++ 2.0 I will stick with the 3.1.  I am hopeful that in the longer term there will be a suitable microcontroller based on the open-source RISC V processor.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 25 October 2014, 22:17:16
I ordered a print of the thumb switches for the right-hand
from Shapewas tonight, and the PCBs from OSHPark.
Hopefull by mid-November I'll be able to assemble the
thumb switches and see if/how they work.

Yes I think that with care the Teensy 2.0 is sufficient in terms of performance but if you would like the trackball to operate an interupt which the ADNS9800 breakout board provides you will need an extra pin, i.e. 5 pins in total for the SPI + interupt. 

Understood, and that's not a problem.
There are sufficient pins for the IRQ.

I think you can add some little tabs connecting your parts to dramatically cut your shapeways cost. Kind of a pain in the ass though.

Good point jacobulus. Given that in total, for both hands
there are some 96 pieces, there is an opportunity to drop
well over $100 from the print cost by connecting with a
tree. Definitely a pain.

Here's the 3D model submitted for printing:
[attach=1]
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Sun, 26 October 2014, 11:45:32
The initial version of the DH200 with trackball is now complete. 

The left-hand unit now has a MCP23018 IO-expander replacing all of the original electronics but otherwise remains unchanged.  I am tempted to fit a trackball also in the left-hand unit in which case it might be easiest to fit a microcontroller rather than an IO-expander but this is for the future.  I found the Wire library supplied for the Teensy-3.1 worked fine during testing with a very short I2C wire but now I have a 1/2m TRRS cable it has proved unreliable and I am now using the i2c_t3 library which works better.  For those wanting to separate the left- and right-hand units a long way, or maybe connect them via a cable behind a chair for example I think a low capacitance cable e.g. Cat5/5e would be much more reliable than TRRS and for the next version I will replace the TRRS connectors with Cat5 8P8C connectors (to be able to use readily available Cat5 cables) or maybe the 4P4C connector.

I am still evolving the key-maps and playing with a shift-mode in addition to the shift modifier which allows complete freedom in mapping of keys as well as their shifted variants, in particular I REALLY want to swap () with [] for Lisp/Scheme programming.  At the moment I use xmodmap to remap shifted keys which is not convenient.  So far the shift-mode looks like a good solution.

The initial version of my notes and code for this project is now available from GitHub:
https://github.com/Henry/TrackHand (https://github.com/Henry/TrackHand)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 26 October 2014, 13:09:55
Sounds great!

Any idea what makes the one I2C library work better? slower clock rate?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Sun, 26 October 2014, 13:56:54
Same clock rate was used, just 100kHz.  I played with the settings a bit but couldn't get Wire to work reliably so I thought I would try i2c_t3 as a sanity check and found it worked fine verifying my wiring.  I didn't investigate the problems with Wire any further.  I think this is only an issue with the Wire library for the Teensy 3.? and as the i2c_t3 is specialised for the ARM microcontoller and better performance is probably preferable anyway.  I think the standard Wire library is fine for the Teensy 2.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Tiramisuu on Sun, 26 October 2014, 15:41:46
like many I am watching this thread regularly.   An exciting project.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dpanse on Sun, 26 October 2014, 18:26:05
To digress a bit, my Datahand Pro II stopped working. Any help would be greatly appreciated: http://geekhack.org/index.php?topic=64792.0
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 28 October 2014, 22:18:42
Thank you for the information OldDataHands.

If NAS+shift+% is pressed, what does DataHand print?

Hi wolfv,

Not certain if this will be of immediate value to you, but here is the switch matrix:

[attach=1]

Note that the switch matrix is the repeated for each hand, and that the easypoint
switch is purely optional.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Tue, 28 October 2014, 22:51:24
looks like you can achieve NKRO using a very similar method as the modern hall effect keyboard matricies will.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 29 October 2014, 09:42:47
looks like you can achieve NKRO using a very similar method as the modern hall effect keyboard matricies will.

I'm unfamiliar with those, but the DodoHand switch matrix is certainly NKRO... USB: not so much.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Wed, 29 October 2014, 12:18:00
looks like you can achieve NKRO using a very similar method as the modern hall effect keyboard matricies will.

I'm unfamiliar with those, but the DodoHand switch matrix is certainly NKRO... USB: not so much.

since the photoresistors will only output when they have light hitting them, you can "isolate" a row from the rest by only powering the LEDs on that row. Then, with a high scanrate, you can "remember" what was pressed or unpresed from the last scan, and only update switch states that have changed.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: jacobolus on Wed, 29 October 2014, 13:08:27
USB: not so much.
USB is entirely capable of NKRO. You just need to use the proper bit of the protocol, which most keyboards don’t. Check out soarer’s and hasu’s firmware to see examples.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 29 October 2014, 14:36:43
USB is entirely capable of NKRO. You just need to use the proper bit of the protocol, which most keyboards don’t. Check out soarer’s and hasu’s firmware to see examples.
Interesting! Thanks for the gentle cluesticking!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: HaaTa on Wed, 29 October 2014, 15:24:01
Here's a couple USB NKRO descriptors:

Freescale ARM (https://github.com/kiibohd/controller/blob/master/Output/pjrcUSB/arm/usb_desc.c)
AVR PJRC (https://github.com/kiibohd/controller/blob/master/Output/pjrcUSB/avr/usb_keyboard_serial.h)

hasu has various descriptors as well for USB NKRO (though they are slightly different as he's trying to do different things): https://github.com/tmk/tmk_keyboard/tree/master/protocol (https://github.com/tmk/tmk_keyboard/tree/master/protocol)

Unfortunately Soarer never opened up his code (and then proceeded to disappear..). Made it tricky when I wanted to ask him questions about it. However, you can still get a USB HID Descriptor out of it -> http://pastebin.com/phRrCPty (http://pastebin.com/phRrCPty)

I'll try to give the super brief overview, I should write an article sometime...but feel free to join #geekhack @ irc.freenode.net and you can ask me more specific questions.


You'll also want to be familiar with the USB HID Spec -> http://www.usb.org/developers/hidpage/HID1_11.pdf (http://www.usb.org/developers/hidpage/HID1_11.pdf) http://www.usb.org/developers/hidpage/Hut1_12v2.pdf (http://www.usb.org/developers/hidpage/Hut1_12v2.pdf)
The USB HID spec doesn't explain how to implement NKRO, but it hints at how to achieve it (which is how dfj, Soarer and hasu figured it out).

All of this has been tested Windows/Linux/Mac and adheres to the USB HID spec so in theory should work everywhere.
When in doubt, Wireshark helps with debugging. Though you'll want some microcontroller side USB debugging as well to deal with odd Microsoft/Mac issues that tend to come up with USB.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Wed, 29 October 2014, 17:06:14
I received a PCA9655E I/O expander today.  How to mount it on a solderless breadboard?

Thank you DodoHand for the thumb cluster switch matrix.

The NKRO information will be useful.  NKRO can be added to the firmware on a  later release.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 29 October 2014, 17:59:21
I received a PCA9655E I/O expander today.  How to mount it on a solderless breadboard?

 https://www.sparkfun.com/products/495

is probably the right answer.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 29 October 2014, 18:47:11
https://www.sparkfun.com/products/495

is probably the right answer.
errr, actually this one:
 https://www.sparkfun.com/products/496
the first has only 20 pins.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: chrisandreae on Wed, 29 October 2014, 20:36:50
  • 2 USB Endpoints are required, 1 must adhere to the Boot Protocol (see Appendix B in the USB HID spec), the other can be whatever you want

Following boot protocol doesn't actually require a separate interface/endpoint - after a Boot Interface subclass interface receives Set_Protocol, it's expected to ignore whatever report format its report descriptor specifies and send boot format reports. Your descriptors don't need to include the boot protocol report descriptor, since A BIOS using the boot protocol doesn't read the report descriptors at all. (See Appendix B and F)

  • To do USB NKRO you can either send N bytes (which is dumb) or you can send a bitmap of all of the keystates (e.g. 1 bit per key), you can define which bits do what using the USB HID descriptors (which is why I linked examples above)
  • You can go even further by grouping packets so you don't have to send everything all the time

An awkward HID spec compliance issue for NKRO is that Appendix C (Keyboard Implementation) states that "Non-modifier keys must be reported in Input (Array, Absolute) items" - so using an Input (Variable, Absolute) bitset is not actually adhering to the spec. That said, I think it's still the most compatible with real-world systems (though I haven't actually played with NKRO for a while - is this still true?). Splitting up the keyboard into multiple independent interfaces with a few (Array, Absolute) input items each runs into the awkward problem on OS X that modifier state is not shared between "different keyboards", so each modifier key change might require sending several reports.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: HaaTa on Wed, 29 October 2014, 22:05:00
  • 2 USB Endpoints are required, 1 must adhere to the Boot Protocol (see Appendix B in the USB HID spec), the other can be whatever you want

Following boot protocol doesn't actually require a separate interface/endpoint - after a Boot Interface subclass interface receives Set_Protocol, it's expected to ignore whatever report format its report descriptor specifies and send boot format reports. Your descriptors don't need to include the boot protocol report descriptor, since A BIOS using the boot protocol doesn't read the report descriptors at all. (See Appendix B and F)
Yeah that makes sense. I'll have to test it, but there may be a compatibility reason why Soarer and hasu settled on using two separate endpoints.

  • To do USB NKRO you can either send N bytes (which is dumb) or you can send a bitmap of all of the keystates (e.g. 1 bit per key), you can define which bits do what using the USB HID descriptors (which is why I linked examples above)
  • You can go even further by grouping packets so you don't have to send everything all the time

An awkward HID spec compliance issue for NKRO is that Appendix C (Keyboard Implementation) states that "Non-modifier keys must be reported in Input (Array, Absolute) items" - so using an Input (Variable, Absolute) bitset is not actually adhering to the spec. That said, I think it's still the most compatible with real-world systems (though I haven't actually played with NKRO for a while - is this still true?). Splitting up the keyboard into multiple independent interfaces with a few (Array, Absolute) input items each runs into the awkward problem on OS X that modifier state is not shared between "different keyboards", so each modifier key change might require sending several reports.

AFAIK, this has been tested working on Windows/Linux/Mac. Mac runs into issues if there are separate endpoints composing a keyboard. When I talk about groups, this is still within the same HID collection so it is still referencing the same keyboard device.

I've yet to see a system that does not work with bitmaps (vs. arrays) myself.

Hmm, something interesting in the spec. Look at 6.2.2.4, it's possible to have an Array that is also a bit field (bitmap) (bits 1 and 8 for Input). This might be why using the bitmaps works in the tested implementations.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Wed, 29 October 2014, 23:28:21
What soldering method do you recommend for the DodoHand PCB: soldering iron, hot air station, or toaster oven?
I have no surface-mount soldering experience or tools.

Thank you.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Thu, 30 October 2014, 00:05:03
What soldering method do you recommend for the DodoHand PCB: soldering iron, hot air station, or toaster oven?
I have no surface-mount soldering experience or tools.

Thank you.


Looking at the PCBs, you could do it with a hand soldering iron and a lot of care, but if you have access to a reflow toaster or hot air it would probably make it easier.

Since I have no soldering toaster, and lots of SMD experience I'd just do it by hand.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 30 October 2014, 05:56:18
What soldering method do you recommend for the DodoHand PCB: soldering iron, hot air station, or toaster oven?
I have no surface-mount soldering experience or tools.

Thank you.

I used a hot air rework wand and an iron during assembly. Having limited SMD experience myself, I feel that it would have taken an extra hour or two with just an iron for me.  If you can spare the $$$, a hot air station is a cool tool! Get one! (but it isn't needed). (but they're cool! i've something like: http://www.circuitspecialists.com/blackjack-solderwerks-hot-air-&-soldering-iron-combo-system.html )
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 30 October 2014, 09:08:06
OldDataHands,

Ya, I saw a hot-air tool video, it's like a magic wand - "I command you to solder yourself" - and it's done.

How did you secure the PCB during soldering?
Can I just weight the corners down on a mat, or do I need a hobby vise?

update: after looking at another rework video, I would say that the DodoHand PCB is massive enough to not need any restraints.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: arisian on Sat, 01 November 2014, 14:41:03
In response to the trackball and mapping questions raised by hweller, I'll also throw my enthusiastic support behind having a trackball in the hand unit.  I too had been thinking of a thumb-ball replacing all/part of a thumb cluster, but your solution seems like it would be much better, assuming that not too much movement of the palm is required to switch between comfortable use of keys and trackball.

As a long time datahand user, I have also found that the mappings of certain keys like () and [] were inconvenient, and wound up re-mapping several things, though I've had to do it in software (I have the Personal, not the Pro).  Doing it with xmodmap, while less than ideal, is fine for most keys; the exception is the keys that auto-send multiple "keystrokes".  For example, the key that produces a <double-quote> (") in the default mapping is useless, since it actually sends <Shift>+<single-quote> ('), which is an inconvenience due to the fact that I type dvorak (on a datahand that was intended to be used qwerty, because that was what I could afford at the time).  The keys that send more than one keystroke by default are effectively dead-keys for me, since there's no way to re-map them.  I've also wound up switching the locations of Alt and Tab, so I could hit Ctrl+Alt with just my left thumb, which lets me access many keyboard shortcuts left-handed (e.g. if my right hand is on a (external) trackball, for example).  Having the ability to re-map everything at will in firmware will be awesome, but that should be the easy part in all of this.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Sat, 01 November 2014, 15:57:42
In response to the trackball and mapping questions raised by hweller, I'll also throw my enthusiastic support behind having a trackball in the hand unit.  I too had been thinking of a thumb-ball replacing all/part of a thumb cluster, but your solution seems like it would be much better, assuming that not too much movement of the palm is required to switch between comfortable use of keys and trackball.

So far I have found that using the trackball fitted as close as possible to the finger cluster surprisingly convenient and requires practically no palm movement to move the ball comfortably.

I've also wound up switching the locations of Alt and Tab, so I could hit Ctrl+Alt with just my left thumb, which lets me access many keyboard shortcuts left-handed (e.g. if my right hand is on a (external) trackball, for example).

I did the same yesturday, partly to allow Ctrl and Alt modifiers to be applied to the mouse buttons but also to make it more convenient to press them both at the same time, i.e. using the left thumb.  So far I have found this arrangement pretty good.  I have put images of the current key layout I am using on my github repository for this project, you will find them at the bottom of the project front page, let me know what you think:
https://github.com/Henry/TrackHand (https://github.com/Henry/TrackHand)

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 01 November 2014, 20:03:46
I have put images of the current key layout I am using on my github repository for this project, you will find them at the bottom of the project front page, let me know what you think:
https://github.com/Henry/TrackHand (https://github.com/Henry/TrackHand)

Fantastic. Can't emphasize that enough. Just Brilliant.

Once I get the DodoHand switches worked out,
the pinheaders for connecting the thumb PCB
to the finger PCB will be moved to allow this
arrangement, and an alternate PCB will be
created for the thumb cluster to provide more
room.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: arisian on Mon, 03 November 2014, 18:24:27
Another mapping thought for the trackball layout is to add a key that, when pressed, causes the trackball to behave like a mouse scroll wheel.  See, for example, the option "EmulateWheel" in xorg.conf under Linux (though I think that only lets you use mouse buttons, and not keyboard inputs, to activate the mode).  I've got my old Logitech TracMan Optical set up this way; it actually has a scroll wheel, but I find it more comfortable to press a button and then use the ball for scrolling if I'm trying to scroll more than a few lines.

This would be particularly useful in the dodohand given that there are no plans to incorporate a scroll wheel (and, in fact, I think this is preferable to a scroll wheel for most purposes; the only case where it's an issue is where you're looking for precise control like using the wheel to cycle through items in a list, or switch weapons in a FPS, in which case a "clicky" scroll wheel would have an edge).  I'm pretty sure this would just be a matter of a bit of extra logic in the firmware; no special hardware should be required.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Tue, 04 November 2014, 03:20:11
Another mapping thought for the trackball layout is to add a key that, when pressed, causes the trackball to behave like a mouse scroll wheel. 

We are thinking along the same line.  Yesterday I developed and pushed an update to support scrolling by holding the shift key while moving the ball.  This could be changed to be activated by any other modifier key in any mode or any free key in the function/mouse mode.  When in scroll mode the resolution of the ADNS-9800 sensor is reduced but the lowest it can be set to is 50cpi which is still quite quick for scrolling.  However, I have always found the scrolling on the Kensington SlimBlade rather slow so I will use this faster scrolling for a bit to see if I get used to it.  If not it would be possible to keep track of the motion returned by the sensor and reduce the resolution in the software  for scrolling and this could be made "jumpy" to give the behavior closer to a "clicky" scroll-wheel but without the clicks or the feedback.  I never liked the clicking noise anyway.

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: eviltobz on Tue, 04 November 2014, 03:31:53
I just wanted to say that I'm loving seeing progress in this thread again :) Good work guys.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Tue, 04 November 2014, 09:50:28
Wow, the track ball concept is awesome! I had so many issues with trackpoints, sourcing, prototyping etc. I was worried no one would find a good solution to the mousing.

Is that case the original?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Tue, 04 November 2014, 10:53:55
Is that case the original?

Yes the case is the original but I had to remove and replace several mounting lugs, drill holes for the new connectors and reset button and cut a section from the palm rest for the ball.   The shape of the palm rest moulding was well suited to the fitting of the 2 1/4" ball so I doubt it could be much better if created from scratch.  However, the palm rest of the more recent Personal and Professional II models are rather different to that of the DH200 I am working with and I am not sure the ball would be so easily accomodated.  For the DodoHand there will not be a problem.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Fri, 07 November 2014, 06:43:14
[attach=1]


[attach=2]


PCBs have arrived and look good.
switch parts have shipped!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 11 November 2014, 21:50:39
[attach=1]

Thumb switches have arrived and I've played with them a little bit now.
They clearly still need some work, although I expect them to be functional.

The return force isn't sufficient for the thumb side switches - they will only
return if they are close to level. I expect to address this by switching to
a stronger magnet, and hopefully nothing else will be needed.

The initial activation force on the two-stage down switch is just a bit too
high, and the secondary activation force is too low. I had trouble only
activating the first one. I hope to address this with a bit less steel
for the magnet to attract.

It looks like they will mount up to the PCB just fine, so I should be able
to test that out within a week or so.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Tue, 11 November 2014, 22:18:21
That's an awesome update!

For the magnets, can you get a more magnetic (higher N  number) or will you have to get a physically larger magnet?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 11 November 2014, 22:32:24
For the magnets, can you get a more magnetic (higher N  number) or will you have to get a physically larger magnet?

I'll try using the thicker, higher surface field strength magnet which is already used in some positions.
It does mean some mechanical re-design, but that comes with the territory.  I'm already using neodymium magnets,
so I don't think it'll be easy to find stronger ones in the current sizes, but I'm all ears!

The magnets I'm using are:

http://www.kjmagnetics.com/proddetail.asp?prod=B4201

and

http://www.kjmagnetics.com/proddetail.asp?prod=B221
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: jacobolus on Tue, 11 November 2014, 22:41:05
It might or might not be relevant/helpful in this use case, but either way, check out:
https://www.youtube.com/user/correlatedmagnetics1
http://cmr.polymagnet.com/blog/
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Tue, 11 November 2014, 22:44:06
those are N42 (a good strength for Neodymium magnets) you can get up to N52 online but I don't know if they're available in a size that small.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Fri, 14 November 2014, 21:55:22
The good news is that the side switches are all functional,
and with some minor removal of steel the down switches are usable,
if not perfect.

The bad news is that I messed up the footprint for the down
switches (the phototransistor pin assignments are wrong) so
I have some re-work to do before I can evaluate whether or
not they're functional. Also, the side switches still feel rather
mushy, with a bit too much travel - but hey, they're working on
the first try!!!

If it wasn't already assembled I could just solder the bridges
on the wrong side and be done. As it stands I'll need to get
creative.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Fri, 14 November 2014, 22:12:27
(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand004.png)
(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand005.png)
(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand006.png)

Did a quick mock up of the new case concept I have been working with.

Didn't see the thumb switches up on the git hub so didn't include them (besides wip). The idea is to have 1/8" aluminum plates (6" stock will work) or 3mm acrylic for the base plate and palm plate. those plates sandwich spacers and the outer case walls. Should reduce cost over a ton of 3d printing at only minimal loss of ergonomics. Also anodized aluminum would look pretty slick and professional.

The tilt and tenting plates are optional. The thumb screw knob closest to the finger keys is for tilt and the other is for the tenting (would probably have a second thumb skrew for tilt on the other side, no room really for the tenting one). I did not model the hinges, but it should be clear where they need to be.

The palm rest could be 3d printed out of plastic or perhaps even glazed ceramic. Found they make a black cue ball http://www.amazon.com/Action-Black-Cue-Ball/dp/B009H6ZN1O (http://www.amazon.com/Action-Black-Cue-Ball/dp/B009H6ZN1O) which looks pretty cool, assuming it works with the laser pointer. Designed the cup for the ball much in the same way as hweller's prototype with the sensor under the palm. There is a cut out in the base plate to let the ball get lower and drain all the crap that inevitably falls in track ball black holes...

The casing between the two plates could be 3d printed, but that would probably be at least $100, so perhaps just print one prototype and make a cast for resin. Might even be appropriate to machine out of delrin or something like that as it is less than 1" thick.

As a design note for the finger PCB there is room to route wires for the thumb and track ball around the finger switch guard and the edge of the case. No need to put the plugs on the south side of the finger switches.

*edited to add the thumb switches. The scale can be estimated by measuring the distance from the center of the ring finger keyswitch to the left edge of the case, this is 52mm.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Fri, 14 November 2014, 22:26:53
How _awesome_ is that!

I want that on my desk. Like now.

FWIW: the thumb switch work is all on a branch named "thumb_work"
so that I don't have untested garbage on the master branch.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: gbjk on Sat, 15 November 2014, 08:58:42
I've been thinking about this quite a bit from an incremental development point of view.

Mass-marketing would be as hard now as it was originally. Nothing's changed.
There's still a big learning curve for a datahand.

The first phase, to me, has always been to secure a working replacement for existing datahand users.
That's certainly what's driving olddatahands, and others.

Well the case for the existing datahands isn't horrifc, and we all already have one.

So phase 1 feels like it's a "able to replace finger switches and electronics in existing datahands".
Anyone else looking at this form that perspective?

Phase 2 could be a new case. And lots of people want to go straight with a second pointing device, too.
( I think it'd be good. But right now I have a trackpad between the datahands, and it serves me well enough )

However I really don't view wireless + battery as that unattainable.
And if *is* attainable, then it would have an impact on the casing design, right?

Bluetooth 4 obviously lowers the target for how much battery power you'd need,
and arduino's popularity means there's already chips kicking around we can use.

I have a Myo here. If that's able to charge for a short while, and then work for most of a day,
then I think a datahand should be able to too.

Don't know if I've just gone properly pie-in-the-sky with my thinking, but I really feel like
wireless + battery powered datahands in existing case could be a viable phase 2.

And then phase 3 becomes a new package that makes it all smaller and more accessible,
also potentially marketable as a new product.

Just thought I'd share that.

I have a bluetooth 4 chip coming, and I'll run some tests off an 32u4 and a li-on battery.
I have an eye on http://proto-pic.co.uk/polymer-lithium-ion-battery-400mah/ as a first thought.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Sat, 15 November 2014, 10:15:28
Found they make a black cue ball http://www.amazon.com/Action-Black-Cue-Ball/dp/B009H6ZN1O (http://www.amazon.com/Action-Black-Cue-Ball/dp/B009H6ZN1O) which looks pretty cool, assuming it works with the laser pointer.

Excellent case design!  I look forward to putting together a complete DodoHand.

On the issue of ball choice I tried several and found that the more features there are on the surface the better the laser is able to track it.  So old scratched balls work better than brand new clean and shiny ones.  After playing for a while and trying to get a response from Aramith about getting balls with a metalic finish as used in the slimblade I settled for a "golden 8" http://www.aramithpoolballs.com/bbgold8.html (http://www.aramithpoolballs.com/bbgold8.html) which works REALLY well.  It is possible that the problems I experienced with new shiny balls relates to the inaccuracy of the positioning  of the laser relative to the ball (I used a belt-sander on the cup) and if the cup and laser sensor mount were manufactured more accurately e.g. by 3D printing it would work better.  However, using a "golden 8" ball is the safe and reliable readily available option.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: vvp on Sat, 15 November 2014, 11:45:01
Isn't the black number 8 problem when it gets aligned with the sensor?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Sat, 15 November 2014, 12:07:16
Isn't the black number 8 problem when it gets aligned with the sensor?

I expected that it might but so far I have not noticed a problem.  It would certainly be better if we could get hold of 2 1/4" balls with the fine metallic finish used in the Slimblade balls.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Sat, 15 November 2014, 13:22:24

However I really don't view wireless + battery as that unattainable.
And if *is* attainable, then it would have an impact on the casing design, right?

Bluetooth 4 obviously lowers the target for how much battery power you'd need,
and arduino's popularity means there's already chips kicking around we can use.
There is probably room in the back of the case for a few AAA batteries. If you are able to send HID over BT4.0 it'll be pretty awesome for the KB community as a whole, and would also maybe work out for the DH project as well.

The next issue you'll have is wireless communication between the halves. In most OSs I think you can just set them up as separate keyboards and it'll still work with split shifts and things (so you press shift on one and then type on the other it'll work) but maybe not. Some testing needs to be done.

Maybe you can set up the BT chip as a "master" and a second BT chip on the other hand as a "slave" ? I don't know as much about the BT protocol to see if this is possible but it's an idea.
Isn't the black number 8 problem when it gets aligned with the sensor?
I haven't had any issues with the pool balls I've used in my CST trackball (black or otherwise) I imagine the adns9800 that everyone got from mr kicklighter won't either.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 16 November 2014, 15:40:45
A few cut traces, and a few jumpers later, and the
double-action thumb switch has been proven to work!
This makes it 6/6 for the thumb switches functioning
as switches! Woot!

I've already corrected the PCB layout for the thumb
cluster so that I won't have to do that again.

I've also realized that my footprint for a PNP transistor
on the finger PCB which was to support evaluation of
the EasyPoint switch is wrong. I hope that this is what
is preventing Col4 from registering any switches on
the right side where I populated Q1. The thumb cluster
is working completely on the left side though, which is
great.

One of the details which needs to be corrected in the
thumb side switches bit me today: The magnets are
too loose, and one jumped out all the way. This will
have to be addressed in the re-design for the stronger
magnet. It was an irritating fight with a magnet that wants
to stick to everything to get it back into its hole with all
the parts already mounted on the board.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Wildcard on Sun, 16 November 2014, 16:28:12
Found they make a black cue ball http://www.amazon.com/Action-Black-Cue-Ball/dp/B009H6ZN1O (http://www.amazon.com/Action-Black-Cue-Ball/dp/B009H6ZN1O) which looks pretty cool, assuming it works with the laser pointer.

Excellent case design!  I look forward to putting together a complete DodoHand.

On the issue of ball choice I tried several and found that the more features there are on the surface the better the laser is able to track it.  So old scratched balls work better than brand new clean and shiny ones.  After playing for a while and trying to get a response from Aramith about getting balls with a metalic finish as used in the slimblade I settled for a "golden 8" http://www.aramithpoolballs.com/bbgold8.html (http://www.aramithpoolballs.com/bbgold8.html) which works REALLY well.  It is possible that the problems I experienced with new shiny balls relates to the inaccuracy of the positioning  of the laser relative to the ball (I used a belt-sander on the cup) and if the cup and laser sensor mount were manufactured more accurately e.g. by 3D printing it would work better.  However, using a "golden 8" ball is the safe and reliable readily available option.

Wow good find. I've personally been using solid black cue balls in my CSTs which have all worked well. I'm not sure if its been mentioned yet but I strongly recommend using mini bearings similar to what's used in mouse-trak.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Sun, 16 November 2014, 17:07:07
I'm not sure if its been mentioned yet but I strongly recommend using mini bearings similar to what's used in mouse-trak.

I am using 2mm ruby balls as used in the Slimblade.  I have an old Marconi trackball which uses ball races and steel axles but I am not happy with the slightly biased drag and prefer the completely regular behavior of the trackballs with ruby bearings.  I have read many reviews of the CST LaserTrac and it certainly looks interesting and I considered purchasing one to compare with the Slimblade but it is rather expensive to buy just for testing.  Do you have access to a Slimblade?  If so could you comment on the difference in motion of the ball, drag, smoothness etc.?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Sun, 16 November 2014, 17:39:42
I'm not sure if its been mentioned yet but I strongly recommend using mini bearings similar to what's used in mouse-trak.

I would opt for ball transfer units. I tried them oat keycon once and they were amazing. almost no friction at all.

But, barring that, then I strongly recommend recommend ball bearings like in the mouse-trak, traxsys, assimilation and older kensington trackballs over the greased POM bearings that CST uses.

having used the slimblade it is a compromise. A ball bearing will roll really well in one direction but be a little more frictiony in the other. Overall I much prefer ball bearings but ball transfer units are better in every way (more uniform like the slimblade (which isn't a bearing at all), less friction than ball bearings).
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Sun, 16 November 2014, 21:59:45
Any recommendations as to sourcing those components? The smallest ball transfer unit I could find was 8mm, in a 16mm diameter package on Ebay. Going to be a tight fit in there.

Also curious about the smaller package for the ADNS-9800, any idea as to those dimensions?

The image should illustrate the fit issues, grid is 1cm square. In thumb cluster I got rid of the screw hole in the rear of the switches and moved the pivot 2.5mm inboard. Not sure if moving the pivot is possible, but that screw hole shouldn't be needed. Also rounded the backs of the keys instead of leaving them square, lets the case be smoother and tighter to the keys.

(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand007.png)

There are some parts of the shape of the thumb cluster that don't make sense to me from an appearance point of view. I know you are replicating the original, but some of the gaps and spacing in my mind should be tweaked. Like the slide switch has the indent that makes the gap for no reason that I can see. Also why are the upright switches in two parts, seems like a waste of material and another point of failure. From a travel and durability point of view that vertical switch is really unprotected, could possibly have a switch like the others there. also the switches are 2cm tall, could they be 1cm? Not having a datahand myself it is hard to say.

Hopefully for the next round of prototypes I can have a case design ready to play with.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 16 November 2014, 23:29:32
Hi Turbinia,

I put that third screw into the model to help handle
accidental loads. It wouldn't normally do anything...
only coming into play if the switch was bumped in
the opposite direction of normal actuation.

While I do want to preserve that, I think the screw
could be brought in, and on one side without losing
that benefit completely. Might get the same effect
by moving the two screws to a more central position
so that they can handle loads from both sides, and
then do away with the third...

One of the things that certainly needs to be done is
to reduce the mass of the side thumb keys. your
solution is very nice in thinning them out.

They're currently two parts each just to make them fit
into a smaller volume for 3D printing. I agree that there
are benefits to making the one piece, and probably, for
my purposes, I'll have a final set printed that way.

The thumb side switche "keycaps" all do need to be
made shorter, perhaps by 4mm or so, and I intend to
try and reduce their travel at least a little. This conflicts
a bit with moving the pivot inward in the current design,
as the taller and longer I make the base of these
switches, the less travel I can get away with where the
thumb contacts the "keycap".

I think that there is an opportunity to move the thumb
pad switch body further towards the tip, reducing the
length of the "keycap" in order to make more room for
the ball. I only seem to touch this "keycap" with the
very tip of my thumb anyhow.

It might also be a decent compromise to take the in/up
switch and move it so that it comes in from the tip of the
thumb. It would be a little bit different motion, but would
make the integration with the trackball much less of a
fit problem. It would require a bit of a change to the
keycap shape, but that's the easy part.

The funny gap towards the tip is just cosmetic laziness
on my part. That isn't representative of the original.


Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Sun, 16 November 2014, 23:37:42
Any recommendations as to sourcing those components? The smallest ball transfer unit I could find was 8mm, in a 16mm diameter package on Ebay. Going to be a tight fit in there.


The one I got to play with at keycon has very small units, the balls were probably under 2mm in diameter.

more info here:

http://deskthority.net/workshop-f7/frictionless-trackball-via-ball-transfer-units-t8286.html
https://geekhack.org/index.php?topic=59444.0

There is also a youtube video of me playing with jacobolus's prototype at keycon, but I dont have the link handy.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: gbjk on Mon, 17 November 2014, 02:58:41
Turbinia,

I notice you've modeled the overhead thumb lever to come right out across the top of the thumb unit.

I think we tend to drop our thumbs in through that gap, and I don't feel like you need it to come up and over like that.

The direction of travel for it is very much across, more than up.

HTH

G
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Tue, 18 November 2014, 04:40:29
Also curious about the smaller package for the ADNS-9800, any idea as to those dimensions?

I received two of the smaller ADNS-9800 breakout boards from John Kicklighter last week.  The PCB is rectangular 30x18mm with two mounting holes on the centre-line, 25mm between centres and the lense centred.  The other dimensions are the same as the larger circular board.  I have attached two pictures, sorry they are out of focus but my digital camera had trouble focussing on it.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Tue, 18 November 2014, 10:56:14
Ah that is a much more compact package, much easier to fit.

Does John Kicklighter have the IGES drawing for the ADNS-6190-002 lens? It looks like a deprecated product, so didn't see it on Avago's website. Have the data sheet http://www.mouser.com/ds/2/38/V02-1725EN+DS+ADNS-6190-002+16Aug2011-75622.pdf (http://www.mouser.com/ds/2/38/V02-1725EN+DS+ADNS-6190-002+16Aug2011-75622.pdf) but that doesn't give the sort of dimensions needed for the base plate (which in this case would be the ball cup).

Does the mounting angle need to be something in particular?

I will continue to refine the case design as I get more information on the various components.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Tue, 18 November 2014, 12:51:58
Does John Kicklighter have the IGES drawing for the ADNS-6190-002 lens? It looks like a deprecated product, so didn't see it on Avago's website.

The ADNS-9800 is now manufactured by Pixart:
http://www.pixart.com.tw/product_data.asp?product_id=76&productclassify_id=1&productclassify2_id=3 (http://www.pixart.com.tw/product_data.asp?product_id=76&productclassify_id=1&productclassify2_id=3)

and they supply the datasheets but I haven't seen CAD for the lens or the sensor.
Title: DodoHand firmware
Post by: wolfv on Mon, 01 December 2014, 01:39:29
The DodoHand firmware is coming along nicely.
I don't have the DodoHand hardware, so I will test the firmware on a keyboard simulator, and then test it on a breadboard.
The simulator and bread board contain a subset of a keyboard's layout.
10 keys is to enough to test the layer and control keys.

Here are some expected milestone dates:
   12/02/14 DodoHand subset tested on keyboard simulator.
   12/07/14 DodoHand subset tested on breadboard with MCP23018 I/O expander.
   12/14/14 release Keyboard library and breadboard firmware.
   12/21/14 DodoHand subset tested on breadboard with PCA9655E-D I/O expander.
   12/28/14 DodoHand firmware with all keys mapped to DataHand layout, so someone with DodoHand hardware can test it.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: nandop on Mon, 01 December 2014, 18:02:30
This really appeals to me, but the case makes it look gigantic. Can it be just the wrist rest, thumb and finger buttons as the whole package? I can print the legends and have them with me as I get used to the design so as to not have that extra casing in the front of the finger buttons. That would be so perfect. I only say this because I really want it, and the only thing keeping me from buying it is the thickness of the case and the bulginess. Only way I would compromise a fix around that would be to make holes in my desk to fit them in.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Mon, 01 December 2014, 22:24:49
@nandop, the case is really as compact as it can be. In the previous image and the following it can be seen that the pcb fills the whole of that upper portion. The overall dimensions are 15cm by 20cm by 3cm.

(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand021.png)

This shows one concept I have been working on to be milled out of billet aluminum. The bottom plate would be 3mm acrylic or 1/8in aluminum plate. Looking at the cost of current keyboard cases the block may be about $100-150 per hand. I don't think the adjustably of tenting and tilting are really feasible for the first round. Like the ergodox I think people will find ways to get the tenting and tilting that they need.

(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand016.png)(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand018.png)

In tandem I am also designing an acrylic case to target a lower cost. It may not be quite as low as you might expect with things like the ball cup and switch guards needing to be 3d printed that would be milled in the CNC aluminum design. Currently designed for 3mm acrylic. Bit tricky to go back and fourth between both designs to make sure that all screw holes and standoffs work together.

(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand019.png)(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand020.png)

Certain aspects such as the thumb keys and such are still in flux so the design is subject to change.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dorkvader on Mon, 01 December 2014, 23:51:21
If you put cutouts in the bottom like wall mounting points for routers and the like, then it would be really really easy for people to come up with their own tent angle and just clip the KB to it.

y'know these guys with a big opening for the screw head to go through and a smaller one to hold it in place
(http://www.ixbt.com/comm/wireless/asus-wl-500b/bottom.jpg)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: nandop on Tue, 02 December 2014, 00:21:40
@nandop, the case is really as compact as it can be. In the previous image and the following it can be seen that the pcb fills the whole of that upper portion. The overall dimensions are 15cm by 20cm by 3cm.

Show Image
(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand021.png)


This shows one concept I have been working on to be milled out of billet aluminum. The bottom plate would be 3mm acrylic or 1/8in aluminum plate. Looking at the cost of current keyboard cases the block may be about $100-150 per hand. I don't think the adjustably of tenting and tilting are really feasible for the first round. Like the ergodox I think people will find ways to get the tenting and tilting that they need.

Show Image
(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand016.png)
Show Image
(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand018.png)


In tandem I am also designing an acrylic case to target a lower cost. It may not be quite as low as you might expect with things like the ball cup and switch guards needing to be 3d printed that would be milled in the CNC aluminum design. Currently designed for 3mm acrylic. Bit tricky to go back and fourth between both designs to make sure that all screw holes and standoffs work together.

Show Image
(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand019.png)
Show Image
(https://dl.dropboxusercontent.com/u/4966230/GeekHackHand020.png)


Certain aspects such as the thumb keys and such are still in flux so the design is subject to change.

I take that back. The acrylic's purpose to lower the cost would be great for me as I would like to customize it at some point. ^^

Great design and a great project. I would like to purchase one, even if in prototyping stages! :D
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: tuft on Tue, 02 December 2014, 11:19:37
I recently switched to a DataHand and am benefitting enormously. It does feel tenuous to stake my livelihood on an old piece of electronics that I can't readily replace, though! The "p" key sticks, which I've worked around by rebinding "Enter" in software, and occasionally the unit spazzes out and needs a factory reset. I recently lost an eBay auction to secure a backup unit at $2500!

Anyway, I'm very excited for this project, and just want to lodge my support as another willing buyer. =)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Sat, 06 December 2014, 10:33:40
I have been using a DataHand DH200 with the trackball for a few weeks now and I am not entirely satisfied with the behavior of the opto/magnetic switches; some are a bit sticky, they require different force to actuate (the RH pinky switch is particularly difficult to press) and the tactile feedback is poor.  Even before I obtained a DataHand I have been considering the possibility of creating an equivalent device using Cherry MX down switches and Panasonic micro-switches for NSEW.  I have just completed the first prototype which proves the principle but it difficult to get all the switches in suitable positions so that the centres are located in the same positions an in the original DataHand.  All the switches feel good and I am now building the micro-controller board so that I can practice typing on it before constructing the left-hand unit.  Here is a picture showing the general layout, I can post more details if there is interest.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: tilmann on Sun, 07 December 2014, 06:07:50
Wow, awesome prototype!

I have been using a DataHand DH200 with the trackball for a few weeks now and I am not entirely satisfied with the behavior of the opto/magnetic switches; some are a bit sticky, they require different force to actuate (the RH pinky switch is particularly difficult to press) and the tactile feedback is poor.  Even before I obtained a DataHand I have been considering the possibility of creating an equivalent device using Cherry MX down switches and Panasonic micro-switches for NSEW.
Yeah, I've experienced the same, on my DataHand the LH pinky is particularly difficult to press. I also noticed that between different DataHand models the activation force seems to be slightly different (I assume DataHand Inc. has been tweaking the switches over time). I tried to build a finger board with micro-switches myself a couple of months ago and got good initial results, I was using the smallest 20g micro-switches I could find (I'm happy to dig out the exact part number). The switches also have a really nice tactile click sound.

Which micro-switches are you using right now?

I have just completed the first prototype which proves the principle but it difficult to get all the switches in suitable positions so that the centres are located in the same positions an in the original DataHand.  All the switches feel good and I am now building the micro-controller board so that I can practice typing on it before constructing the left-hand unit.  Here is a picture showing the general layout, I can post more details if there is interest.
Please post more details :)

I'm curious, what material did you use for the wrist rest and how did you get it into shape?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Sun, 07 December 2014, 06:56:45
I started playing with microswitch types after I bought a vintage Microwriter and was very impressed with the feel of the switches.  I had to take the Microwriter apart to try to fix/upgrade the electonics and found that the microswitches used are standard Cherry switches which are still available.  I purchased some of these switches and one of every equivalent from all the other manufacturers including Omron and Panasonic and found that the feel of the Panasonic switches are better than all the others and readily available.  The issue with the VERY small microswitches is the lifetime and the durability of the lever so I tried to create a design which uses the standard switches which are about 10mm high.   Here are my notes-to-self on the choice of switches:

Down-switches
    Low force Cherry MX, either the linear "red" or tactile "brown".  One switch
    is required for each finger and thumb.  Obtaining Cherry MX switches in the
    UK from The Keyboard Company:
    + 10x http://www.keyboardco.com/product/cherry-key-switch-module-brown-tactile.asp (http://www.keyboardco.com/product/cherry-key-switch-module-brown-tactile.asp)
    + 10x http://www.keyboardco.com/product/cherry-key-switch-module-red-soft-linear.asp (http://www.keyboardco.com/product/cherry-key-switch-module-red-soft-linear.asp)
    The keycaps should have spherical rather than cylindrical indentations.
    Signature plastics supply DSA series Cherry MX keycaps with various
    lengths:
    + Fingers: 8x 4INHEAKS78  DSA Extra Blank Keys  1 Space Deep Dish-Black (NDY)
    + Thumbs: 2x 4INHEAKS78  DSA Extra Blank Keys  2 Space Deep Dish-Black (NDY)
Side-switches
    There is not enough space to use Cherry MX for the side switches and small
    tactile switches generally require too much force and do not have a good
    feel.  In the DecaKeyer https://github.com/Henry/DecaKeyer (https://github.com/Henry/DecaKeyer)
    I played with both Cherry and Panasonic micro-switches and found that the
    Panasonics to have a slightly better feel
    and are more readily available in the UK.  RS-Components stock a large range
    of Panasonic micro-switches, the AVT and AVL types being most suitable as
    the leaver is more robust and has less lateral play.  The "L" versions are
    longer-life (at least mechanical) but the actuation force on the plunger is
    1.47N compared with 0.98N for the standard "T" versions (lower force
    versions are also available, 0.49N and 0.25N).  The long-leaver http://uk.rs-online.com/web/p/microswitches/6990511/?searchTerm=699-0511&relevancy-data=636F3D3126696E3D4931384E525353746F636B4E756D6265724D504E266C753D656E266D6D3D6D61746368616C6C26706D3D5E5C647B337D5B5C732D2F255C2E2C5D5C647B332C347D2426706F3D313426736E3D592673743D52535F53544F434B5F4E554D4245522677633D4E4F4E45267573743D3639392D3035313126 (http://uk.rs-online.com/web/p/microswitches/6990511/?searchTerm=699-0511&relevancy-data=636F3D3126696E3D4931384E525353746F636B4E756D6265724D504E266C753D656E266D6D3D6D61746368616C6C26706D3D5E5C647B337D5B5C732D2F255C2E2C5D5C647B332C347D2426706F3D313426736E3D592673743D52535F53544F434B5F4E554D4245522677633D4E4F4E45267573743D3639392D3035313126)
    has an actuation force of 0.25N whereas the long-life long-leaver http://uk.rs-online.com/web/p/microswitches/6994664/?searchTerm=699-4664&relevancy-data=636F3D3126696E3D4931384E525353746F636B4E756D6265724D504E266C753D656E266D6D3D6D61746368616C6C26706D3D5E5C647B337D5B5C732D2F255C2E2C5D5C647B332C347D2426706F3D313426736E3D592673743D52535F53544F434B5F4E554D4245522677633D4E4F4E45267573743D3639392D3436363426 (http://uk.rs-online.com/web/p/microswitches/6994664/?searchTerm=699-4664&relevancy-data=636F3D3126696E3D4931384E525353746F636B4E756D6265724D504E266C753D656E266D6D3D6D61746368616C6C26706D3D5E5C647B337D5B5C732D2F255C2E2C5D5C647B332C347D2426706F3D313426736E3D592673743D52535F53544F434B5F4E554D4245522677633D4E4F4E45267573743D3639392D3436363426)
    has an actuation force of 0.44N which may be too high for finger
    switches but maybe good for thumb switches.

I built a finger prototypes with the standard and long-lifetime Panasonic swtiches and although the lower force standard switches feel better in some respects the long-lifetime switches require the same force as the Cherry MX down switch and this consistency feels good.  Also the click is even more positive on the long-lifetime switches so I decided to complete the first prototype with these switches to see if the force is acceptable for typing.

The switches are mounted (glued) on to cross-shaped ABS plates glued to the heads of M6 bolts and bolted to the ABS base-plate to allow changes in height and orientation.  The hand-rest it hand-carved out of a piece of laminated EPE packing-foam which is quite easy to work with a modeling saw and coarse glasspaper and has a very nice warm comfortable feel.  It is so good that I am not planning to change the material in subsequent versions as this is easy to replace when it gets dirty and also washable and different shapes can easily be made for other hand shapes and sizes.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Sun, 07 December 2014, 10:08:34
Very interesting effort hweller. When I was looking at recreating the switches myself I was looking at a similar setup. Instead of using microswitchs I looked at using tactile switches and 3d printing a lever to actuate. You can get everything from .5 to 1.6N in SMD or through hole to tune certain fingers or keypresses and mount to pcb instead of lots of gluing to screws. One of the advantages of the DataHand however is the force fall off through actuation instead of increasing to actuation like a traditional keyswitch.

You may not be satisfied with the switch feel anymore, but how is the trackball feel, still good?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hweller on Sun, 07 December 2014, 10:37:59
I also investigated tactile switches and the best I found were the Omron B3M but the force is a bit high and the travel too short so as you suggest some kind of lever arrangement would be required which is already provided with microswitches which simplifies the build -- but it wasn't easy!

I am OK with the DataHand switches but I am always looking for the next improvement, the next step in keyboard design and a DataHand with microswitches is something I have wanted to have a go at for sometime.

I am VERY happy with the trackball location and feel, and will fit one to the microswitch DataHand if I take it further than just a prototype which is likely as it is already a promising design.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 07 December 2014, 23:11:37
Epic.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: norcalli on Sat, 13 December 2014, 18:45:53
I was about to consider spending a whole lot of time doing what you guys have already done. I'm glad I found this thread and will be eagerly awaiting updates. As a 21 year old programmer who's wrist is already starting to feel sad, I'm intensely curious. I may even take a stab at creating my own microswitch prototype! I thought Cherry MXs would have worked on the sides with a lever mechanism, but microswitches look good.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Spanjer on Tue, 16 December 2014, 18:40:05
Keep it up i'm 22 and in desperate need of a pair of data hands, i'm currently looking into making myself a pair but i'd love to buy a quality build.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: DrudgeDance on Tue, 16 December 2014, 20:23:34
 :thumb:
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Mon, 05 January 2015, 09:21:53
I am testing a DodoHand firmware, but the manual doesn't tell all, and don't have access to a DataHand for comparison.
Someone please test the following key strokes on a DataHand and tell me what you get.

LEGEND:
"press NAS" means press right thumb down lightly (not NAS Lock)
"press MF" means lift right thumb (Mouse Function)
Letter keys K, H, and K assume QWERTY locations

Test 1:
 press MF, release MF, press H key
Does it print "h" or move pointer left (mouse)?

Test 2:
 press MF, press K key, release MF, press H key
Does it print "h" or move cursor left (arrow)?

Test 3:
 press MF, press D key, release MF, press H key
Does it print "h" or move ponter left (mouse)?

Test 4:
 press NAS, press MF, release MF, press H key, release NAS
Does it print "h" or "6"?

Test 5:
 press MF, press NAS, release NAS, press H key, release MF
Does it print "h" or move pointer left?
Does it matter since right thumb can not hold NAS and MF simultaneously?

Thank you.
(http://assets.overclock.net.s3.amazonaws.com/0/01/0113b425_vbattach185899.jpeg)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wejn on Mon, 05 January 2015, 17:16:41
Full disclosure: DataHand Personal edition.

Well, I'd say that your test forgets one important thing -- depending on the state my DH boots up I can have mouse on or cursor keys off. Turning mouse off = in "mouse mode" (or, rather, I'd call it F-keys mode) you tap "D". To turn off you tap "K".

But to your tests:

Say I have the mouse on indicator (orange diode on "D" key) lighting up; so normally in mouse I move pointer around and click with L/R index fingers down (F, H keys).

Then:
Test1: mouse pointer moves
Test2: mouse mode deactivated,cursor goes to left
Test3: mouse mode activated (diode ligths up and stays up), mouse pointer moves
Test4: pointer moves (mouse mode stays active because as soon as you get mouse up [while holding down NAS] the mode gets activated)
Test5: pointer moves, because NAS gets activated only for the duration of you holding it down

I think the key misunderstanding here is that you don't assume the mouse/f-key mode to go "sticky". Basically Normal and Mouse is a flip switch, NAS is just a push button (unless you go NAS-lock). Analogy: same way you hold shift [=NAS] or caps lock [=NAS lock, normal, mouse], but the Normal vs Mouse/F-keys is a XOR.

Btw, I have official DH docs lying around[attachurl=1], in case that's of any value. I'm saying this because there are many more things configurable that's not readily apparent. For instance, I have 10-key mode completely disabled (because it sucks). Also, I've noticed that your NAS and my NAS is slightly different (left ring down in NAS = x, right ring right = enter or Win key or other). In the attachment I'm including the layout my DH uses.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Mon, 05 January 2015, 18:44:53
wejn,

Thanks for the test results :thumb: and the DataHand Personal User's Guide (I only had the DataHand
 Professional II User’s Guide).
It does not mention the "cursor keys off" option.  How is that useful?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wejn on Tue, 06 January 2015, 04:11:02
wolv,

Sorry, that was a typo. All I wanted to say was that depending on in what mood my DH wakes up in I either have "mouse" or "function" enabled when I switch to Mouse Function. It was all to outline the exact setting I started your tests in; I just failed to edit the message properly (I rewrote the post couple of times; both before and after posting).

Btw, to clarify -- when I said "completely off" for 10key I, of course, meant that I've set "protection" for those keys (meaning that I have to hold down NAS lock to turn 10key on.

It's actually quite hard to remember the exact setup I've made, because it's a long time since ~2006 when I bought the thing... and I basically haven't touched the settings since then. ;)

Btw, I'm thrilled at the prospect of being (finally) able to modify the layout with DodoHand and your fw (without fearing I'll brick this irreplaceable DH of mine).
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Fri, 09 January 2015, 02:59:09
Hello all,

First off having tried to design this myself you all have my respect for pressing on and making such amazing progress. Since I am also one of them programmer people that is having a long track record (over a decade) of having the associated issues I have been looking for a datahand myself. However I tend to get outbid and they do not show up that often, this project actually gives me hope that I can realistically get the datahand typing experience. The recent addition of the trackball and the pretty looking design of the case closed the deal and I am totally hooked.

Hence I am very excited and will assist in any group buy / crowd funding effort! As an alternative I will work with the github sources and go into a mad sourcing campaign :). Judging from the thread (I read it all..) I think an early pair sourced individually including fancy case should be obtainable for less than 1000EUR.

Once the wired version gets done and an iteration towards wireless is made the following kickstarter could be interesting. A small fuel cell 200grams full delivering 2W of power at 5volt that runs of lighter gas. It is actually asking for money to do a production run so they are past the prototyping stage, it will take about a year if all goes well to get them available to the public. This could be an interesting option to ditch the wires (even though I find that wireless devices can have some annoying lag but I have never used BT3 or above) without the need for actual batteries. Link: https://www.kickstarter.com/projects/265641170/kraftwerk-highly-innovative-portable-power-plant . This of course is only possible if a cavity can be made of 3.94 x 2.95 x 1.18 inch or maybe less if its case can be removed.
Title: Progress on the DodoHand firmware and questions
Post by: wolfv on Sat, 10 January 2015, 10:50:37
The a 10-key version of DataHand is running and tested on a breadboard.
It has a Teensy2.0, MCP23018 IO expander, and 10 tactile switches for these keys:
   D, R, K, Shift, tenKeyOff, tenKeyOn, Normal, NAS, NASLock, MouseFunction
   (the D, R, K keys are for testing mouse, arrow, and layer keys)

Next I will add features to the firmware in this order:
   Full layout for the DodoHand hardware
   Document and upload to GitHub
   PCA9655E-D I/O expander
   Protected Mode
   NUM LOCK
   Sticky Mouse Buttons
   Double Strike
   LEDs

I have some questions about dodohand-master2014.1.16\documentation\switch_matrix.svg,
What rows map to what keys?  For example:
   Row0 = north
   Row1 = east
   Row2 = south
   Row3 = west
   Row4 = well
Are the row-switch mappings different for left and right hands?
What pin number do they go to?
What is the symbol to the right of the diodes?

Thank you.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 17 January 2015, 09:40:19
I have some questions about dodohand-master2014.1.16\documentation\switch_matrix.svg,
What rows map to what keys?  For example:
   Row0 = north
   Row1 = east
   Row2 = south
   Row3 = west
   Row4 = well
Are the row-switch mappings different for left and right hands?
What pin number do they go to?
What is the symbol to the right of the diodes?


Have a look at the same document in the thumb_work branch.
I already partially addressed the north/east/south question but haven't
pulled it back into the main yet. Note that it reflects the left hand.
There is only one PCB layout, reversible, so the switch-to-finger
position mapping is mirrored on one hand vs. the other. (west on
one hand is east on the other).

Switch: Left        : Right
Matrix : Teensy : PCA9655E
---------------------------------------
ROW0 : F0       :  IO1_0
ROW1 : F1       :  IO1_1
ROW2 : F4       :  IO1_2
ROW3 : F5       :  IO1_3
ROW4 : F6       :  IO1_4
COL0  :  B0       :  IO0_5
COL1  :  B1       :  IO0_4
COL2  :  B2       :  IO0_3
COL3  :  B3       :  IO0_2
COL4  :  D2       :  IO0_1
COL5  :  D3       :  IO0_0

The symbol to the right of the LEDs is my version of the normally
closed mechanical/optical switch between the LED and the
phototransistor (i.e. the symbol (diode included) is my attempt to
represent the dodohand switch, LED, phototransistor and all).

Excited to be able to try out your firmware!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: randomhead on Thu, 22 January 2015, 15:56:41
Hello!

I've come here to post my interest for this project. Unlike a lot of people here, I found out about the DataHand too late in the day to own one. It was only after hopelessly typing "open source datahand" or something of the like into the search bar that I found this thread. Thank you internet, you really do have everything!

I understand (and respect) that the reason that more talk of group buying/sourcing hasn't come up more often/hasn't been organised yet is probably because it would be premature at this stage, is this correct? I'm trying to work out if I want to chip in to a group buy effort (or even if it would be feasible for me - uk based here), or whether I should just jump in and get a hold of the parts that have already been developed and build a full set up slowly as it's perfected.

OldDataHands, are there any plans to create another revision of the fingers or thumb modules, or would you say they are good to go? If it's the latter, I would be sorely tempted to just jump in and buy the supplies I need to get my own set built up. My only concern would be the exotic parts (magnets and the custom made clips). Also, would you recommend my approach? I certainly wouldn't mind being a beta tester, but what I build up would probably end up being 'it' for me, so if any further revisions are required I would be out of luck. Another concern would be if the case is required for the keys to work properly (or would the black plastic be enough by itself to block out light pollution)?

Edit: Oh, and a question to anybody who might've used the combination: What's vi like on the datahands? It's made to be logical on a qwerty (can't speak for dvorak), it's my text editor of choice, I wonder how people's experiences have been with it on a different physical 'interface'?

Thanks
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: arisian on Fri, 23 January 2015, 16:05:27
I've used vi (or ViM) on a datahand for years.  The default keybindings do have minor inconveniences, but it's nothing you can't fix with some re-mapping in your .vimrc.  The main thing you'll likely want to change is the movement keys; hjkl are not the most natural way to do movement on the datahand.

I'll give you my personal mappings below, but I type dvorak (on a datahand), so unless you also type dvorak, you'll probably need to modify them.  I changed the movement keys to be N/S/E/W using my right forefinger, which for me is g/m/d/[ (would be u/m/h/' on a qwerty mapping).  I then had to move the functions usually performed by those keys to alternate locations.  What I wound up with was:
Code: [Select]
nnoremap l g
map g k
noremap h d
noremap , m
noremap d h
noremap m j
noremap [ l
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Fri, 23 January 2015, 20:44:34
I understand (and respect) that the reason that more talk of group buying/sourcing hasn't come up more often/hasn't been organised yet is probably because it would be premature at this stage, is this correct?
Certainly not ready for a group buy, and a group buy will barely make sense as the bulk of the
expense will be for the 3D-printing, which doesn't change price with quantity.  There might be
some gains with the case, or PCB, but nothing that'll make or break your decision.

OldDataHands, are there any plans to create another revision of the fingers or thumb modules, or would you say they are good to go?
The finger modules are functional, though care is required during assembly, and the extremely
small number of assembled units (only mine to the best of my knowledge) and the low hours
(i.e. 0 as the thumbs aren't done) leave me unable to say that they're reliable with an acceptable
longevity.

The thumb switch design is not yet useful, particularly requiring some re-design of the magnet
retention for the side switches.

My only concern would be the exotic parts (magnets and the custom made clips).

The magnets are commercially available, so maybe they aren't that exotic. The clips are an
irritant, though I was able to make the first prototypes into a useful shape with only pliers and
the bench shear for cutting the starting strips. You probably won't have perfectly identical feel
from switch to switch, but would function fine.

Another concern would be if the case is required for the keys to work properly (or would the black plastic be enough by itself to block out light pollution)?

You'll need a case of some sort to provide the palm rest and to hold the thumb switches in the
right spot relative to the finger switches. Ambient light in a room doesn't seem to be a problem.
You'll have to tell us how it goes if you try to operate them in direct sunlight, but I would expect
direct sunlight to be a problem.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Sun, 25 January 2015, 15:57:35
Have you considered using a second magnet as a target instead of the clips?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 25 January 2015, 22:11:43
Have you considered using a second magnet as a target instead of the clips?

I have. The challenge is in achieving contact between the two magnets when
the switch is closed.  You need to have positive retention of each magnet, which
means material that sticks out in front of each magnet, which interferes with the
other magnet getting close enough. The clip works 1) because it is retained from
only the one end, behind the face, and  2) because it is much thinner than the
magnet, so can fit between the two magnet retention lips and make contact with
the magnet surface. Contact between the two is important for achieving the most
"click" or "snap" out of this switch design. If you don't have this it feels mushy.

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: eviltobz on Mon, 26 January 2015, 04:35:29
... What's vi like on <non-standard qwerty boards> ...
i'm currently using a kinesis at work and an ergodox at home, both with colemak layouts instead of qwerty. i decided to stick with the standard vim mappings rather than trying to go with something more customised to my layout since all those resources out on the internet presume a normal setup. i decided to try to embrace the advice of using hjkl as little as possible, more for off-by-one errors rather than main navigation, so their shuffling wasn't a big problem. in colemak's case h stays the same but j, k & l change to n, e & o respectively, all of which are common, important vim keys with good mnemonics, so i didn't want to swap their meanings. i get on with it just fine, so i'd recommend that you try to just work with it as is before resorting to remappings.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 27 January 2015, 02:10:43

The magnets are commercially available, so maybe they aren't that exotic. The clips are an
irritant, though I was able to make the first prototypes into a useful shape with only pliers and
the bench shear for cutting the starting strips. You probably won't have perfectly identical feel
from switch to switch, but would function fine.


Silly question, would it be feasible to 3d print the clips? If we do not consider price, would the clips be more consistent?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 27 January 2015, 08:12:08
Silly question, would it be feasible to 3d print the clips? If we do not consider price, would the clips be more consistent?

Are you aware of a 3D printing service or technique that makes ferrous objects? I've never heard of one, but would be cool!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Tue, 27 January 2015, 12:18:33
http://www.shapeways.com/materials/steel

Not sure as to the alloy, if there is too much nickel it will not be ferromagnetic.

As an alternative the magnets can always be glued in for magnet on magnet. Not ideal, but not really that bad to loose some pocket change for a key replacement magnet.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 28 January 2015, 22:20:58
http://www.shapeways.com/materials/steel

Not sure as to the alloy, if there is too much nickel it will not be ferromagnetic.

As an alternative the magnets can always be glued in for magnet on magnet. Not ideal, but not really that bad to loose some pocket change for a key replacement magnet.


Seems as though it is 420 stainless and brass, with the 420 part being magnetic at least to some degree.
Unfortunately, the min bounding box, min separation, and min wire thickness make it unsuitable for the
current clip design.

I'm certain that it would be possible to design in such a way that you could get the right feel with gluing
in magnets, or bits of steel, but I think it would take quite a bit of either insight into designing with magnets,
or numerous prototypes...
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: jacobolus on Thu, 29 January 2015, 05:14:52
I don’t think any of the 3d-printable metal materials have suitable strength to be used as substitutes for bent sheet metal clips.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: suka on Sat, 31 January 2015, 03:27:37
I don’t think any of the 3d-printable metal materials have suitable strength to be used as substitutes for bent sheet metal clips.
You know 3D-printed metal parts go into aerospace applications like turbines or medical implants? They surely are tough enough!

If it wasn't so expensive I would have already experimented more with the metal options...
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: jacobolus on Sat, 31 January 2015, 04:33:35
You know 3D-printed metal parts go into aerospace applications like turbines or medical implants? They surely are tough enough!
People use shapeways.com to print metal aerospace parts and medical implants? (Specifically, parts of the same shape as bent pieces of thin sheet metal?)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Sat, 31 January 2015, 18:14:42
OldDataHands,

http://www.kjmagnetics.com/calculator.asp

It is really easy to determine what the force difference between 2 magnets and 1 magnet + target would be. At contact there is no difference, however a magnet+magnet system has less fall off of force at greater distance. This is a good thing, there will be a better return of the keys, so they won't be 'sticky'.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: suka on Sun, 01 February 2015, 03:14:49
You know 3D-printed metal parts go into aerospace applications like turbines or medical implants? They surely are tough enough!
People use shapeways.com to print metal aerospace parts and medical implants? (Specifically, parts of the same shape as bent pieces of thin sheet metal?)
They use the same machines, yes ;-)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 01 February 2015, 09:59:56
The metal clips are the hardest part to fabricate because they are so small.
Maybe make clips from staples?  They come in many shapes and sizes, "Hog ring staples" for example.
https://images.google.com/ > steel staples

Or instead of a clip, maybe use a miniature screw?

Sometime the smallest problems are the hardest to solve.

(https://geekhack.org/index.php?action=dlattach;topic=41422.0;attach=37968;image)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: jacobolus on Sun, 01 February 2015, 12:52:45
They use the same machines, yes ;-)
Do you have a link to an example of a part like a clip normally made out of thin bent sheet metal being replaced by a 3d-printed metal part?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 05 February 2015, 20:49:45
I have some questions about dodohand-master2014.1.16\documentation\switch_matrix.svg,
What rows map to what keys?  For example:
   Row0 = north
   Row1 = east
   Row2 = south
   Row3 = west
   Row4 = well
Are the row-switch mappings different for left and right hands?
What pin number do they go to?
What is the symbol to the right of the diodes?


Have a look at the same document in the thumb_work branch.
I already partially addressed the north/east/south question but haven't
pulled it back into the main yet. Note that it reflects the left hand.
There is only one PCB layout, reversible, so the switch-to-finger
position mapping is mirrored on one hand vs. the other. (west on
one hand is east on the other).

Switch: Left        : Right
Matrix : Teensy : PCA9655E
---------------------------------------
ROW0 : F0       :  IO1_0
ROW1 : F1       :  IO1_1
ROW2 : F4       :  IO1_2
ROW3 : F5       :  IO1_3
ROW4 : F6       :  IO1_4
COL0  :  B0       :  IO0_5
COL1  :  B1       :  IO0_4
COL2  :  B2       :  IO0_3
COL3  :  B3       :  IO0_2
COL4  :  D2       :  IO0_1
COL5  :  D3       :  IO0_0

The symbol to the right of the LEDs is my version of the normally
closed mechanical/optical switch between the LED and the
phototransistor (i.e. the symbol (diode included) is my attempt to
represent the dodohand switch, LED, phototransistor and all).

Excited to be able to try out your firmware!
OldDataHands,

Thanks for the row/col to pin mappings.

I have a 10-key version of DodoHand running on a breadboard, using normally open tactile switches.
Would normally closed tactile switches better simulate the DodoHand for firmware testing purposes?
With the cathode end of diode pointed towards the column - is that right?

Is "Down Primary" lite down for hold?
Is "Down Secondary" hard down for lock?

(update - I found the thumb_work branch on GitHub, this is the row wiring):
                Finger      Thumb
   Row0 = North       Thumb Nail         Down Secondary
   Row1 = East         Thumb Knuckle  Thumb Pad
   Row2 = Center      Down Primary    Thumb Up
   Row3 = South       Easy Point Switch
   Row4 = West

Thank you.
(https://lh5.googleusercontent.com/-f4h7488rZeY/VNQq-NSp6GI/AAAAAAAAIno/NnnCMOaX5Us/w594-h343-no/switch_matrix.png)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Fri, 06 February 2015, 01:13:14
*snip*
Or instead of a clip, maybe use a miniature screw?
I know when building my reprap we used set screws to drill there own thread into plastic holes to keep pullies / rods in place, those might be an option as well if enough metal is there to pull in the magnet.

I am currently tuning my reprap again to do some printing for the dodohand. I do not think I can print all of the parts but the big pieces for the main housing, palm rests and I hope the trackball housing should be doable. Another thing I want to do is get pricing details on the finger / thumb unit parts from regional 3d printing shops, can I use the branch for the thumb unit to get a good estimate on the costs ?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Fri, 06 February 2015, 21:45:33
I know when building my reprap we used set screws to drill there own thread into plastic holes to keep pullies / rods in place, those might be an option as well if enough metal is there to pull in the magnet.

I think this is great idea, and one that has the potential to be usable.

I am currently tuning my reprap again to do some printing for the dodohand. I do not think I can print all of the parts but the big pieces for the main housing, palm rests and I hope the trackball housing should be doable. Another thing I want to do is get pricing details on the finger / thumb unit parts from regional 3d printing shops, can I use the branch for the thumb unit to get a good estimate on the costs ?

Yes, the thumb_work branch should be good for estimates. Please note that at this time
the thumb switch designs are not in a servicable state, but they will serve to provide a
good estimate.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 10 February 2015, 13:09:53
OldDataHands,

Version 0 of the DodoHand firmware is working on a breadboard:
(https://lh3.googleusercontent.com/-xwZ9AswmrqU/VNpUaRDNxRI/AAAAAAAAIoY/rlzUrHJAd0w/w599-h288-no/breadboard_keyboard_2x5.JPG)

Possible caveats:
Runs on breadboard with normally closed tactile switches.
Cathode end of diode points towards the column.
Testing was based on my understanding of the DataHandProIIUserGuide.

I can change the code to work with DodoHand hardware, but I am unsure of how to handle the optic switches.
Would firmware tested on normally open tactile switches with cathode end of diodes pointing towards the row work on the DodoHand hardware?
I can change the code and test it with tactile switches, just tell me what you need.

Caveat:
Runs on MCP23018 I/O Expander.

I plan to write firmware for the PCA9655E-D and test it on a breadboard with a PCA9655E-D I/O expander.

Source Code
The DodoHand firmware is part of a larger project; the keybrd library on https://github.com/wolfv6/keybrd

The DodoHand firmware source code is on: https://github.com/wolfv6/keybrd/tree/master/keybrd_sketches/keybrd_DodoHand/keybrd_DH_2565_0
The 10-key version is more thoroughly tested: https://github.com/wolfv6/keybrd/blob/master/keybrd_sketches/keybrd_DodoHand/keybrd_DH_2233_bb/keybrd_DH_2233_bb.ino

Additional work needed to finish the DodoHand firmware is listed on https://github.com/wolfv6/keybrd/blob/master/doc/keybrd_wishlist.md
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: ericcraven on Mon, 16 February 2015, 04:20:31
What a cool project!

OldDataHands, could you possibly elaborate a bit on the IR sensors? Are they in any way special, or would any kind work (DigiKey has high postage costs here, rs-components might work better, but they don't have the exact components you use). Do you just pulse the emitter and check the transistor for a signal multiple times per second?
Would something pre-packaged like a slotted optical switch work too?

http://uk.rs-online.com/web/p/slotted-optical-switches/6675039/ for example?

Another question, do you activate the LEDs all the time, or do you strobe them just whenever you are reading them?

Thanks for any help, this looks so great!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 17 February 2015, 22:20:54
I can change the code to work with DodoHand hardware, but I am unsure of how to handle the optic switches.
Would firmware tested on normally open tactile switches with cathode end of diodes pointing towards the row work on the DodoHand hardware?

Logically, the DodoHand matrix is just like any other. You energize the rows and read the columns.
More specifically: you put 5v on the row and if the switch is pressed you see logic high on the column.
This means that it is very similar in effect to using normally open switches in a standard matrix.

OldDataHands, could you possibly elaborate a bit on the IR sensors? Are they in any way special, or would any kind work (DigiKey has high postage costs here, rs-components might work better, but they don't have the exact components you use). Do you just pulse the emitter and check the transistor for a signal multiple times per second?
Would something pre-packaged like a slotted optical switch work too?

Another question, do you activate the LEDs all the time, or do you strobe them just whenever you are reading them?

I selected standard IR LEDs, and compatible phototransistors in the same small package.
The phototransistors have a visible-light filtering package, which is not necessarily standard,
and I would recommend.

If you look back a few posts you'll see the switch matrix. You'll note that only one row may be
active at a time in order to have a clear signal on the columns. Each row is turned on, and each
column evaluated just as fast as I can make the PCA9655 work from the Teensy, which is quite
fast, certainly fast enough.  You'll also note that the row powers the LED and the collector of the
phototransistor.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 18 February 2015, 06:41:40
I can change the code to work with DodoHand hardware, but I am unsure of how to handle the optic switches.

Another thought, wolfv: If your code is architected such that the switch state matrix
serves as a clean interface between the hardware-specific "scan the matrix" code
and the logical "analyze switch state" code, then it shouldn't be too difficult to port
my existing matrix scan code into your framework. 

Would something pre-packaged like a slotted optical switch work too?

I understand the pre-packaged "slotted optical switch" to be more-or-less the same
thing electrically, although I haven't looked at the datasheet, however I did not see a
possibility of using that type of device and achieving the dense packaging needed
to cram 5 switches under each fingertip.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Fri, 20 February 2015, 16:16:57
OldDodoHands:
Using your existing matrix scan code is a good idea; I can learn a lot from what you have already tested.

One more question; what are the Teensy and pca9655e pin assignments on the DodoHand?
The dodohand-thumb_work\src\ shows pca9655e pins assigned to LEDs, and pins assigned to lh_matrix[][].
Please provide all the pin assignments.

Thank you.
Title: Teensy-LC
Post by: wolfv on Sun, 22 February 2015, 17:07:04
Just noticed this:
Teensy-LC (low cost Teensy) 62K flash, 8K RAM $11.65, Release is scheduled for March 10th,
pin-compatible with Teensy 3.0 and 3.1, not 5V tolerant http://www.pjrc.com/teensy/teensyLC.html
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: HaaTa on Mon, 02 March 2015, 02:18:19
Also, if you want to integrate the controller right into the pcb, you could use the design I put into the infinity keyboard:
https://github.com/kiibohd/pcb (https://github.com/kiibohd/pcb). We have some updated designs for future keyboards, but this one is plenty good enough for a datahand.

It uses a very similar chip to the Teensy 3.0 except fewer pins. I hand soldered all of the early Infinity Keyboard prototypes without any issues.

Disadvantage being you'd need something like a Bus Pirate to flash the bootloader (which is also opensource, https://github.com/kiibohd/controller/tree/master/Bootloader (https://github.com/kiibohd/controller/tree/master/Bootloader)).
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: intrio on Sat, 07 March 2015, 17:10:37
I'm new to geekhack, and joined here largely to keep up to date with this interesting project.

I'm toying with a similar finger well concept but exploring alternate ideas, like microswitches, pressure resistors, mini joysticks, mini trackballs, light beams.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 14 March 2015, 20:17:11
One more question; what are the Teensy and pca9655e pin assignments on the DodoHand?
The dodohand-thumb_work\src\ shows pca9655e pins assigned to LEDs, and pins assigned to lh_matrix[][].
Please provide all the pin assignments.

Best way I can think is to show that part of the schematic:

[attach=1]
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 15 March 2015, 20:47:37
One more question; what are the Teensy and pca9655e pin assignments on the DodoHand?
The dodohand-thumb_work\src\ shows pca9655e pins assigned to LEDs, and pins assigned to lh_matrix[][].
Please provide all the pin assignments.

I realized that you also asked about the teensy part:

[attach=1]
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Wed, 18 March 2015, 14:24:33
Thanks for the schematics OldDataHands :thumb:.

On the PCA9655E schematic, what does "populated" mean?
Quote
Teensy _or_ this are populated. never both."
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: regack on Wed, 18 March 2015, 14:44:48
Thanks for the schematics OldDataHands :thumb:.

On the PCA9655E schematic, what does "populated" mean?
Quote
Teensy _or_ this are populated. never both."


I believe that the two hands are the same PCB but reversible (like the ErgoDox), so you either put a Teensy on, or a PCA9644E, but never both on the same PCB.

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Wed, 18 March 2015, 14:51:44
Thanks for the quick response regack.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 18 March 2015, 20:23:42
I believe that the two hands are the same PCB but reversible (like the ErgoDox), so you either put a Teensy on, or a PCA9644E, but never both on the same PCB.

Exactly correct.

It is common to use one PCB to implement varying circuits/products/behaviors
through the selective presence or absence of various components. The various
useful combinations are often called "population variants", where it is the exact
population of components that is referred to. In one variant you might populate
(i.e. include in the build) component X. In another you might de-populate (i.e.
remove from the build) component Y. 
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 07 May 2015, 16:38:43
Hi all.  I have been making some good progress on the DodoHand firmware.
Still have some questions though.

Some one with access to a DataHand please run the following test.
   With CapsLck off, verify that:
      NAS+shift+5 prints "%"
      NAS+shift+% prints "%"
   Repeat the test with CapsLck on, what does it print?
      NAS+shift+5 prints:
      NAS+shift+% prints:

What do these pin assignments mean?:
   EPINT
   EPRST (also on PCA9655E)
   EPSPARE
   AREF
   TRST
(https://geekhack.org/index.php?action=dlattach;topic=41422.0;attach=94267;image)

What do the LED numbers map to, on Teensy2 and pca9655e? e.g. NumLck, CapLck, Mouse, NAS, Normal, 10-key:
   LED_0
   LED_1
   LED_2
   LED_D6_3

A 10-key DodoHand is running and tested on a breadboard with Teensy 2.0 and PCA9655E I/O expander.
The 52-key DodoHand firmware without the above pins compiles, but I don't have the hardware to test it.
I am writing documentation to make debugging easier.
It will be pushed to GitHub in a few days.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Fri, 08 May 2015, 02:49:14
OldDataHands,

The DodoHand firmware is ready for testing on DodoHand hardware.
I would test it myself, but I don't have the hardware.
Please test it on your DodoHand hardware.  The hex file is in the keybrd repository.

DodoHand firmware is part of the keybrd project at https://github.com/wolfv6/keybrd
If the hex file doesn't work, you can initiate a debug conversation by submitting a pull request.
You can download the source code and debug, or you can describe the buggy behavior and I debug it.
Either way, the pull request might be the best place to ask and answer debugging questions.

The keybrd library is good and tested.  You shouldn't have to debug the library's code.
It's the DodoHand sketch that might need debugging.
DodoHand sketches and hex file are in https://github.com/wolfv6/keybrd/tree/master/keybrd_sketches/keybrd_DodoHand
keybrd_DH_2233_bb.ino is tested on a 10-key breadboard.
keybrd_DH_2565_0.ino is the firmware that needs to be tested on a 52-key DodoHand.
If you want to do the debugging, doc/keybrd_library_user_guide.md will help you get started with keybrd library usage.

The layers may not be working exactly as expected (I was going by the DataHand User's Guide).
If a layer behavior needs changing, I can fix it in the keybrd_Layers library.
Please provide an example of the unwanted behavior and what it should be doing.
The basic layers and keys should work.  NumLck and LEDs are not implemented yet.
doc/keybrd_wishlist.md lists DataHand features that have not been implemented yet.

Another possibility would be for me to acquire DodoHand hardware and test it myself.
Do you have spare DodoHand PCBs you can send me?

You have already done so much for DodoHand hardware; I hope you don't mind doing the firmware testing.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wejn on Fri, 08 May 2015, 03:13:27
Some one with access to a DataHand please run the following test.
   With CapsLck off, verify that:
      NAS+shift+5 prints "%"
      NAS+shift+% prints "%"
   Repeat the test with CapsLck on, what does it print?
      NAS+shift+5 prints:
      NAS+shift+% prints:
All of them print "%".
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Fri, 08 May 2015, 09:25:27
Thanks wejn.  I will fix that on the DodoHand firmware later.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 09 May 2015, 21:34:26
What do these pin assignments mean?:
   EPINT
   EPRST (also on PCA9655E)
   EPSPARE
   AREF
   TRST

EP = EasyPoint - it was a pointing device that was available on a
breakout from Sparkfun and hit End of Life about the time I placed
the order for my first PCB. So, EPINT was for the interrupt pin coming
back from the EP, EPRST is the reset line. EPSPARE was a spare
pin on that connector.

AREF is the analog reference on the Teensy. Not presently used.
TRST is the reset line for the Teensy.

What do the LED numbers map to, on Teensy2 and pca9655e? e.g. NumLck, CapLck, Mouse, NAS, Normal, 10-key:
   LED_0
   LED_1
   LED_2
   LED_D6_3

There is no fixed mapping of the LEDs at this time. I might suggest that on the right hand
they go in the order NAS=LED2, Normal=LED3, Mouse/Function=LED1, 10-Key=LED0
but that isn't critical.

On the left hand, there is no clear connection in order to go on. The LEDs are Scroll Lock, Num Lock, Mouse On, and ShiftLock.
In the end, I imagine a small daughterboard of sorts on the case that holds the LEDs (there are connectors in the layout to support this already)
meaning that we can put whichever LED in whichever spot makes sense mechanically.

A 10-key DodoHand is running and tested on a breadboard with Teensy 2.0 and PCA9655E I/O expander.
The 52-key DodoHand firmware without the above pins compiles, but I don't have the hardware to test it.
I am writing documentation to make debugging easier.
It will be pushed to GitHub in a few days.

This is awesome wolfv!  I will try to test this out before the end of the month.


Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: datahanduser on Thu, 14 May 2015, 12:03:56
As a longstanding datahand user, I've been watching this project with interest, but only now gotten around to making an account so I can post. How could i get some DodoHand hardward?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 14 May 2015, 16:12:14
Welcome to the forum datahanduser.

DodoHand hardware is documented on https://github.com/dodohand/dodohand
The hardware is not finished yet, so you might want to wait before ordering parts.
The thread's heading says "Project 75% done".
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Sat, 06 June 2015, 04:53:52
Hi guys,

Time to unlurk myself I guess  ;D
I've been eyeing this thread for over a year now, but hesitated to participate due to task overflow and time constraints. Came in once in a few months to check status. I love the concept of Datahand, and wanted to get my hands on one for over a decade. Never did due to the exorbitant price range.

So, finally, since I've got lots of experience in making small mechanical parts on FDM printers, I thought I'll give this project a go, and attempt printing both clusters. Got the github repo, looked through the parts, opened the Blender preview, and haven't really seen anything particularly scary.

However, when I try to compile the show_plf and show_prf files I get 302 warnings.
show_parts throw none, and individual parts seem to compile OK. Gonna generate it from individual parts, but wanted you guys to know. Log below. Not really experienced with OpenSCAD, prefer Blender, so sorry if it has an obvious fix or is environment specific - verifying that is outside of the scope of my abilities :)

I think it would be a good idea to have compiled data in the repo that would be verified for printing via Shapeways.
Not having that... someone is going to get a huge chunk of plastic that will make a memorable adornment for the mantelpiece sooner or later...  :-X

Code: [Select]
Module cache size: 6 modules
Compiling design (CSG Tree generation)...
ECHO: "x,y,z, d,w,h:", 0.9, 14.1333, 6.528, 11.5, 2.19267, 2.7045
ECHO: "x,y,z, d,w,h:", 0.9, 14.1333, 6.528, 11.5, 2.19267, 2.7045
ECHO: "x,y,z, d,w,h:", 0.9, 14.1333, 6.528, 11.5, 2.19267, 2.7045
ECHO: "x,y,z, d,w,h:", 0.9, 14.1333, 6.528, 11.5, 2.19267, 2.7045
ECHO: "index finger opto lead position array"
WARNING: Ignoring unknown variable 'h1ia'.
WARNING: Ignoring unknown variable 'h1r'.
WARNING: Ignoring unknown variable 'h1ia'.
WARNING: Ignoring unknown variable 'h1r'.
ECHO: "[", undef, undef
WARNING: Ignoring unknown variable 'h2ia'.
WARNING: Ignoring unknown variable 'h2r'.
WARNING: Ignoring unknown variable 'h2ia'.
WARNING: Ignoring unknown variable 'h2r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h3ia'.
WARNING: Ignoring unknown variable 'h3r'.
WARNING: Ignoring unknown variable 'h3ia'.
WARNING: Ignoring unknown variable 'h3r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h4ia'.
WARNING: Ignoring unknown variable 'h4r'.
WARNING: Ignoring unknown variable 'h4ia'.
WARNING: Ignoring unknown variable 'h4r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h5ia'.
WARNING: Ignoring unknown variable 'h5r'.
WARNING: Ignoring unknown variable 'h5ia'.
WARNING: Ignoring unknown variable 'h5r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h6ia'.
WARNING: Ignoring unknown variable 'h6r'.
WARNING: Ignoring unknown variable 'h6ia'.
WARNING: Ignoring unknown variable 'h6r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h7ia'.
WARNING: Ignoring unknown variable 'h7r'.
WARNING: Ignoring unknown variable 'h7ia'.
WARNING: Ignoring unknown variable 'h7r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h8ia'.
WARNING: Ignoring unknown variable 'h8r'.
WARNING: Ignoring unknown variable 'h8ia'.
WARNING: Ignoring unknown variable 'h8r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h9ia'.
WARNING: Ignoring unknown variable 'h9r'.
WARNING: Ignoring unknown variable 'h9ia'.
WARNING: Ignoring unknown variable 'h9r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hAia'.
WARNING: Ignoring unknown variable 'hAr'.
WARNING: Ignoring unknown variable 'hAia'.
WARNING: Ignoring unknown variable 'hAr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hBia'.
WARNING: Ignoring unknown variable 'hBr'.
WARNING: Ignoring unknown variable 'hBia'.
WARNING: Ignoring unknown variable 'hBr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hCia'.
WARNING: Ignoring unknown variable 'hCr'.
WARNING: Ignoring unknown variable 'hCia'.
WARNING: Ignoring unknown variable 'hCr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hDia'.
WARNING: Ignoring unknown variable 'hDr'.
WARNING: Ignoring unknown variable 'hDia'.
WARNING: Ignoring unknown variable 'hDr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hEia'.
WARNING: Ignoring unknown variable 'hEr'.
WARNING: Ignoring unknown variable 'hEia'.
WARNING: Ignoring unknown variable 'hEr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hFia'.
WARNING: Ignoring unknown variable 'hFr'.
WARNING: Ignoring unknown variable 'hFia'.
WARNING: Ignoring unknown variable 'hFr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hGia'.
WARNING: Ignoring unknown variable 'hGr'.
WARNING: Ignoring unknown variable 'hGia'.
WARNING: Ignoring unknown variable 'hGr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hHia'.
WARNING: Ignoring unknown variable 'hHr'.
WARNING: Ignoring unknown variable 'hHia'.
WARNING: Ignoring unknown variable 'hHr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hIia'.
WARNING: Ignoring unknown variable 'hIr'.
WARNING: Ignoring unknown variable 'hIia'.
WARNING: Ignoring unknown variable 'hIr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hJia'.
WARNING: Ignoring unknown variable 'hJr'.
WARNING: Ignoring unknown variable 'hJia'.
WARNING: Ignoring unknown variable 'hJr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hKia'.
WARNING: Ignoring unknown variable 'hKr'.
WARNING: Ignoring unknown variable 'hKia'.
WARNING: Ignoring unknown variable 'hKr'.
ECHO: "", undef, undef, "]"
ECHO: "middle finger opto lead position array"
WARNING: Ignoring unknown variable 'h1ia'.
WARNING: Ignoring unknown variable 'h1r'.
WARNING: Ignoring unknown variable 'h1ia'.
WARNING: Ignoring unknown variable 'h1r'.
ECHO: "[", undef, undef
WARNING: Ignoring unknown variable 'h2ia'.
WARNING: Ignoring unknown variable 'h2r'.
WARNING: Ignoring unknown variable 'h2ia'.
WARNING: Ignoring unknown variable 'h2r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h3ia'.
WARNING: Ignoring unknown variable 'h3r'.
WARNING: Ignoring unknown variable 'h3ia'.
WARNING: Ignoring unknown variable 'h3r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h4ia'.
WARNING: Ignoring unknown variable 'h4r'.
WARNING: Ignoring unknown variable 'h4ia'.
WARNING: Ignoring unknown variable 'h4r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h5ia'.
WARNING: Ignoring unknown variable 'h5r'.
WARNING: Ignoring unknown variable 'h5ia'.
WARNING: Ignoring unknown variable 'h5r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h6ia'.
WARNING: Ignoring unknown variable 'h6r'.
WARNING: Ignoring unknown variable 'h6ia'.
WARNING: Ignoring unknown variable 'h6r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h7ia'.
WARNING: Ignoring unknown variable 'h7r'.
WARNING: Ignoring unknown variable 'h7ia'.
WARNING: Ignoring unknown variable 'h7r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h8ia'.
WARNING: Ignoring unknown variable 'h8r'.
WARNING: Ignoring unknown variable 'h8ia'.
WARNING: Ignoring unknown variable 'h8r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h9ia'.
WARNING: Ignoring unknown variable 'h9r'.
WARNING: Ignoring unknown variable 'h9ia'.
WARNING: Ignoring unknown variable 'h9r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hAia'.
WARNING: Ignoring unknown variable 'hAr'.
WARNING: Ignoring unknown variable 'hAia'.
WARNING: Ignoring unknown variable 'hAr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hBia'.
WARNING: Ignoring unknown variable 'hBr'.
WARNING: Ignoring unknown variable 'hBia'.
WARNING: Ignoring unknown variable 'hBr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hCia'.
WARNING: Ignoring unknown variable 'hCr'.
WARNING: Ignoring unknown variable 'hCia'.
WARNING: Ignoring unknown variable 'hCr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hDia'.
WARNING: Ignoring unknown variable 'hDr'.
WARNING: Ignoring unknown variable 'hDia'.
WARNING: Ignoring unknown variable 'hDr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hEia'.
WARNING: Ignoring unknown variable 'hEr'.
WARNING: Ignoring unknown variable 'hEia'.
WARNING: Ignoring unknown variable 'hEr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hFia'.
WARNING: Ignoring unknown variable 'hFr'.
WARNING: Ignoring unknown variable 'hFia'.
WARNING: Ignoring unknown variable 'hFr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hGia'.
WARNING: Ignoring unknown variable 'hGr'.
WARNING: Ignoring unknown variable 'hGia'.
WARNING: Ignoring unknown variable 'hGr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hHia'.
WARNING: Ignoring unknown variable 'hHr'.
WARNING: Ignoring unknown variable 'hHia'.
WARNING: Ignoring unknown variable 'hHr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hIia'.
WARNING: Ignoring unknown variable 'hIr'.
WARNING: Ignoring unknown variable 'hIia'.
WARNING: Ignoring unknown variable 'hIr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hJia'.
WARNING: Ignoring unknown variable 'hJr'.
WARNING: Ignoring unknown variable 'hJia'.
WARNING: Ignoring unknown variable 'hJr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hKia'.
WARNING: Ignoring unknown variable 'hKr'.
WARNING: Ignoring unknown variable 'hKia'.
WARNING: Ignoring unknown variable 'hKr'.
ECHO: "", undef, undef, "]"
ECHO: "ring finger opto lead position array"
WARNING: Ignoring unknown variable 'h1ia'.
WARNING: Ignoring unknown variable 'h1r'.
WARNING: Ignoring unknown variable 'h1ia'.
WARNING: Ignoring unknown variable 'h1r'.
ECHO: "[", undef, undef
WARNING: Ignoring unknown variable 'h2ia'.
WARNING: Ignoring unknown variable 'h2r'.
WARNING: Ignoring unknown variable 'h2ia'.
WARNING: Ignoring unknown variable 'h2r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h3ia'.
WARNING: Ignoring unknown variable 'h3r'.
WARNING: Ignoring unknown variable 'h3ia'.
WARNING: Ignoring unknown variable 'h3r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h4ia'.
WARNING: Ignoring unknown variable 'h4r'.
WARNING: Ignoring unknown variable 'h4ia'.
WARNING: Ignoring unknown variable 'h4r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h5ia'.
WARNING: Ignoring unknown variable 'h5r'.
WARNING: Ignoring unknown variable 'h5ia'.
WARNING: Ignoring unknown variable 'h5r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h6ia'.
WARNING: Ignoring unknown variable 'h6r'.
WARNING: Ignoring unknown variable 'h6ia'.
WARNING: Ignoring unknown variable 'h6r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h7ia'.
WARNING: Ignoring unknown variable 'h7r'.
WARNING: Ignoring unknown variable 'h7ia'.
WARNING: Ignoring unknown variable 'h7r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h8ia'.
WARNING: Ignoring unknown variable 'h8r'.
WARNING: Ignoring unknown variable 'h8ia'.
WARNING: Ignoring unknown variable 'h8r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h9ia'.
WARNING: Ignoring unknown variable 'h9r'.
WARNING: Ignoring unknown variable 'h9ia'.
WARNING: Ignoring unknown variable 'h9r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hAia'.
WARNING: Ignoring unknown variable 'hAr'.
WARNING: Ignoring unknown variable 'hAia'.
WARNING: Ignoring unknown variable 'hAr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hBia'.
WARNING: Ignoring unknown variable 'hBr'.
WARNING: Ignoring unknown variable 'hBia'.
WARNING: Ignoring unknown variable 'hBr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hCia'.
WARNING: Ignoring unknown variable 'hCr'.
WARNING: Ignoring unknown variable 'hCia'.
WARNING: Ignoring unknown variable 'hCr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hDia'.
WARNING: Ignoring unknown variable 'hDr'.
WARNING: Ignoring unknown variable 'hDia'.
WARNING: Ignoring unknown variable 'hDr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hEia'.
WARNING: Ignoring unknown variable 'hEr'.
WARNING: Ignoring unknown variable 'hEia'.
WARNING: Ignoring unknown variable 'hEr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hFia'.
WARNING: Ignoring unknown variable 'hFr'.
WARNING: Ignoring unknown variable 'hFia'.
WARNING: Ignoring unknown variable 'hFr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hGia'.
WARNING: Ignoring unknown variable 'hGr'.
WARNING: Ignoring unknown variable 'hGia'.
WARNING: Ignoring unknown variable 'hGr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hHia'.
WARNING: Ignoring unknown variable 'hHr'.
WARNING: Ignoring unknown variable 'hHia'.
WARNING: Ignoring unknown variable 'hHr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hIia'.
WARNING: Ignoring unknown variable 'hIr'.
WARNING: Ignoring unknown variable 'hIia'.
WARNING: Ignoring unknown variable 'hIr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hJia'.
WARNING: Ignoring unknown variable 'hJr'.
WARNING: Ignoring unknown variable 'hJia'.
WARNING: Ignoring unknown variable 'hJr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hKia'.
WARNING: Ignoring unknown variable 'hKr'.
WARNING: Ignoring unknown variable 'hKia'.
WARNING: Ignoring unknown variable 'hKr'.
ECHO: "", undef, undef, "]"
ECHO: "pinkie finger opto lead position array"
WARNING: Ignoring unknown variable 'h1ia'.
WARNING: Ignoring unknown variable 'h1r'.
WARNING: Ignoring unknown variable 'h1ia'.
WARNING: Ignoring unknown variable 'h1r'.
ECHO: "[", undef, undef
WARNING: Ignoring unknown variable 'h2ia'.
WARNING: Ignoring unknown variable 'h2r'.
WARNING: Ignoring unknown variable 'h2ia'.
WARNING: Ignoring unknown variable 'h2r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h3ia'.
WARNING: Ignoring unknown variable 'h3r'.
WARNING: Ignoring unknown variable 'h3ia'.
WARNING: Ignoring unknown variable 'h3r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h4ia'.
WARNING: Ignoring unknown variable 'h4r'.
WARNING: Ignoring unknown variable 'h4ia'.
WARNING: Ignoring unknown variable 'h4r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h5ia'.
WARNING: Ignoring unknown variable 'h5r'.
WARNING: Ignoring unknown variable 'h5ia'.
WARNING: Ignoring unknown variable 'h5r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h6ia'.
WARNING: Ignoring unknown variable 'h6r'.
WARNING: Ignoring unknown variable 'h6ia'.
WARNING: Ignoring unknown variable 'h6r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h7ia'.
WARNING: Ignoring unknown variable 'h7r'.
WARNING: Ignoring unknown variable 'h7ia'.
WARNING: Ignoring unknown variable 'h7r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h8ia'.
WARNING: Ignoring unknown variable 'h8r'.
WARNING: Ignoring unknown variable 'h8ia'.
WARNING: Ignoring unknown variable 'h8r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'h9ia'.
WARNING: Ignoring unknown variable 'h9r'.
WARNING: Ignoring unknown variable 'h9ia'.
WARNING: Ignoring unknown variable 'h9r'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hAia'.
WARNING: Ignoring unknown variable 'hAr'.
WARNING: Ignoring unknown variable 'hAia'.
WARNING: Ignoring unknown variable 'hAr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hBia'.
WARNING: Ignoring unknown variable 'hBr'.
WARNING: Ignoring unknown variable 'hBia'.
WARNING: Ignoring unknown variable 'hBr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hCia'.
WARNING: Ignoring unknown variable 'hCr'.
WARNING: Ignoring unknown variable 'hCia'.
WARNING: Ignoring unknown variable 'hCr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hDia'.
WARNING: Ignoring unknown variable 'hDr'.
WARNING: Ignoring unknown variable 'hDia'.
WARNING: Ignoring unknown variable 'hDr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hEia'.
WARNING: Ignoring unknown variable 'hEr'.
WARNING: Ignoring unknown variable 'hEia'.
WARNING: Ignoring unknown variable 'hEr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hFia'.
WARNING: Ignoring unknown variable 'hFr'.
WARNING: Ignoring unknown variable 'hFia'.
WARNING: Ignoring unknown variable 'hFr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hGia'.
WARNING: Ignoring unknown variable 'hGr'.
WARNING: Ignoring unknown variable 'hGia'.
WARNING: Ignoring unknown variable 'hGr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hHia'.
WARNING: Ignoring unknown variable 'hHr'.
WARNING: Ignoring unknown variable 'hHia'.
WARNING: Ignoring unknown variable 'hHr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hIia'.
WARNING: Ignoring unknown variable 'hIr'.
WARNING: Ignoring unknown variable 'hIia'.
WARNING: Ignoring unknown variable 'hIr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hJia'.
WARNING: Ignoring unknown variable 'hJr'.
WARNING: Ignoring unknown variable 'hJia'.
WARNING: Ignoring unknown variable 'hJr'.
ECHO: "", undef, undef
WARNING: Ignoring unknown variable 'hKia'.
WARNING: Ignoring unknown variable 'hKr'.
WARNING: Ignoring unknown variable 'hKia'.
WARNING: Ignoring unknown variable 'hKr'.
ECHO: "", undef, undef, "]"
ECHO: "oaw: ", 23.9
ECHO: "clip_len (mm, in): ", 11.5157, 0.453373
ECHO: "clip_w: ", 1.31667, 0.0518373
ECHO: "clip2_len: ", 15.7916, 0.621718
ECHO: "clip2_B: ", 1.63782, 0.064481
ECHO: "flange radius: ", 20.6757
ECHO: "lh_i_sty: ", 18.7966
ECHO: "lh_i_sby: ", -18.7966
ECHO: "lh_m_sty: ", 24.5116
ECHO: "lh_m_sby: ", -13.0816
ECHO: "lh_r_sty: ", 16.6122
ECHO: "lh_r_sby: ", -20.981
ECHO: "lh_p_sty: ", -0.507392
ECHO: "lh_p_sby: ", -38.1006
ECHO: "ks_screw_id: ", 1.6383
Compiling design (CSG Products generation)...
Geometries in cache: 93
Geometry cache size in bytes: 2539896
CGAL Polyhedrons in cache: 0
CGAL cache size in bytes: 0
Compiling design (CSG Products normalization)...
Normalized CSG tree has 1923 elements
Compile and preview finished.
Total rendering time: 0 hours, 0 minutes, 0 seconds
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Sat, 06 June 2015, 13:12:08
Sorry for doublepost.
Test-printed the guard to see how it fits the hand. 1h45mins:
[attach=1]

I generated the switch elements. 2 hours of cleaning up topology. They seem excessively greebled, gonna try reducing this now and eventually cut them up for easy printing. Singled-out the mechanism for a lone switch for rebuild.

Got a few questions though:

1. what is this element? Is it necessary? It doesn't touch anything, is is supposed to go into the hole in 2. (cut-through image)? What are the (2) holes for?
[attach=3]
[attach=2]

3. the red element is loose geometry that got generated when making the carrier. obscures a hole in the carrier. Is it supposed to be there, or should I remove it?
[attach=5]

4. finally, what are these bars?
[attach=4]
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 07 June 2015, 10:23:17
Hah! Excellent! That guard looks great!

So, How does the guard seem to line up with your hand? 
I arranged it for mine, and it was quite close to the original...

Greebled is a new term for me, but I can see what you mean.

Re. #1) That is meant to be a small bump to ensure that the
moving lever, when moving off-axis, makes contact only in
one, very small spot so that friction will be minimized. Is it
critical? I have no data. Does it work? I have no data. Just
seemed like it might help.

Re. #2) Those holes are the holes through which the IR beam
shines, and they are critical to the switch operation. An IR
LED goes on one side, and the IR phototransistor on the other.

Re #3) Perhaps an error with the model and newer OpenSCAD?
It generates as part of the solid for me. It is part of the mechanism
for the center switch. What OpenSCAD version are you using?

Re #4) Those plastic springs are used to retain and hold down
a small rectangular block which captures the metal clip for the
center switch.

Regarding all of the warnings on compile: I'd been off working
on the thumb model and hadn't tried to clean those up. It is
just the cruft left over from getting final position data out for
locating pins in the PCB.



Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: gbjk on Wed, 15 July 2015, 05:07:33
I notice that Model 01 is up to $580k now on kickstarter:
https://www.kickstarter.com/projects/keyboardio/the-model-01-an-heirloom-grade-keyboard-for-seriou (https://www.kickstarter.com/projects/keyboardio/the-model-01-an-heirloom-grade-keyboard-for-seriou)

I can't help thinking that the dodohand could equal that at the very least.
Really wish I had the time to do something with this idea, commercially.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: feeQs on Sat, 18 July 2015, 12:27:21
Funny you said that. I just came here because I wanted to recreate the DH with a help from my friends and kickstarter campaign but nevermind now, I'm glad it's done in 75%+  :D
BTW, I can provide any help with microchips if needed.
To the OP: you got my money, dude. And yeah, you should start a project at KS as soon as you have prototype ready
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Nico_h on Sat, 18 July 2015, 16:19:42
Well a kickstarter would be nice but this project is reverse engineering an existing product. IANAL but there might be some design mark/trademark or even patents involved in the design of the original which might not all be expired. I would look into that before starting to consider a kickstarter campaign.

A bunch of fans on a secluded forum would likely fly under the radar, whereas a kickstarter campaign might attract more (unwanted) attention. 

OTOH the author might have come up with patentable improvements to the original design.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: jacobolus on Mon, 03 August 2015, 22:56:11
Datahand patents are from <1995, so are now expired.

Sure there’s a trademark, so don’t use the same name.

It’s conceivable a project could get flak for making something that tries to look precisely identical, but you probably wouldn’t want that anyway; many aspects of the original appearance were based on the specific manufacturing process details which aren’t relevant to a new design.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Bystroushaak on Tue, 25 August 2015, 10:21:02
I am one of those who registered just to say, that I would love to back this project at kickstarter / indiego.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 27 August 2015, 09:23:00
OldDataHands,
I am back; after taking 10 weeks off to take care of other matters.
I have all the parts to start soldering.
   (https://lh3.googleusercontent.com/_v0cvGrX2HXKM4HdTO6TvLqBiGqWr4P2_rcjJ3nhWAI=w1220-h915-no)
The purple DodoHand PCBs are pictured on the right - thank you OldDataHands.

Please post close-up pictures of your PCBs showing the placement of the smaller electronic components.
I think that is the easiest way for me to figure out where all the parts go.

Here is a list of DodoHand PCB pictures you have already posted on this thread:
page-3 Finger cluster https://geekhack.org/index.php?topic=41422.150
 #150 Teensy, I/O expander, plugs, LEDs.  Can not make out what the smaller parts are.
 #156 PCB plugged in with LEDs on.
 #191 0603 bridges.
 #197 Switches, PCB plugged in.
page-7 Thumb cluster https://geekhack.org/index.php?topic=41422.300
 #343 #344 Can not see any of the electronic parts.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Fri, 28 August 2015, 11:24:14
Update:

The BOM.ods, Schematic Export tab, lists the parts by PCB label.
That explains where most of the parts go.  So I won't be needing close-up pictures of your PCBs.
I still have three questions though:
1) What are the ten "8 position SMT header" used for?  (the BOM says quantity 5 and the pictures show them absent from your PCBs).
2) On thumb PCB, what are the meanings of the three labels R101, R102, R103?
3) On thumb PCB, which solder bridges get bridged?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 30 August 2015, 00:23:42
1) What are the ten "8 position SMT header" used for?  (the BOM says quantity 5 and the pictures show them absent from your PCBs).

There are provisions in the circuit and on the PCB for several 8-pin headers which
are intended to be used for:
  1) The thumb cluster (THM_TOP / THM_BOT connectors)
  2) Gaining access to the several extra pins of the micro (AUX connectors)
  3) Connecting to the now-unavailable EasyPoint module (EP_TOP/EP_BOT connectors)
  4) Alternate/external/off-PCB mounting of the indicator LEDs (ALTLED connectors). 

You will want to mount the thumb cluster connectors, and probably none of the others.

2) On thumb PCB, what are the meanings of the three labels R101, R102, R103?
R101, R102, and R103 are the labels for the 3 resistors in the thumb switch matrix.
R101 and R102 are 2.49kOhm, while R103 is 470 Ohm

3) On thumb PCB, which solder bridges get bridged?
Just like on the finger PCB, the bridges that are on the side opposite your hand will
need to be bridged. Also, please refer back to the mail I sent you on June 2 for the
re-work needed on the thumb PCB to correct an error I made in a footprint.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 01 September 2015, 18:09:40
OldDataHands,
I soldered all the jumpers (0603 0-Ohm) to the back of the left-hand fingers PCB (for teensy).
This is my first experience soldering anything as small as 0603 and I don't have much confidence in the solder joints.
Would it be best to test to the jumper-solder continuity before soldering on more components, or is it easier to test after all the components are soldered on?
How does one figure out where to attach the multi-meter to test solder continuity?

Thank you.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 01 September 2015, 22:09:37
I see, in the photo you posted of your workbench, a hot-air rework station.
If you are unsure about the integrity of any of those little joints, I would fire
that guy up and reflow the suspect joints.

When I did mine, I did manually check each of them with a meter after I
was satisfied with the soldering. The one side of the bridge is a nearby
through-hole, so that side is obvious. For the other side, you'll probably
just have to follow the trace to the next spot, either with the help of having
KICAD/pcbnew and looking at the layout, or just taking the time to follow each one.

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Fri, 04 September 2015, 13:57:59
Hey, sorry for the slow rep. Suddenly - work happened.

Hah! Excellent! That guard looks great!

So, How does the guard seem to line up with your hand? 
I arranged it for mine, and it was quite close to the original...

Hard to say without keys to press, really. It seems usable, but I have a feeling that finger angles may matter, and I noticed I have a tendency to space fingers unevenly.
I haven't used a datahand before, but I guess the force of the switches should be enough to keep each finger centered in each socket in such case. I'm really aching to see their feel and mechanics, but this will have to wait a little more.
[attach=1]

I think it would be nice to have them spaced individually. I've got a few ideas, but this will have to wait till I finish a pile of projects at work.



Greebled is a new term for me, but I can see what you mean.
[...]
Regarding all of the warnings on compile: I'd been off working
on the thumb model and hadn't tried to clean those up. It is
just the cruft left over from getting final position data out for
locating pins in the PCB.

Eh, kinda sad, but I haven't touched these since :/ I'll try to sit to them over the (next?)weekend, print out a few assemblies and try to optimize. Hard to get to it, but I know that once I get these made it'll all clear up.

How's the work on the thumb cluster going?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 17 September 2015, 23:09:39
How's the work on the thumb cluster going?

Well, I actually worked on it a bit for the first time in quite a while. Felt good.
I got a couple long-overdue tweaks made to the regular thumb switch model.
Am now in a position to find out if the switch to the other magnet will improve
the behavior, or if something more drastic is needed. I'll have to go back and
review my notes to see if there are other changes needed before having a
test print made.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: trauring on Mon, 21 September 2015, 13:47:30
I noticed a DataHand for sale on eBay. It's not functional, and it's only the left-hand, but I thought someone trying to re-create it might want it for parts, especially since it's only $10 right now:

http://www.ebay.com/itm/Datahand-Professional-II-Ergonomic-Keyboard-Left-hand-only-as-is-/331660722775?

(I hope I didn't just mess up the person who already bid $10, if that person is in this group)
Title: wolfv
Post by: wolfv on Wed, 07 October 2015, 10:14:23
OldDataHands,
I tried adding sticky mouse button to DodoHand firmware, but ran out of SRAM memory.
There is plenty of unused PROGMEM, but the DodoHand firmware can not use PROGMEM.
Could you redesign DodoHand's PCB to use TeensyLC?  TeensyLC has plenty of SRAM memory.
 https://www.pjrc.com/teensy/teensyLC.html (https://www.pjrc.com/teensy/teensyLC.html)
In the mean time, I can continue to develop DodoHand firmware without the sticky mouse button.

The reason the DodoHand firmware can not use PROGMEM is:
   The sketch is an array of polymorphic objects, where each object corrspeonds to a key on the physical keyboard.
   PROGMEM before C++11 does not support polymorphic objects.
   Arduino for Teensy2.0 does not support C++11.
   I could not figure out how to add C++11 to Arduino for Teensy2.0
Details are posted on https://forum.pjrc.com/threads/30474-User-Name

Sorry about the setback.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 07 October 2015, 22:33:27
Hmm. I'm going to have to do some research into what
that even means wolfv. I haven't kept up with C++, having
switched to a C-language, embedded world 10 years ago. 

How big is your SRAM deficit?

Might there be an opportunity to squeeze some other
places so as to make some space available for what you're
trying to accomplish?

There may also be another way to arrange things so as to
achieve what you're trying to get using this "polymorphic object"
without actually having to use that approach.  Are you willing
to share what you've got at the moment that doesn't fit into the 32U4?

I have no particular attachment to the 32U4 version of the Teensy,
but intend to work on the thumb switches until I get them right before
I go back to change the layout of the finger PCB.
Title: wolfv
Post by: wolfv on Wed, 07 October 2015, 23:43:58
How big is your SRAM deficit?
I haven't measured the SRAM deficit yet.

Might there be an opportunity to squeeze some other
places so as to make some space available for what you're
trying to accomplish?
I squeezed all the memory I could.

There may also be another way to arrange things so as to
achieve what you're trying to get using this "polymorphic object"
without actually having to use that approach.
The array of polymorphic objects is fundamental to the sketch's architecture.
Changing it would break all the code.
You will see what I mean when you read the sketch.

Are you willing to share what you've got at the moment that doesn't fit into the 32U4?
I will push a working DodoHand firmware to GitHub in a few weeks, but the mouse buttons will not be sticky.
Title: wolfv
Post by: wolfv on Sat, 10 October 2015, 21:39:18
OldDataHands,

I got C++11 running on Arduino for Teensy 2, and PROGMEM is working on an array of polymorphic objects.
Sorry for the false alarm.
DodoHand firmware should be ready in a few weeks.

Method for adding C++11 to Arduino for Teensy 2 is posted on https://forum.pjrc.com/threads/30474-User-Name?p=84425&viewfull=1#post84425
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Interface on Wed, 21 October 2015, 18:39:27
Haven't checked and measured all the mechanical pieces in detail but are there any that's too small to be printed on an FDM-machine like the Makerbot? If it is I would like to fork it and make one that'll be accessible to more people.

Also I was thinking of bringing out my Chavant clay and make my own hand supports and then use the clay model as basis for image based modeling.

Thumbs up for your work guys!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 22 October 2015, 07:41:51
Haven't checked and measured all the mechanical pieces in detail but are there any that's too small to be printed on an FDM-machine like the Makerbot? If it is I would like to fork it and make one that'll be accessible to more people.

Was not designed for FDM, but see what happens when you try to print and let us know!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Interface on Thu, 22 October 2015, 16:00:15
Okay OldDataHands I will check the smallest pieces and try slicing them and we'll see, If it seems possible I could probably have a test print by Sunday.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Interface on Sat, 31 October 2015, 03:39:26
OldDataHands I made a test slice on the carrier and I think it's possible. Will have a test print done soon.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 31 October 2015, 22:39:35
Very Cool! I just made some minor tweaks onto the thumb_work branch.
They're untested, but should be an improvement if you're going to
print the thumb switches.

Looking forward to your results.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 31 October 2015, 22:43:58
Oh, and just in case you haven't noted it,
the parameter "gfn" in dimensions.scad
ought to be set up above 50ish (I have printed
at a setting of 87 using shapeways) depending
on how smooth you want to make the final model
vs. how large a model you can tolerate.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Sun, 08 November 2015, 04:57:24
Changed the paradigm a little.

Fast, dirty, cheap, beautiful.

Low actuation force, small travel, wonderfully clicky. No mid button yet, but that's easy.
Gonna use ribbon or small thin pcbs to get the switch pins out to the bottom. 

Diameter of these is 30mm, exactly the same as originals with hand guard. Much more comfy too.

(http://creatr.es/gh/dh2.jpg)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Mon, 09 November 2015, 17:25:17
Wow!

What is the travel distance of the tips of the keys?

The leads from those switches all come nearly to the same point.
What do you have in mind regarding a center switch? How're you
going to fit it in there?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Tue, 10 November 2015, 02:17:28
Wow!

What is the travel distance of the tips of the keys?

2mm on the tips, actuation towards the end, after 1.5mm.

A tensioning screw can be added on the outside-bottom that would press the key's lever end against the leaf spring of switch.
I was trying to get similar effect with the 3d print directly, but result is non-uniform (though tolerable).

The leads from those switches all come nearly to the same point.
What do you have in mind regarding a center switch? How're you
going to fit it in there?

The leads are 2.5mm long, I'm gonna trim them and solder in a ribbon or small thin PCBs. I was thinking PCBs, because you would be able to etch contact pads on one end, and slide them into a pre-made socket in the main PCB, so the whole assembly would actually be removable without soldering. There would be enough space for a screw in the middle to hold it in place, too.

For the middle key - a lever that presses a switch located above the top finger actuator. Working on it, should be ready wednesday-ish.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Wed, 11 November 2015, 15:48:16
Kinda like so:

(http://creatr.es/gh/dhsw.jpg)


Do you guys think it would be a good idea to settle on a common keycap mounting standard for the Dodohand project?

I know the original uses a single actuator assembly, but separating it into an actuator and a keycap feels like a natural thing to do :P
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 11 November 2015, 22:29:22
Ahah! That looks promising. Looking forward to a report
about the feel!

Even my Pro-II datahands have separate "keycap" parts...
though I'm uncertain of the benefit if you're doing your
own FDM 3D-printing. In my models I did a crude connection
between the thumb switches and the "keycaps" because it
allows the print to fit into a smaller bounding volume.

Do you have an idea which would work ?

It seemed to me that for the finger switches the tolerances
were too coarse to allow for a nice, reliable fit within the
rather thin parts that I was imagining.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Sat, 14 November 2015, 19:46:54
Ahah! That looks promising. Looking forward to a report
about the feel!

(http://i.giphy.com/IUZtGhVO8hZ6w.gif)

It works well, but when I put back all the buttons back in with it, it has just a tad too little space to plunge down reliably. I'll have to give it an angled mount, to raise it by 1mm on the fingerpress spot, and it's gonna be good.
Also gonna change the angle, it's not sloping enough for my taste.


Even my Pro-II datahands have separate "keycap" parts...
though I'm uncertain of the benefit if you're doing your
own FDM 3D-printing. In my models I did a crude connection
between the thumb switches and the "keycaps" because it
allows the print to fit into a smaller bounding volume.

I glue them from 2 parts anyway, because it's much easier to print them out, and they are overall nicer in quality from the printer. Using ABS, so it glues together seamlessly with acetone.
Printing holes in the keycaps would be easy, and the rods to mount them could be glued into the actuator lever without problems, just like I do it now.

I was thinking keycaps, because I ended up making the keys longer and more profiled than the original... and my wife would prefer them to be even different. Besides, this is an ergo device, so... no custom keycaps? :P

Making them removable would also allow for easier dismantling of the switch, I'll show in photos in a sec... basically, I'd be able to pop in the microswitches, pop in the levers with axles, close them up with a lid that holds it all together, and then put on the keycaps, whatever form and diameters they have.

Do you have an idea which would work ?

I think I'd go for something lego-style. The standard cross-section rod maybe? but I'd definitely go for keycaps of some sort.

It seemed to me that for the finger switches the tolerances
were too coarse to allow for a nice, reliable fit within the
rather thin parts that I was imagining.

Mine are more massive. While they fit in same diameter as the guard hole, they are considerably more voluminous. Made them like that on purpose, didn't like the original feel, it felt too... delicate. Small. Easy to break.

Anyway, here it is, added the middle button (sorry for the quality of these):

(http://creatr.es/gh/dth_2.JPG)

and here is the blow-up view. I used 2mm nails for the switch axles. No plate to hold them from the top yet, i goofed up on some booleans when preparing it, and couldn't match reliably.

(http://creatr.es/gh/dth_3.JPG)

I want to get this stuff running ASAP so I can start practicing WPMs and experiment with layers and key layouts.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Tue, 24 November 2015, 16:25:25
Redesigned and fixed dimensions, sideways wobble is now eliminated. Got it printed, but it looks more or less like the other ones :P

As you can see in the images, I'm using a plastic plate to press down the switch rods. It's very hard to assemble when the keycaps are a part of the switches, so now looking for the best way to keep the two separated.

[attach=1]
[attach=2]
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 24 November 2015, 22:16:01
I'm keen to see how you manage to attach the
keycaps to the plates. Please do share as soon
as you've got something!

Looks promising!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Interface on Mon, 30 November 2015, 16:00:52
Thought I replied already, anyhow.

OldDataHands I've made a test print on the cbutton, it got too warm for the thin parts so it just melted to a glob there. But I see Sinusoid has a solution in the works!

I also thought I'd make my own hand rest for the Dodohand so I've sculpted a model in Chavant clay that I will digitize, ran out of clay though but got more at home so I'll continue working on it in a few days.

Sinusoid, I'm looking forward to printing your solution!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Sat, 19 December 2015, 17:01:58
Quick update.

Switches work OK. Travel a little too big. That's going to be easy to fix, I'll leave that for later though. Right now I want to have a working prototype ASAP.

Here's a shot of 4 switches in various stages of assembly.
I couldn't make up my mind regarding keycap attachment, so I thought: screw it. Screw it all.
[attach=1]
As you can see, some elements require sanding to get them working.

Then I assembled the switches, and made a mockup handrest. I'll probably put resin over it.
Worked with it a little, turns out this keyboard needs a really good hand support to be comfortable to use. Side movements felt awkward at first, but got used to it pretty quickly.
Has plenty of place for electronics.
Will have to design a thumb cluster for it, but want to make my own version, experiment a little. Will prototype something in with oil based clay later.
[attach=2]
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Viz on Wed, 23 December 2015, 13:32:45
Great work guys! I'm so excited to see the end product!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Phenix on Fri, 01 January 2016, 11:59:53
awesome project. but im worried about the price. Guess/Hope ~500
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Tue, 26 January 2016, 02:25:42
Bump. Any news?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Tue, 26 January 2016, 16:56:48
I have updates :)

First of all, I made a thumb cluster.
[attach=1]

8 switches, 7 used at present. In a comfortable arrangement. Planning something nice for the 8th, but need to design a proper 3d printed hand rest first.

Second of all, I made a temporary hand rest. It was nice and shiny, made from ABS juice with reinforcement fabric, formed over oil based clay.
But then I decided to add some thermosetting clay spots onto it, to find minimum hand support areas. It had to be baked in the oven... see where this is heading?

So the ABS had a lot of acetone trapped within, even though I dried it for a very long time. When I stuffed it into the oven at 120°C it foamed and got runny! Got me some burns trying to save it and knead it back to shape while still hot, but it paid off... ergonomy-wise, at least.
Now it's functional and comfortable, but dead fugly. Sooo... here it goes  :-X

[attach=2]
[attach=3]
[attach=4]

This was shaped directly over the clay from the previous photo.

I'll be optimizing the handrest for points of support. Want to make them all movable, so they can be custom positioned in all axes, so it can fit different hand shapes and sizes.
Also will increase side support, so it'll hold the hand in a natural, vertical position for those who would like to write that way. Tested it, it works nice.
The switches will have a variable positions as well. Turns out this is really important, otherwise the keyboard gets a bit straining to type on after a while. I'm trying out different hinges and designing a general mechanical layout for the hand support, but no definitive results yet.

I managed to get a setup I can dry-test on.
[attach=5]

I severely underestimated the design and the potential of this. When I started doing this, I had a parallel Kinesis -style keyboard layout in the works, with early 3d prints ready... From the time perspective, I regret not going at this full steam from the beginning. It's mentally aching, knowing I could have been 1 month further with the development of this right now...


Gonna be soldering this next.




@Viz
Me too  ;D

@Phenix
Re:price/making it a product/selling it - No idea. Didn't really think about it yet. I don't even know if there's gonna be demand for this, or will people like the new switches. I have it in the back of my head, and would love to do it, but it's still too early. Needs to be tested, needs not to break, needs to be easily fixable, needs to fit most hand types... and I need to research best practices regarding selling stuff on GH.
I'll get down to it after I have a working, programmable prototype running. At this stage this would be a distraction. I did some research after your post, and ErgoDox price range seems like something acceptable to a lot of people. I would also like to release the files for this at some point, so anyone can print those out and assemble/modify on their own.

@test321
There you go :)

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: regack on Tue, 26 January 2016, 17:59:24
So the ABS had a lot of acetone trapped within, even though I dried it for a very long time. When I stuffed it into the oven at 120°C it foamed and got runny! Got me some burns trying to save it and knead it back to shape while still hot, but it paid off... ergonomy-wise, at least. Now it's functional and comfortable, but dead fugly.

It looks like some kind of alien organic control system in a sci-fi movie... it's fantastic!

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Phenix on Wed, 27 January 2016, 10:50:52
Thanks for the update.
The wrist Rest looks .. functional. But if its ergonomic why not
to set up the angle is a good idea!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: alexjd99 on Wed, 27 January 2016, 18:36:20


@Phenix
Re:price/making it a product/selling it - No idea. Didn't really think about it yet. I don't even know if there's gonna be demand for this, or will people like the new switches. I have it in the back of my head, and would love to do it, but it's still too early. Needs to be tested, needs not to break, needs to be easily fixable, needs to fit most hand types... and I need to research best practices regarding selling stuff on GH.
I'll get down to it after I have a working, programmable prototype running. At this stage this would be a distraction. I did some research after your post, and ErgoDox price range seems like something acceptable to a lot of people. I would also like to release the files for this at some point, so anyone can print those out and assemble/modify on their own.


I'm super glad you're going to be releasing the files, it's always a good thing to have it open source  :)) Hope this doesn't end up facing any major problems, since I've been wanting a DataHand since I first saw one.

Good luck with finishing up the prototype  :thumb:
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Fri, 29 January 2016, 04:21:46
Great post man! Don't cheap out on switches :P they should have different actuation force for different fingers. Considering this is pretty much best keyboard to top all the keyboards, price doesn't matter at all, it should be all about quality. Does 3d printed plastic feel good or are there other more comfortable materials? Looks kinda tall, but that's probably because of your unique switch/part positioning.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Zekromtor on Sat, 30 January 2016, 23:44:52
pick function over form every time.

I want some vids of excessively ergonomic WPMs
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Tue, 02 February 2016, 05:53:38
I made myself a promise I won't post here without delivering content... so sorry for slow reps. Anyway!

It looks like some kind of alien organic control system in a sci-fi movie... it's fantastic!

OK, now I had to do it. For the Overmind.
[attach=1]
[attach=2]
[attach=3]
[attach=4]
kekekekekeke

This is actually silly, because I already started redesigning this for 3d printing, and the element won't be used in the prototype. I could have spent this time in a more constructive manner. But it looks nice I guess :P

As you can see, the wires are connected to a proto board, and I did some wire management as well. On the last two I realized I can solder this without separating the ribbon. Now got to order shift registers and figure out how to handle debouncing.

Thanks for the update.
The wrist Rest looks .. functional. But if its ergonomic why not
to set up the angle is a good idea!

Designing the handrest now. It's gonna be VERY adjustable. Not just the tilt. When I say ergo, I mean it.

I'm super glad you're going to be releasing the files, it's always a good thing to have it open source  :)) Hope this doesn't end up facing any major problems, since I've been wanting a DataHand since I first saw one.
Good luck with finishing up the prototype  :thumb:

I can't see no major problems. Mechanical part is completed and operational. Even if I fall ill or get killed in a car crash, OldDataHands has backup of the switches. The only thing left to work out is the electronics, and that's a well documented process that doesn't need exotic parts.

Great post man! Don't cheap out on switches :P they should have different actuation force for different fingers. Considering this is pretty much best keyboard to top all the keyboards, price doesn't matter at all, it should be all about quality. Does 3d printed plastic feel good or are there other more comfortable materials? Looks kinda tall, but that's probably because of your unique switch/part positioning.

I disagree. Datahand is about a layout and a principle of operation. This thing has been AFK for too long, and far too many people were not able to get it due to the price range when it was still available. And, in my personal opinion, it was badly overengineered and unmaintained for a large part of its lifetime.

Time for refinement will come later. Now it hast to start living again.

The plastic feels good, the switch feeling is light and clicky. I'm trying to counter the drawbacks of FFF printing by designing this in an appropriate way. Works out well so far, and the results are even on a well calibrated machine.

pick function over form every time.

I want some vids of excessively ergonomic WPMs

This exactly. (oh wait... did I just pretty-paint a throwaway part...  :rolleyes:)
Seriously now, there is no place for form at this stage.

As for the vids... me too  ;D
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 02 February 2016, 16:09:10
Nice work sinusoid :thumb:.  Seems like mechanical switches have improved since the original DataHand.

The only thing left to work out is the electronics, and that's a well documented process that doesn't need exotic parts.

Here are some suggestions based on my experience with DodoHand:

Use Teensy LC, it has 3 times more RAM than Teensy 2.0.  I ran out of memory writing DodoHand firmware on Teensy 2.0.
https://www.pjrc.com/teensy/teensyLC.html

Create separate designs for left and right hand PCBs.  Its easier to design that way, and much easier for electronic neophytes to trouble shoot.  DodoHand (and ErgoDox) uses the same PCB design for both left and right matrices.  The DodoHand PCB is hard to trace, and I still don't have the right thumb working.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 02 February 2016, 16:37:24
sinusoid,

Consider testing the hardware and firmware on breadboards before designing the PCBs:
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: vvp on Wed, 03 February 2016, 04:46:01
Wiring breadboard is a pain. Just design a PCB (you will need it at the end anyway) and etch it at home. Its only something like 2 hours of work to etch it. It is cheap and the result is much easier to work with. And if it turns out well then you can put your prototype PCB into your first prototype keyboard.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Wed, 03 February 2016, 04:55:44
@wolfv,

I have all the switches connected to a proto board with a ribbon cable, and pins soldered in for each output. Gnds are bundled together into one... the switch density left no choice on this one.

I'll be connecting this to an arduino mega temporarily, using a 74HC165 shift register as suggested  here, by senso (https://geekhack.org/index.php?topic=79155.msg2030286#msg2030286) (though I realized ErgoDox uses I2c port expander successfully... whatever).
I would like to debounce the input before the shift register, so I researched a bit, and found this:
[attachimg=1]
source: http://www.eng.utah.edu/~cs5780/debouncing.pdf

Applying it right now would mean I'm using something I don't understand well. Which is bad.
Right now I'm split between asking for help, and taking my time to bite into it, wanting to understand how it works exactly... and the first just won.

If anyone could help me out with getting the right caps, diodes and resistors, I could order them ASAP, and research it in my own pace then before soldering it together over the weekend.
Case described in the article seems to fit the Arduino Mega - calculated for 5V, C=1uF, R2=18K, R1=82K. Can someone confirm if these are correct? What diode should I use?
If no reply, I'll just sit to it over the weekend to gobble up necessary knowledge, and order parts monday-ish.

Or just skip the debouncer for the time being, hardwire to shift registers, and try to get some software on the mega... that's a good plan.

edit: reading the diagram, looking at where the cap connects... does it mean I make a single debouncer for all of the switches, where all the switches are in parallel? Or is it not possible with my lax treatment of the gnd pins?

edit2: or should I debounce in software? I will have to solve the case of key-pressed-constantly, this falls under debouncing.
For the final build, I should use both signal pins on the switch to determine its state, as suggested in the article. This is the perfect solution without the need for any debouncing whatsoever - switch is always in a known state then.

This is the current wireup, checked with multimeter, and ready for testing:
[attach=2]

New hand rest, 3d printed. White residue is paint, I was verifying the exact contact areas with the hand.

Also, the size of this thing is like a big computer mouse. Kinda begs for a sensor on the bottom... Should I resist that urge, or succumb to it?  :-\
[attach=3]



Wiring breadboard is a pain. Just design a PCB (you will need it at the end anyway) and etch it at home. Its only something like 2 hours of work to etch it. It is cheap and the result is much easier to work with. And if it turns out well then you can put your prototype PCB into your first prototype keyboard.

I won't do that now. I etched PCBs in the past using toner transfer, and it's no problem, but this is not the right moment to do that. Would add increased overhead. Also, the PCB is not yet designed, which isn't 2 hours :)
Working device first, refinement later.
edit: I'm gonna use shift registers for this, so there won't be a need to wire up a matrix right now.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: vvp on Wed, 03 February 2016, 05:14:35
Also, the PCB is not yet designed, which isn't 2 hours :)
Yes, but you will need a PCB at the end anyway so designing it is not a loss of time. It would be lost time only when you think it is highly probable that your schematic is so bad or the case/PCB contours so unstable that you would need to modify it in a substantial way (which would completely break the original PCB layout).

I would not bother with hardware debouncing. Software debouncing in the micro-controller is easy and more flexible. Actually if I would have a chance to pick a keyaobard with a hardware debouncing or a software debouncing in an open firmware then I would go for the software option since it is easier to tweak later on.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Wed, 03 February 2016, 05:38:51
@vvp,
There is no case yet. It's gonna be a bunch of elements with variable positions, think R.A.T.7 on steroids after a FEV vat dip. Switches won't have a traditional PCB due to size constraints and need for height alignment, they'll use flex interconnects to the mainboard a bit like they do now... it's all pretty complex crazy.

re:debouncing, got it, ordering registers only then! If someone has different opinion or exeriences, please chime in, I will research.



Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Zekromtor on Wed, 03 February 2016, 10:03:26
vvp is correct. debouncing is a rather simple and tweakable task in software. plus, if you start getting double/triple presses out of nowhere someday (like I did with my green alps) then you'll want to be able to debug it with mods to the software and not have to worry if it's the switch or your hardware debouncer acting up.

In my case, it was the switches, which proved very vulnerable to dust/foreign matter interrupting the contacts enough to cause multiple clicks. Changing the debounce to crazy values like 100ms didn't even work, but compressed air in the switch did :)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Wed, 03 February 2016, 12:51:38
Holy crap you just topped size and ergonomic factor of datahand. i take my hat off to you sir.
how do switches feel? could they be used for gaming, especially for quick fps games which are normally played on cherry mx reds? Are clicks audible? Input lag? rollover?
Mouse sensor under the right kb + teflon mousefeet could be useful for casual browsing, typing, 3d modelling and programming - all of which don't require great precision, but rather steady speed and-not-moving-your-hand-to-mouse-constantly, however there should be easily accessible switch to turn the mouse function on or off.

Edit: you could also use left kb mouse sensor for vertical/horizontal scrolling, effectively replacing scrollwheel - which would also work for both left and right handed people since sensor functions are dictated software-wise.

Hypothetically speaking you could place 2-3 tactile switches for 1 button under a horizontal band on one of 3 hand rest parts on both kb which would result in 2 additional buttons - left and right mouse click.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Zekromtor on Wed, 03 February 2016, 16:07:20
Although the idea to use it as a mouse is a cool one, I don't think it would work well. The problem isn't in using only your palm for mouse motion, but rather actuating the buttons while keeping the whole device stationary with your palm. Not having used one, I can only imagine that you want to rely on it being heavy enough or firmly fixed to the surface so that you don't have to counter every finger motion with palm pressure.

Edit: by all means, however, I still think it should be tried! It would be extremely cool if it did end up working well enough to double as a mouse for mundane tasks or even gaming.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Sun, 07 February 2016, 15:03:41
Need more pics!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: nclu on Mon, 08 February 2016, 11:56:52
Now that it's starting to get down to that mouse-size. What about turning it more vertical, almost more like a joystick? Great work, I've been watching this thing from the sideline quietly for a couple of years now and patiently await the a do-it-yourself instruction set.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Turbinia on Mon, 15 February 2016, 11:56:38
Some awesome work with the micro-switches! Makes things allot easier than optical switching. I would say with the size it is now an optical mouse is feasible. Otherwise you are back to the odd reaches for trackpoints or trackballs. A very high DPI would be best so that not much movement would be required, to go with the rest of the minimal movement idea of the Datahand.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: arisian on Tue, 16 February 2016, 10:25:25
A very high DPI would be best so that not much movement would be required, to go with the rest of the minimal movement idea of the Datahand.

The trouble with "high DPI" is that it also means twitchy and hard to control precisely; this would exacerbate the issues people were already concerned about of having to actively counter the "mouse" movement when trying to type.  One of the big "advantages" of the original datahand design was that it required only finger movement; no wrist/arm movement is needed for use.  That's why the trackball/trackpoint ideas seemed like a more natural extension of the original design.  Of course, there's no reason why we can't ultimately have several different models/variants  ;D
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: matt2 on Tue, 16 February 2016, 18:11:40
A high DPI mode can be turned down.  I have a CST2545.  Holding the center button and then clicking the right button changes the default 800CPI to 1600CPI and clicking again will switch it to 400CPI.  1600CPI is essential for moving the pointer between two 30" monitors in a non-stress inducing movement, while 400CPI is good for accessibility or precision movement (such as photo editing or CAD).  So all of these DPI modes have a reason for existing and need to be present on a complete product.  I wish that it stored the CPI somehow, because I have to change it every time I reboot (about twice per year...I love Linux).  But at least I never have to worry about special drivers.

I am not sure how many trackballs are like this, but usually gunk builds up and you have to take the ball out and scrape it off of the roller.  With this one, I have never had to do that.  I have owned it for 3 years now, and all I have to do is spin the ball and the gunk flys off.  It is one of the more expensive trackballs out there, but it would be a good match for anyone with this kind of budget for input devices.

I use the focus follows mouse policy for window activation, which means that the keyboard focus changes based on what window the pointer moves under.  This does not raise the window to the front, so windows do not pop forward when this happens.  So as great as this idea is, I think something would have to disable the trackball movement when no movement is intended.  Maybe using a prototype would prove this out, but I would hope that there is some kind of hand posture detection that can be used to active trackball movement.  Or maybe the ball can be located in a position (such as recessed) where it is easy to avoid when using the keyboard.  If all else fails, you could use the other hand to activate a switch.

I switch between the keyboard and trackball quite a lot, so reducing that travel would be a huge benefit.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Wed, 17 February 2016, 04:04:09
A very high DPI would be best so that not much movement would be required, to go with the rest of the minimal movement idea of the Datahand.

The trouble with "high DPI" is that it also means twitchy and hard to control precisely; this would exacerbate the issues people were already concerned about of having to actively counter the "mouse" movement when trying to type.  One of the big "advantages" of the original datahand design was that it required only finger movement; no wrist/arm movement is needed for use.  That's why the trackball/trackpoint ideas seemed like a more natural extension of the original design.  Of course, there's no reason why we can't ultimately have several different models/variants  ;D

maybe software based positive mouse accel would help with that?

Edit: wrist/hand support part could maybe also be more like U shape (the left part on the pic is already tall enough) so you can nicely lock & control the KB with wrist/hand, while easily removing your hand from the KB if you want to.

(http://i.imgur.com/dmU6FVm.jpg)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Zekromtor on Wed, 17 February 2016, 11:51:16
I think it should extend to cover the entire wrist and only unlock with a verbal password :)

But in all seriousness, I'm starting to come around to this possibility. If your palm really has a nice recess to sit inside to provide 360 degree lateral resistance, this could work. Without the need to constantly move between mouse and keyboard, you really could consider a way to semi-permanently lock your hand in (test with velcro) with your offhand.

Also good to note: even though the ideal sensor position is somewhere under the palm, there's no reason why you couldn't just attach a standard mouse (I heard tape and skewers work (http://technabob.com/blog/2010/04/11/eve-multi-boxing-rig/)  ;D) to the side of the existing rig to test the concept.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Ashmon on Wed, 17 February 2016, 12:44:45
It seems to me that the inclusion of a mouse element to this can be solved pretty simply by following the functionality of the original datahand. Use one of the thumb switches to force the device into a mouse mode. This would mean that all potential drift from the laser element could be avoided while you are actively typing. Then you only read from the sensor and have it act like a mouse when the toggle is held. To make that even more simple you could transition that down to a foot pedal such as was done in the later models of the datahand.

Does that make any sense?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Wed, 17 February 2016, 15:18:38
A little crappy update: got shift regs, got caps and resistors, etching breakout boards during the weekend, and ready to program this FINALLY. I'm having some hardcore deadlines at work, so focusing on the electronics is haaaaard. Grinding docs and tutorials in the free time mostly so I can hit the ground running this Saturday. Keep your fingers crossed :P

reps in FIFO order, LONGPOST IS LOOOOOOOOONG:

@Zekromtor, re: software debouncing
Gonna do it this software way, at least attempt so if results allow.


@test321, re: switch feel, audibility

They're nice. I enjoy them. They're clicky, not too loud, the cases resonates nicely. They are a little springy, but very lightly so. I'll be optimizing them in the later phases, got few ideas.
I peer reviewed this, people said it was satisfying, I observed they went on clicking this for a while, sensing it, enjoying themselves.
re:gaming, lag
Don't know yet, electronics not complete. Will test it on gamer friends when ready and report on it.
re: mouse
see below
re: scrolling
I have a few ideas, but it largely depends on whether it's gonna have a trackpoint somewhere, or a mouse built in. I think that scrolling in modern devices is terribly lacking. 3d software solves this nicely, and I would like to replicate this effect.
re:additional buttons
I can't visualize this... could you please draw that, or illustrate in some way?


@Zekromtor, re: mouse not good, need to counter button press force with palm
I haven't noticed this, the buttons are very light, and weight of the hand is enough to keep it stationary. It's much more comfortable than my RAT5 too. Though you can't use wrist to navigate, you need to use the whole arm.
Major con for this is that you need a desk or other surface to use it.
Trackball is possible, but you lose a piece of the hand rest, need to take fingers off homerow too.
Trackpoint is possible, but you have to take the hand off the homerow, it's also not very precise.
I'll make this modular and test.


@test321, re:pics
later, it's dev time now :)


@nclu, re: turning it vertical
Yes, this is supported. Look at the long 'leaf' on the left side of the hand - it's used to rest it when in vertical position. I tested it a bit like that, and it works very well. Much more comfortable. You can tilt it about 80 degrees max, 45-60 is most comfortable for me.


@Turbinia, re:mouse

I used my RAT5 with high DPI for quite a while for graphic design, the biggest issue was breaking through inertia from a  full stop position. This really messes up precision on small start-stop movements. Would be awesome if not for that. But I have a few ideas, see below.


@arisian, re:navigating with keys

I've researched into that, many people said that this feature didn't work very well, that it was implemented poorly. More below. About twitchiness, see above rep to Turbinia.


@matt2, re: trackball
Ahh, the L-trac! They seem awesome, wish I could lay a hand on one some day.
Look at the Conchi build thread for some switch overhaul on a Kensington. It's nice. https://geekhack.org/index.php?topic=70144.0
Keys on this datahand-derivative are separate, so trackball can be placed instead of the hand rest.
Also thumb cluster can be thrown out on one of the hands to include a trackball.
I've got some stuff brewing trackball-wise, see the ball transfer unit trackball thread. Waiting for some time to finish it. Have a few surprises, but don't want to spoil until ready/checked :D
re: focus follows mouse, Linux, cursor-lock
YES. Focus follows cursor FTW. Linux default at that, too, afair. I use dwm, Firefox with Vimperator, and Spacemacs. Excludes the need for mouse in most situations.


@test321, re: positive mouse accel
Yes, this sounds like a good idea. Or fluent DPI switching. Idk, will have to test.
re:u-shaped wrist/hand support
It is u-shaped. There is a bone moving in the circled area, so you don't want the support to go all the way up. It supports the muscle that's below it comfortably. It almost 'grabs' your hand when you put it on the device, aligning it into position. Feels awesome imvho.


@Zekromtor, re: tape and skewers
ROFL! I've seen your setup on your blog, but not in that much detail, and not in this iteration, this is totally awesome! :D
I'm probably gonna core out a cheap mouse to test it, without modifying electronics.
I have to cut down the amount of awesome things that can be done to this design to actually FINISH IT. And soon.


@Ashmon, re: mouse as a layer/mode
Yes, it makes a lot of sense, especially if we can make the DPI/speed variable.



My thoughs on the pointing device:

Mouse:
PRO: getting a sensor into the device lets you do mouse nav without leaving 'home rows'.
PRO: you get a lot of precision and dynamics
CON: you need a desk and a surface.
Thought: Ever heard of those double-nipple IBM laptop prototypes? They used one for fast nav, and the other for precise nav, and you could combine them to be used at the same time... See where this is heading?

Trackball:
PRO: You can navigate without any surface. Compact. Arm movements not necessary.
PRO: Good precision
CON: need to get the hand out of the 'home rows'.
CON: you lose a piece of your hand rest, needs to rest on the ball.
Thought: I don't like the thumb-trackballs, but you could swap the side cluster for a trackball.
Thought: Looking at the Conchi build thread, maybe the paradigm of the navigating half should be different at all?

Trackpoint:
PRO: You can navigate on any surface
PRO: Hands on the home row if solved well. You can use two at the same time.
CON: Precision
Thought: Make the whole thing a one huge trackpoint in a mode/layer, so you can just tilt/change weight of your whole hand. Can easily be done with tensometers in the base. Better precision, but still far from mouse/trackball.

Keynav:

(http://www.semicomplete.com/projects/keynav)
PRO: hands on the home row
PRO: lots of large screens, here I come... no need to drag the cursor, you just tell it where to go with your keys.
PRO: Moves are REALLY fast.
PRO: Can be implemented in hardware, work cross-platform.
CON: latency increases with precision
CON: 3d software, graphics software - out of question?
Thought: lifesaver when using a lot of screens to quickly switch focus. Replaces the need for high speed movements, so the pointing device can focus on precision.
Thought: varying performance when used in games/software. Good for Starcraft, bad for Counterstrike?


Other thoughts:
Using the cursor rarely implies typing in the same time. Shortcuts are used mostly. So maybe a better way would be to add one of the single-handed typing functions (like chordability, or the Matias half keyboard function)?
Most of 'casual' mouse moves are already covered in software (tiling WMs, Keynav, Vim/Emacs, Vimperator addon for Firefox, etc), so the case we're dealing with here is heavy, constant mouse use in software where it's really necessary. So maybe the device should be designed in a way that takes into consideration this exact scenario, to minimize the need to remove the hand from the mouse, and facilitate shortcut accessibility with a single hand?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Zekromtor on Wed, 17 February 2016, 15:42:28
Thought: Ever heard of those double-nipple IBM laptop prototypes? They used one for fast nav, and the other for precise nav, and you could combine them to be used at the same time... See where this is heading?

I do, and I support that kind of crazy. There'd probably be a hell of a learning curve, to the extent that only 1% of people might even want to bother, but the potential is there for incredible results after mastering two mice at once. Also, the double-nipple design is found commonly in nature, providing both form and function.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: matt2 on Wed, 17 February 2016, 23:03:59
I had assumed that everyone knows about this, because it is how I found this site, but just in case, here it is; the TrackHand:

https://github.com/Henry/TrackHand

On the L-trac, I use the pip joint areas of my index and middle fingers to move the ball.  I have no idea how I would translate that into a TrackHand like setup.  Turbinia's mockup (reply #350 in this thread) seems to move it to the middle and ring fingers, which are less dominant for me.  I assume that the position was chosen due to the space that the DataHand's thumb cluster takes up, but I suspect that it would be better if it were under the index and middle fingers instead.  Maybe removing the thumb cluster (to make room) on the dominant hand side would be better for a frequent mouse user, but it would be nice to have both (thumb cluster & trackball) in their ideal positions.

Anyway, regardless of which path is chosen, it would be an improvement.

By the way, Cherry MX Blue keys are nice, but I still prefer my Model M's buckling spring.  Unfortunately, I need the ergonomics of the CK Comfort Keyboard, so I have to use https://github.com/zevv/bucklespring for a little nostalgia :-)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Thu, 18 February 2016, 04:36:58
re:additional buttons
I can't visualize this... could you please draw that, or illustrate in some way?

(http://i.imgur.com/jo6VisH.jpg)

but now i'm not sure if it would affect KB movement in a bad way.

also, thumb trackball and keynav would require additional key bindings and thus more layers (like original datahand) so you wouldnt be able to reduce key layers from 5 to about 4 or even 3.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: berserkfan on Thu, 18 February 2016, 10:25:45
Looking at this excites and worries me. The eventual product could become a procrustean bed that fits the hand of the designer, and excludes a significant number of other people. In particular the ergodox thumb keys are way too far for my hands. I had to give away my ergodox two years ago at a fat loss for that reason.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 18 February 2016, 11:41:27
Looking at this excites and worries me. The eventual product could become a procrustean bed that fits the hand of the designer, and excludes a significant number of other people.
Most of these keyboards are experimental prototypes.
If one is successful, someone can make an adjustable version, or a 3-D printed version.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Thu, 18 February 2016, 16:41:31
@Zekromtor, re: two mice at once, nipples
Lol.
AFAIR, Linux allows multiple cursors. That would be strange.
Gonna leave that for much later though.

@matt2, re: trackhand
YES, I know this! It's awesome. I was thinking about this, but still undecided - this area is needed for hand support, otherwise you're clawing into the device, keeping your fingers tensioned all the time.

I'll focus on modularity, not to exclude any possibilities, so we can check this later.

This project is like opening a can of ideas and possibilities :P


@test321, re:additional switches,
Hm, checked this... I thought it would be uncomfortable, but you're actually right - hand doesn't seem to require much support in that area. I'll try implementing that later.


@berserkfan, re: won't fit everyone's hands
Don't worry. I'm designing it to have a lot of adjustability.

@wolfv, re: someone can make...
Yeah, if it's successful, I'd expect a flood of these things from China :P



On a final note:
This thread is about re-creating the Datahand, to make it available again, and make it more accessible to everyone.
It's not about upgrading the hell out of it. There will be time for that later. For RERO, for community efforts, for hacks, $hits, giggles, and pink resin with glitter.
But now is about getting this thing back 'online'.

I'm trying to troubleshoot the most obvious drawbacks of the design, but at the same time - I'm wary of falling for the development hell trap. Feel free to slap me in the face with an eel if I wander off to one of those wild goose chases to add a minor feature.  :-X

I'll get back to the workbench now, and report back when it's populated with software, so I don't bump this thread without content, like promised earlier.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: matt2 on Thu, 18 February 2016, 18:14:34
@sinusoid  Great to hear.  I agree that making this technology available sooner than later is more helpful.  I do not want to distract you with distracting ideas, like adding stereo speakers in each hand unit to play buckling spring key-tones.  :p
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Zekromtor on Fri, 19 February 2016, 13:07:11
@Zekromtor, re: two mice at once, nipples
Lol.
AFAIR, Linux allows multiple cursors. That would be strange.
Gonna leave that for much later though.

I thought you were implying that you the possibility of two mice, both controlling the same cursor, but that one would be high CPI and the other would be low, and their combined motion would affect the cursor. It's nuts, but I could see someone getting proficient with it.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Phenix on Sat, 20 February 2016, 08:13:41
why not just count them as 2 mice controlling same cursor but you can set up the dpi?
Or is that that hard?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Sat, 20 February 2016, 15:32:12
Guys, could someone take a look at this, and tell me if I'm doing it right?
(no need to tell me its ugly, I know that :P also, noob alert.)

This is my first KiCad thing ever, done with Windsor Schmidt's awesome tutorial (https://www.youtube.com/watch?v=zK3rDhJqMu0).

Basically, a breakout board for one of the shift registers.

What it's supposed to do is:
- gather all the parallel inputs to one side
- gather all other inputs and outputs to the other, including GND and Vcc
- get 100nF cap on the VCC line to smooth out the current
- get 10K ohm pulldown resistor on each of the switch lines

The chip being used is SN54HC165 from Texas Instruments in a plastic small outline package.

[attach=1]






@matt2

Don't forget the lasers. There's got to be lasers. And UV backlight.

@Zekromtor
Yeah, I know, but it was sufficiently ambiguous for me that I remembered you can have several cursors in Linux. At least some time in the past you could.
Idk what multiple cursors could be used for.  Something, probably.

@Phenix
Naah, not hard. Theoretically. You can marge the two signals in the mouse controller, so all that reaches the computer is just the cursor movement data that is a function of both inputs.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Terex on Sat, 20 February 2016, 17:25:45
@sinusoid

The capacitor acts as a resistor with very high resistance except for the moment where it is switched on.
If you want to smooth the current, you need to put it between the vcc-line and ground. This setup would cut off the vcc a few micro seconds after the power gets on.

edit: here an article about capacitors in direct current circuits
http://farside.ph.utexas.edu/teaching/302l/lectures/node60.html
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Sat, 20 February 2016, 18:54:08
THANK YOU!

I had a lot of problems with understanding how that works!
I think I get it now: the cap will charge up when Vcc is pulled high, thereby insulating Vcc from Gnd.
Whenever voltage in Vcc drops, the cap will bleed some of its charge to compensate!

So f***ing simple... :( You just saved me several hours of Sunday.

I'll update the schema, design the PCB and etch it (if nothing breaks!).
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Terex on Sat, 20 February 2016, 19:04:08
@sinusoid

You are welcome. And your interpretation is correct. Awesome work with the design by the way. I hope to get to print it myself sometime :)

http://www.resistorguide.com/pull-up-resistor_pull-down-resistor/

This guide advices to start with smaller input resistors. About 4,7 K but that will probably be a minor problem.
I calculated the input impedance of the device to be around 6MOhm so the 10K should work.

Btw. Do you still need to understand the decoupling?  It would be some work to figure the exact behaviour out since my electronics education  was a few years ago. But I could write a small course, I assume.

Btw2. What is the type of microswitch you use?  I read about some of them an they either don't announce the number of possible operations per minute or get very low values 30-120ish. 0,5-2 operations per key and second might prove problematic wenn trying to ramp up wpm.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: vvp on Sun, 21 February 2016, 03:54:51
It may be a good idea to connect SER to either Vcc or GND to ease firmware debugging (so that you do not have random values in the lower bits of the register which could spill to the output if you cycle clock too many times).
You can replace all the resistors with one part (bussed resistor network). Though it may end up slightly more expensive (but less to solder). I attached an example schematic for using shift registers for both the driving and scanning.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Sun, 21 February 2016, 17:25:04
@Terex,
I think I get it now. The hardest thing is learning about the solution when you don't have the tags, the keywords... That's how I went from matrix, to i2c, to shift registers ( as suggested here by senso (https://geekhack.org/index.php?topic=79155.msg2030286#msg2030286))
I'll dig into calculations later, when I have this thing alive. This is a totally new ground for me, and I'm having a lot of fun :D
re:switches, I'm using the cheapest ones for prototyping :) You can see the photo a bit earlier in the thread. They are all standard, generic and of the same size, independent of the manufacturer.
If it's gonna work with the cheap ones, it's gonna work with the expensive ones. I'll be testing switch types later, choosing for feel and for electronic properties. Good case to learn how to work with an oscilloscope. 
I'll publish the 3d files once I test it and get the obvious stuff out of the way. I'm focused on deploying this now, so i can start using it as my main board.

@vvp,
I added a pin to serial-in, so I can pull it up or down for debug.
Thanks for the bussed resistor network! It's much better because it has a smaller outline than individual resistors. I have to see what packages this is available in, maybe try to match it to the SO-16 of the register... these could fit inside a single switch!



OK, I etched it today, but failed. Here's the story:

I made the schema into a dual-sided PCB. I could have made it single-layered, and just solder in pass-over wires, but meh, why make it too easy... :P
Here's how it looks like:
[attach=1]
The front

[attach=2]
The back

KiCad is totally awesome. By the end of it I could do most of the things with keyboard shortcuts. I spent around 1.5 hours trying to shrinkify the design, so it wouldn't look all that sloppy. Biggest issue I had was that it sometimes wouldn't register DEL clicks on routes (was using latest stable version), and I had to hunt-peck them with the cursor to get them selected.
Predicting the routes is fun, but HAAARD, and time consuming, especially to get the spacing and angles right. Wish it had some sort of follow function, and better re-routing tools. Or maybe it does, but I don't know about them yet.
Done on a .25 mil grid.

I spend the rest of the day toner-transferring it, and that's how it came out:
[attach=3]
I'm very happy with the result. I washed the PCB with a detergent, sanded it with 400 grade paper, washed it with water, and removed any residue with isopropanol.
Unfortunately, I was sloppy, and didn't match the halves properly:
[attach=4]
As you can see by the drill holes, they have around a millimeter offset.
I drilled all of them anyway - free exp grinding, wohoo!  ;D I can't get a nice surface of the drill holes on the other side of the PCB, I'll have to do something about it - place a piece of wood underneath or sand it post drilling.
Next time I'll transfer one side, drill the holes, and match the other to the drill holes.
(also use smaller drill for vias, but I didn't really care here, knowing it was spoiled anyway).
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: LuX on Mon, 22 February 2016, 01:42:46
This entire topic is awesome! It got me a little excited about the DataHand. Enough that I started to design my own switch system. Originally it was supposed to work using magnets and a hall effect sensor or magnet switch, but it always turned out a little too complicated. So, reading through the topic again, I saw someone compare the DataHand to be like a keyboard with D-pads under each finger, and it got me thinking.... Yes, why not?

After researching about multi-direction tact switches (or joystick/menu switches) I figured that replacing the entire mechanical part with a single switch might just about be possible.
My favorite switch ended up being the Alps RKJXS switch. It's 8+1 directions (4+1 could do), but it stood out from the others with the highest durability and lowest actuation force. At 500,000 cycles per direction it's not quite as durable as an MX switch, and at 160gF on the down stroke, it's a little too heavy. However I'm sure there still is a better switch out there. It's a little hard to find the perfect switch when a lot of switches online don't come with a datasheet.

A quick mock-up of how the switch might look like, and reference of the switch:
More
(http://oi66.tinypic.com/j5xx81.jpg)

I like how the switch looks like a futuristic landmine. So what do you guys think? And don't get me wrong, I know it's not quite the same as the DodoHand or sinusoids build, and I'm not trying to deviate them, I'm just curious what you think of the idea...
Some pros I came up with:
- Cheap; 10 switches cost around 6.5-10e, much less in bulk.
- Easy to make, and again leads to being cheap, since it requires minimal material
- Easy to fix. Since the keycaps are solid, they are durable, and new switches are readily available and easy to replace.

Cons:
- Not sure by how much, but probably not as comfortable to use as the other proper replicas
- Also worried about the accuracy of each stroke, especially the center button.
- Switches are far to heavy on the down stokes. Tilting is less of an issue as the cap provides enough leveridge to make eaven heavy ones light
- Could be a little more durable, but 500,000 cycles is still quite impressive for tact switches
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Terex on Mon, 22 February 2016, 01:50:55
@sinusoid
The Layout looks nice and clean.

Did you consider rounded edges? Like on Page 15 of the datasheet: http://www.ti.com/lit/ds/symlink/sn54hc165.pdf

I don't know how high the clock frequency of your chip is, perhaps you could run into problems with the sharp ones.

re. switches
I had the fear, that there ARE no expensive switches with the same form-factor and better properties in this aspect. About 10,3 *6*6  if i the relations don't fool me. All I've seen in this size was 30ops electrical and 120ops mechanical. The only faster one was also bigger. So I assumed that it is limited by the design. Do you know faster ones in this size?

@Lux
The Problem when using leverage is, that it increases the length of the keystroke. Nice Idea if you find a way to design around the shortcommings. The precision is no problem in my oppinion but the activation force which could be quite uncompfortable for keyboard use. They are probably designed to be activated by the thumb.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: vvp on Mon, 22 February 2016, 02:46:42
I added a pin to serial-in, so I can pull it up or down for debug.
You can drop the pin and leave at GND or Vcc all the time. (That is if you do not want for debugging to be able to define what values should be in those low bits.) It better even from the power consumption point of view. It is negligibly lower when input pit is not floating.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Mon, 22 February 2016, 14:13:57
@LuX
Wait a sec, were you the guy that made a blog post about this some time ago, showing some drawings and 3d prints?
I remember someone experimenting with hall effect sensors and the datahand...

Btw, here's the whole line of Alps directional switches with pics:
http://www.mouser.co.uk/catalog/english/101/gbp/1611.pdf

The ones you're suggesting are actually quite cool, because they're flat, so you can arrange them in two layers, effectively - reducing the distance between the fingers. I wonder how would an 8-way switch work...

re: "I know it's not quite the same as the DodoHand or sinusoids build, and I'm not trying to deviate them"

Bro, I'll tell you this: DEVIATE THE HELL OUT OF US ALL.
Like, seriously. Have a go at destroying the Datahand's paradigm. Make it different, make it better, stand on the shoulders of those that were before you, and never say you're sorry!
[attachimg=1]
(src: Moebius - Deviation)

If the switches don't fit your parameters, I'd suggest to get 6. Use 5 to make a mockup and test 8 axis movement + force, disassemble the remaining one to see how it's made, and if it can be re-created using different parts.
And if the switches use up fast, just make them easily replacable :D


@Terex,

Argh, yes, I've seen that datasheet :/ Lack of experience, I thought that the little curving KiCad maked is enough... but now I examined some schematics, and people indeed use 45 degree turns on components designed in KiCad.
I can't find a way to make them curved, outside of approximating the curves manually. I'll probably go over the design and do that.

re:switches, these are approx. 12.6x5.5x7 (Z dimension without leaf and legs). Here is one of the higher-end ones: http://www.tme.eu/en/details/d2f211/push-on-blades-microswitches/omron/ It's the same kind of switch that's used in mice.

@vvp
OK, I'll do that. Left the pin, becasue for debug it's better when I can change the variable on the fly, it'll show up in the log immediately. 
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Terex on Mon, 22 February 2016, 14:26:56
@sinusoid
The datasheet shows exactly what i mean.

i cite:

Operating frequency                  Mechanical                       200 operations per minute (pin plunger actuator type)
Electrical                           30 operations per minute (pin plunger actuator type)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Mon, 22 February 2016, 15:36:42
Empirical evidence shows otherwise. They are used in mice, easily registering multiple sub-second clicks - considering their travel and biomechanics involved - much faster than any of us will probably use on a keyboard. 

This number may be for max parameters, which are 3A, 125VAC / 2A, 30VDC. It's really ambiguous without context. What is actually measured by that number? What were the test constraints?

Also, this is exactly the reason I want to get this operational ASAP. To see if it works :) Because you never know what will go wrong until you test the damn thing in the wild!

Edit:
found delicious insides of various types:
http://imgur.com/a/yP0Nf
sauce: http://www.overclock.net/t/1394542/omron-d2fc-f-7n-micro-switch-reference-image
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Terex on Mon, 22 February 2016, 16:32:42
@sinusoid

I hope you are right :)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: LuX on Tue, 23 February 2016, 01:37:37
@Lux
The Problem when using leverage is, that it increases the length of the keystroke. Nice Idea if you find a way to design around the shortcommings. The precision is no problem in my oppinion but the activation force which could be quite uncompfortable for keyboard use. They are probably designed to be activated by the thumb.
Hmm, I did some calculating and measured that the cap would displace by only >1.5mm. The stem is unnecessarily long, so that could be made even shorter and reduce the travel. Either way, not too bad.

@sinusoid:
I think you have me mistaken with someone else... But I'm glad you like the idea. I went through all mousers and digikeys offerings and came to the conclusion that this one would be the best in terms of actuation force and durability, and yet it still isn't exactly great. 8 directions is probably not needed, but it might turn out to be convenient. I also agree that size is a huge benefit with these switches. At about 12x12mm they take the surface area of Cherry MX switches, meaning that they can be placed quite close to one another without having to arrange them in layers, unless you really want them close.

Here's an exploded images of a similar switch:
More
(http://sc01.alicdn.com/kf/HTB1.UiBKVXXXXXcXVXXq6xXFXXXy/10-10-9-Multifuction-tactile-switch-five.jpg)
They are generally built using multiple of those metal popping disks that other single-button tact switches use. On top of them is a plastic rocking plate with stem. Theoretically it should be possible to change the disks for a lighter ones. There are a number of online stores selling just the disks. Or you could try to bend the existing ones somehow to reduce force. Optionally, if enough people were interested, it should be possible to have some Chinese company make custom ones for relatively cheap, but then durability and quality might be questionable.

I just about might be up for the task, for science! It's either a hit or miss. Either way not a huge investment. Mechanically it shouldn't be too different to use a tilting switch than to use multiple small buttons since you're gonna be pressing a single button at a time anyways. Lastly there's the option to build an arcade style joystick system with light micro switches and replace the joystick with a finger operated piece. Though, that would then end up being a much larger switch and lose the benefit of being small.
More
(http://cdn2.bigcommerce.com/server500/d90a4/products/822/images/4437/JLF_TPRG_8AYT_SK_3__29690.1399147181.1280.1280.jpg?)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Terex on Tue, 23 February 2016, 11:20:59
@Lux

My point was, that you want to use leverage to decrease the necessary force. A decrease in force by leverage implies an increase in way. If you want to decrease the force from 160gF to 40gF you need to increase the travel 4 fold. So your 1,5mm get 6mm. Perhaps you could mitigate that, if you force the switch into an "almost pressed" state by design or change the button.
But the principle itself  is imposed on us by physics.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: LuX on Tue, 23 February 2016, 12:15:16
Yeah, I know. So I did the math properly now: The cap is 8mm tall and 15mm wide. The rim is 2mm thick, making the length from the bottom to the rim where your finger would be pushing: sqrt(8^2 + 5.5^2) ~ 10mm. According to the datasheet the switch tilts 7°, so we can calculate that the switch will displace by 1.2mm give or take. The tilt force on the other hand is 0.8N according to the datasheet, measured probably from the top of the 2mm stem, therefor at 10mm it should be 0.16N, or 16.31gF.

The biggest problem still is the center button which in most cases is a lot heavier ( apparently 2.5N in this switch ). Pre-bending it as you suggest might do the trick.
I've also dreamt of a completely custom switch. Imagine 5 cherry-like slim mini-switches arranged in a "plus" shape, and a stem-inserted rocking platform on top kind of switch.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Terex on Tue, 23 February 2016, 12:48:42
@Lux

if you have an 8+1-way switch, you could also try to redirect the force of the downwards-press to one of the tilts. Or construct a paralellogramm like lever-system.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 25 February 2016, 03:29:24
Thank you for the PCBs OldDataHands.
The DodoHand firmware runs on the DodoHand PCB.

I have tested the following DataHand features:
 * QWERTY layout
 * Layer keys
 * Sticky Mouse Buttons

Features to be added:
 * Moving the Mouse Pointer fast (currently only slow and quick work)
 * Protected Mode
 * NUM LOCK
 * Double Strike
 * LEDs indicate state of NumLck, CapLck, Mouse, NAS, Normal, 10-key

The keybrd library repository is at https://github.com/wolfv6/keybrd   
The DodoHand sketch compiles on Arduino and can be viewed at https://github.com/wolfv6/keybrd/tree/master/sketches/DH/DH_2565
The layer scheme code is in https://github.com/wolfv6/keybrd/tree/master/keybrd_libraries/keybrd_DH_layers
Its all open source.
Title: DataHand indicator-light question
Post by: wolfv on Fri, 04 March 2016, 23:24:09
I am starting to work on the DodoHand LED indicator lights.
They will be added to the breadboard keyboard to help debug the DodoHand firmware.

The DataHand guide does not have a complete description of the indicator lights.
What are the indicator lights on the left-hand unit?  Caps Lock?  Num Lock?

Is this correct for right-hand unit LED indicator lights?:
NASorange (I will use blue)
Normalgreen
MFyellow
10-Keyred

Thank you.
Title: Re: DataHand indicator-light question
Post by: arisian on Sat, 05 March 2016, 19:38:39

The DataHand guide does not have a complete description of the indicator lights.
What are the indicator lights on the left-hand unit?  Caps Lock?  Num Lock?

You've got the right-hand lights correct.  The left-hand unit has four lights, each on the "guide" for the specified key:

CapsLock: green
MouseModeOn (D+mfMode): yellow  (this is on if you're in "mouse" mode, and off if you're in "arrow key" mode)
NumLock (B+mfMode): yellow
ScrollLock ([+mfMode): yellow

Some of the lights are also used in other circumstances; they blink if you switch between "left-side" and "right-side" modes (controls whether the computer sees LCtrl or RCtrl, and a few other similar things).

Obviously, we don't need to exactly replicate the original; different placement and/or color for LEDs isn't going to impact functionality.  And ultimately, it might be nice to throw in a couple of extra LEDs for people who want to add extra layers.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 06 March 2016, 23:18:44
Thanks arisian :thumb:
The left LEDs are working.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Input Nirvana on Mon, 07 March 2016, 00:28:20
Glad to see the quality progress and the increased interest.


Just wanted to chime in on this, I'm thinking it's close to a point in time where social media could come into play and be of assistance.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Fri, 11 March 2016, 05:49:29
bump
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 13 March 2016, 18:33:48
The DodoHand firmware is almost done.
The LEDs, Protected Mode, and double strike PRINT features are working.
I am now reading about "L/R Modf" in the DataHand User Guide, but need some clarifications because I don't have access to a DataHand.

According to page 40 of the DataHand User Guide, the "L/R Modf" feature is protected by the MF key.
"L/R Modf" toggles keys between these 12 left-right scancodes:
Code: [Select]
MODIFIERKEY_LEFT_ALT    MODIFIERKEY_RIGHT_ALT
MODIFIERKEY_LEFT_CTRL   MODIFIERKEY_RIGHT_CTRL
MODIFIERKEY_LEFT_SHIFT  MODIFIERKEY_RIGHT_SHIFT
KEY_DELETE              KEYPAD_PERIOD (KEY_NUM_LOCK off)

KEY_INSERT              KEYPAD_0 (KEY_NUM_LOCK off)
KEY_PAGE_UP             KEYPAD_9 (KEY_NUM_LOCK off)
KEY_PAGE_DOWN           KEYPAD_3 (KEY_NUM_LOCK off)
KEY_END                 KEYPAD_1 (KEY_NUM_LOCK off)

KEY_EQUAL + SHIFT       KEYPAD_PLUS
KEY_8 + SHIFT           KEYPAD_ASTERIX
KEY_MINUS               KEYPAD_MINUS
KEY_SLASH               KEYPAD_SLASH
So far so good.

The DataHand User Guide is less clear on what happens when the aforementioned 12 left-right keys are double clicked.
Page 42 of the User Guide says,
Quote
    See "Switching Left and Right Function for Duplicate Keys: The L/R Modf Key" for information on temporarily switching individual key functions.
which on page 40 says,
Quote
    Alternatively the ALT and CNTR keys can toggle to RT by double clicking either key.
Page 46 says,
Quote
    L/R Modf will switch the scan code output of the ALT and CTL keys.
    Alternatively a double strike of the either key will temporarily change to the alternate scan code output.
What does "RT" mean?
What does the User Guide mean by "temporarily"?
When ALT and CTL are double clicked, do all 12 left-right keys toggle L/R, or just the ALT and CTL keys?
Are ALT and CTL the only 2 keys that change L/R on double strike, or do all 12 left-right keys change L/R on double strike?

I appreciate it if someone with a DataHand could clarify the DataHand behavior.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: arisian on Tue, 15 March 2016, 10:01:48
Note that this is all on a Datahand Personal A80000000; I expect the behaviour is the same on other models, but I don't have anything else to test.  I'll post a description of the behaviour I get; let me know if it's still unclear.

"Protected by the MF key" means that you need to *hold* the MF key while striking the [A] key (as opposed to simply striking the key while MF mode is active). The NAS/10-key mode switch is similar, in that you have to hold the NAS toggle key down (fully down, in the NAS-LOCK position) while striking the []] or [\] keys to switch between standard NAS mode and 10-key mode.

As for the "double click," it's something that only happens for ALT and CTRL, and honestly I find it quite annoying and wish I could turn it off.  Basically, if you strike CTRL, you normally get CTRL-L (assuming you're in "left" mode).  However, if you then strike CTRL again without striking any other keys in between, you will get CTRL-R sent instead.  If you hit CTRL a bunch of times in succession, you get the L and R versions sent in alternation.  In the current datahand firmware, there doesn't seem to be a time threshold; even if you wait 30 seconds between key strikes, you'll still get the other version.  ALT behaves the same way.

The rest of the keys do not behave this way (including SHIFT, oddly enough); the only way to get the alternate version of them is to use the global L/R mode toggle.  Pressing CTRL only changes things if the next strike is another CTRL, and otherwise has no effect on the next stroke.  Likewise, ALT only changes things if the next strike is another ALT.  ALT and CTRL do not interact with each other, or with any other key, to change the L/R mode of the output (e.g. pressing CTRL and ALT in alternation will give CTRL-L and ALT-L).

And I'll reiterate that it's honestly quite annoying under some circumstances.  For example, if I'm setting up a custom keymap in some program, and I want to map some command to the CTRL key, if the program keeps track of L-CTRL and R-CTRL separately, I can't rely on it to always work (e.g. if I forget that I haven't used any other keys since the last time I used CTRL, it won't trigger the command).  While your impulse to accurately replicate Datahand functionality is admirable, in this instance I'm not sure it's worth it (at least for me personally; others may disagree if they actually use this "feature").  The L/R mode toggle is important and useful, but the CTRL/ALT double clicking I just find annoying.

Of course, once I actually get my hands on a dodohand, I'll probably write my own custom mappings anyway, so do whatever makes you happy  ;D
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 15 March 2016, 14:00:45
Thanks for the detailed description arisian.  That clears up a lot.
There are still some points I am unsure of.  Are these statements correct?:

Quote
If you strike CTRL-L a second time, without striking any other keys in between, you will get CTRL-R sent instead.
When the CTRL-R is released, the CTRL key automatically reverts back CTRL-L.

If you strike CTRL-R a second time, without striking any other keys in between, you will get CTRL-L sent instead.
When the CTRL-L is released, the CTRL key automatically reverts back CTRL-R?

Quote
Global "L/R Modf" changes all 12 left-right keys, including the CTRL and ALT?

I expect the DodoHand firmware to be heavily customized.
The firmware is object oriented and very modular; so customizations are easy.
DataHand functionality is faithfully replicated to give the DodoHand community a common baseline to work from.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: LuX on Thu, 17 March 2016, 07:09:33
The switches I ordered finally came. It's a shame they took so long, because I had already given up on the project. Still, they came so I decided to try them out.
Straight away, I could feel how bad the quality was. I'm not sure if these are fake or real ones. The auction promised real Alps switches. Half of the switches didn't work properly, the other half worked inconsistently, one of the switches rattled and didn't work at all, and only one switch felt consistently good in all directions. After a little closer inspection, the one that felt good had a faint "J" stamped on the top metal part and looked a little darker as well. I assume it's the only legit switch of the bunch.

I grabbed thin tweezers and opened the rattling one. The red arrows point out the tabs that need to be bent out, tweezers will make it easy, but you can use your fingernail as well.
On the bottom left you have the "J" hi-lighted, it appears the small white circle has a small "V" on it as well. The top left switch works, but feels very inconsistent and misses both the J and V.
More
[attachimg=1]


A better shot from the bottom. The red arrows point to the two diagonal tabs I didn't realize need to be bent out of the way as well.
More
[attachimg=2]


Top left image shows the switch after the top cover has been lifted. It didn't look quite as what I expected. At this point I was a little puzzled how the switch works. It didn't seem there was anything to push to begin with. Looks interesting though.
More
[attachimg=3]


A better look at the top cover. It seems to come apart into two pieces.
More
[attachimg=4]


I decided to open a couple more. First of all, a switch that worked inconsistently. The internals look identical, however it had a metal tact dome inside. I was still puzzled how the single button should function as 9 buttons. I decided to open the one and only working switch to see if it was any different, but to my surprise it was again identical. It appears that pushing the switch sideways makes contact at the top of the switch cover, and closes the circuit. The tabs act as the individual buttons contacts. I'm not sure what made the "J" one so much better than the rest.
More
[attachimg=5]


Putting the switches back together isn't too hard, but you really need pliers to properly bend the top covers back, or they become much worse.

I bought some tiny little tact switches as well, as I had come up with an even better switch mechanism that would still be quite simple.
The seller doesn't seem to be that careful with his orders as a couple of the switches weren't the right type... Oh well.
More
[attachimg=6]
More
[attachimg=7]
More
[attachimg=8]
More
[attachimg=9]
Basically you have small levers in a housing that can be pushed or tilted. As they bend, the "leg" presses down on the tact switches arranged beneath. Missing in the picture is the bottom spacer that keeps the legs in place and has an opening for the switches. Also missing are holes to sandwich the hole system together.
If I ever get around 3D printing, I might try the switches out.

Over all, those Alps are terrible. Even the one that worked, while it felt nice, wouldn't be that awesome.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: arisian on Thu, 17 March 2016, 15:57:43
Thanks for the detailed description arisian.  That clears up a lot.
There are still some points I am unsure of.  Are these statements correct?:

Quote
If you strike CTRL-L a second time, without striking any other keys in between, you will get CTRL-R sent instead.
When the CTRL-R is released, the CTRL key automatically reverts back CTRL-L.

If you strike CTRL-R a second time, without striking any other keys in between, you will get CTRL-L sent instead.
When the CTRL-L is released, the CTRL key automatically reverts back CTRL-R?

This is correct, with the clarifying note (for those not familiar with the original datahand) that there's actually only one physical switch marked CTRL; "strike Ctrl-R" means strike the Ctrl key when in "R" mode.

Quote
Quote
Global "L/R Modf" changes all 12 left-right keys, including the CTRL and ALT?

This is also correct.  I'll also note that the "L/R Modf" is a persistent mode change; e.g. changing between NAS/Mouse/Normal modes does not change the "L/R Modf" state.  Once you're in "R" mode, you get the "R" versions of all 12 relevant keys persistently, until you hit the "L/F Mode switch" again (with the above noted exceptions for Ctrl/Alt).  The NAS/10-Key mode works in the same way (persistent until explicitly switched).

Quote

I expect the DodoHand firmware to be heavily customized.
The firmware is object oriented and very modular; so customizations are easy.
DataHand functionality is faithfully replicated to give the DodoHand community a common baseline to work from.

Oh, I fully agree, having a faithful replica is the right place to start; there will be plenty of time to get fancy later.  Honestly, I'd probably customize it even if it wasn't easy, but it's nice to hear that it won't be too painful :)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Mon, 21 March 2016, 14:51:31
@sinusoid

its been almost a month since your last post!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Wed, 23 March 2016, 14:46:24
@test321


Yep. I need to finish a project at work that swallows up most of my time.

There aren't many updates photo-wise, but I still managed to make a few things in the mean time.

I etched and soldered a PCB with a shift reg on it, schematic is in the PCB thread. Will post pics later.

Also, it turned out that I can't (rly?) make Arduino Mega act as a HID using its integrated USB port, I need a shield for that. Ended up buying an 32u4 based arduino that can act as a HID.

Later I realized I could just communicate keypresses from the Mega to a Python script via pyserial and generate stuff from there, but that would have been a whole new level of fugly.

Right now I have the ardu running as a serial keyboard without issues, this was kind of a dumb job, as the Arduino software has libraries and sketches for that, so it essentially ran OOTB. I'll have to write something to handle the shift registers, wire up the keyboard, map keys to symbols, and it should be ready. But that will happen after I'm done with current work, which may take some 3 weeks more.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Wed, 23 March 2016, 17:22:49
Thanks again arisian.  The double-strike L/R Ctrl and Alt keys are working nicely.

Now to implement the L/R Modf LED indicator lights.  Page 40 of the DataHand User Guide says:
Quote
To change the L/R Modf, hold up the FUNC Mode key and at same time press the L/R Modf (left little finger, well key...light on the right hand will flash to verify entry into right side).
Which light flashes and what color is it?
Is there an indicator light for left the side?

Also some questions about NumLock.
Page 29 of DataHand User Guide says that NAS (both 10-Key-On and 10-Key-Off) send Alpha-number scancodes (KEY_).
When NUM_LOCK is on, these number keys will send the 10-Key pad scancodes (KEYPAD_).

Does DataHand's NUM_LOCK only effect number keys 0-9, or all these keys?:
Code: [Select]
+ - * / . Enter 00 0 1 2 3 4 5 6 7 8 9, arrow keys (on 10-Key-On left-index finger)
For those of you wondering how to tell the difference between identical looking characters, keycodes can be read using command 'xev' in the Linux terminal.
Command 'xev' will open a window and print contents of keyboard events.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Fri, 25 March 2016, 06:29:30
@test321


Yep. I need to finish a project at work that swallows up most of my time.

There aren't many updates photo-wise, but I still managed to make a few things in the mean time.

I etched and soldered a PCB with a shift reg on it, schematic is in the PCB thread. Will post pics later.

Also, it turned out that I can't (rly?) make Arduino Mega act as a HID using its integrated USB port, I need a shield for that. Ended up buying an 32u4 based arduino that can act as a HID.

Later I realized I could just communicate keypresses from the Mega to a Python script via pyserial and generate stuff from there, but that would have been a whole new level of fugly.

Right now I have the ardu running as a serial keyboard without issues, this was kind of a dumb job, as the Arduino software has libraries and sketches for that, so it essentially ran OOTB. I'll have to write something to handle the shift registers, wire up the keyboard, map keys to symbols, and it should be ready. But that will happen after I'm done with current work, which may take some 3 weeks more.

im glad to hear you're still working on this project, but how long will it take to move it from prototype phase (once its completed) + crowdfunding + searching for manufacturer +  final shipping time? like at least a year?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Fri, 25 March 2016, 13:44:15
im glad to hear you're still working on this project, but how long will it take to move it from prototype phase (once its completed) + crowdfunding + searching for manufacturer +  final shipping time? like at least a year?

Mmmkay, let's get a few things straight.

1. Crowdfunding.
No. I don't spend other people's money. I don't loan stuff. I go to work, make money, and use it for my own projects.

2. Searching for manufacturer.
No. I plan my own manufacturing processes. Whatever I can't make with machines I have access to, I push to local small companies.

3. Shipping time.
If I decide to sell stuff, I will have it made in advance.

4. How Long.
As long as necessary. Lurk here, check updates, if you think I'm doing it wrong/entering development hell/ whatever - tell me.
If you're getting tired of waiting, just do it yourself.

5. When will the files be released
When China freezes over.
OK, seriously now:
The problem with releasing hardware files is that China startups can take over very rapidly. I don't mind that, as long as they make their own R&D instead of ripping off someone else's efforts (vide: Arduino, Ultimaker, Makerbot, and basically every other mildly successful OSHW project).
I don't know what to do with this yet.

6. Will you sell this
I would totally love to do that, but I don't want to think about this during the dev process. It would be nice, I could get some money for the dev time I pushed into this, focus on this more, get more tools, experiment more, make variants...

7. Startups?

°º¤ø,¸¸,ø¤º°GTFO°º¤ø,¸¸,ø¤º° ╭∩╮(סּںסּَ)╭∩╮

All clear?


@LuX
Awesome job man! You're totally doing it right. I tested similar switches, they behave nicely and have a very low travel. I actually made little test rigs with tensioning screws for these, to see how they behave.
Kinda wondering now if I shouldn't have chosen that path, hehe :)

Try getting these printed, assemble a prototype!

Btw, is that Blender?  :thumb:  ;D

@wolfv
That software is for the Teensy, right?
How does it read signals from the keypresses? What input does it expect?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: LuX on Sat, 26 March 2016, 05:51:41
@LuX
Awesome job man! You're totally doing it right. I tested similar switches, they behave nicely and have a very low travel. I actually made little test rigs with tensioning screws for these, to see how they behave.
Kinda wondering now if I shouldn't have chosen that path, hehe :)

Try getting these printed, assemble a prototype!

Btw, is that Blender?  :thumb:  ;D

Thanks. Seeing how I'll be getting the Ergodox soon, this project isn't high on priority, but if I get around a 3D printer I'll look to make a prototype as well.
As long as the switches or domes are high on tactility and low on force the design could actually work quite nicely. There's an american company making tact domes on adhesive film so you could pretty much slap the switches on the PCB and screw the switch mechanism on top. Low cost and easy to assemble. What mode do you need?

Yeah it's Blender. I don't know why people diss it, it's quite good being free and having a helpful community behind it. The pictures of the model I provided are work in progress and look terrible. If you look closer at the middle picture you'll see the different parts aren't aligned properly. And it's missing the described features.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Sat, 26 March 2016, 06:43:44
@sinusoid

thanks for comprehensive response  :thumb:
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: arisian on Mon, 28 March 2016, 11:35:20
Thanks again arisian.  The double-strike L/R Ctrl and Alt keys are working nicely.

Now to implement the L/R Modf LED indicator lights.  Page 40 of the DataHand User Guide says:
Quote
To change the L/R Modf, hold up the FUNC Mode key and at same time press the L/R Modf (left little finger, well key...light on the right hand will flash to verify entry into right side).
Which light flashes and what color is it?
Is there an indicator light for left the side?

When switching into "Right" mode, the NAS, Normal and MFMode LEDs (i.e. top three on the right hand unit) blink 4 times, which takes ~2 seconds.  When switching into "Left" mode, the ScrollLock, NumLock, and Mouse-Mode-On LEDs (i.e. left-most three on the left hand unit) blink the same way.   There's not actually a dedicated LED for this, they just used the existing LEDs, so they are all their normal colors.  If an LED is already on (NumLock may be on or off, and MFMode will always be on since you need it to hit LRModeSwitch), it will dim slightly when the ones that were off get lit up (i.e. for the blink), but it doesn't turn off completely.

Quote
Also some questions about NumLock.
Page 29 of DataHand User Guide says that NAS (both 10-Key-On and 10-Key-Off) send Alpha-number scancodes (KEY_).
When NUM_LOCK is on, these number keys will send the 10-Key pad scancodes (KEYPAD_).

Does DataHand's NUM_LOCK only effect number keys 0-9, or all these keys?:
Code: [Select]
+ - * / . Enter 00 0 1 2 3 4 5 6 7 8 9, arrow keys (on 10-Key-On left-index finger)
For those of you wondering how to tell the difference between identical looking characters, keycodes can be read using command 'xev' in the Linux terminal.
Command 'xev' will open a window and print contents of keyboard events.

LRMode doesn't have any impact on most of those keys; however, most of them have other ways of getting the KP version sent.

The primary "return" key in the left thumb cluster always sends keycode 36 (Return).  According to the manual, the ring-finger-right key supposedly sends KP_ENTER when you're in "101-keyboard mode"; however, in "104-keyboard mode" it sends the Windows key instead, and L or R is controlled by the LRMode.  I can find no documentation about how you would switch to "101-keyboard mode;" on my system, I always get the "104-keyboard mode" behavior, regardless of whether I boot to Windows or Linux.  The guide printed on the right hand unit seems to indicate that even in "104-keyboard mode" you should be able to get KP_Enter sent by hitting the key when in 10-key mode, but that doesn't work for me; I get the same "menu" key as I do in 10-key-off NAS mode (i.e. the key next to the right windows key on a "regular" 104-key keyboard).  See page 41 of the datahand pro II user guide.

For the arrow keys, using 10-key-on left-index-finger, and also using MFMode-on-mouse-off right-index-finger, you get the "standard" direction keycodes (Right, Left, etc.).  Using MFMode-on-mouse-off left-index-finger, you get the KP codes (KP_Right, KP_Left, etc.).

For numbers and operators, whether they send the KP version while in 10-key mode is controlled by NumLock; if NumLock is on, you get the KP version, if NumLock is off, you get the "standard" version.  Oddly, NumLock doesn't seem to do anything in "standard" NAS mode (i.e. 10-key-off).  With 10-key-off, LRMode actually does have an impact on the operators; when in "right" mode, you get the KP variants, in "left" mode you get the standard ones.  However, this seems to impact only the operators (+-*/), NOT the numbers.  I can't find any way to get KP_0, KP_1, etc. other than using NumLock with 10-key-on.

As before, I'll note that some of this is kind of idiosyncratic and arbitrary.  While replicating existing function is a good goal to start with, I'm not sure that all of these things actually make a ton of sense the way they're implemented (it would make more sense for NumLock to work the same way for 10-key-on and 10-key-off NAS mode, among other things).  And this is all still with a DataHand Personal A8000000; I think the Pro II should be the same, but I don't have one to test.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Sun, 24 April 2016, 07:11:51
bump
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 19 May 2016, 17:22:30
I am getting ready to solder the LEDs onto the DodoHand PCB.
What are the LED positions of the left DataHand unit?

These are probably in the wrong order for the left unit:
Code: [Select]
    LEFT INDICATOR LIGHTS
    ---------------------
    MouseOn     yellow
    NumLock     yellow
    ScrollLock  yellow
    CapsLock    green

These should be the correct order for the right unit:
Code: [Select]
    RIGHT INDICATOR LIGHTS
    ----------------------
    NAS         blue
    Normal      green
    MF          yellow
    10-Key      red

A picture of the left PCB can be viewed at https://geekhack.org/index.php?action=dlattach;topic=41422.0;attach=81533;image
(the picture is slow to load).
The picture shows the PCB with 3 LEDs along the right edge, and 1 in the top-right corner.
The LEDs are clear, in the picture they look like shiny screw heads.


Thank you.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 19 May 2016, 22:55:45
The order of LEDs on the Left unit is (from Left to Right):
    Name,    Color
Scroll Lock,  ??? (For some reason, mine isn't illuminating)
Num Lock, Amber/Orange
Mouse Mode, Amber/Orange
Caps Lock, Green

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 19 May 2016, 22:57:54
Perhaps also worth a note: There are spots on the PCBs I laid out
for putting the LEDs on the PCB, and also a pinheader to allow the
LEDs to be remote/located on the case somewhere, as is done on
the original DataHand.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: arisian on Mon, 23 May 2016, 18:49:13
Scroll Lock,  ??? (For some reason, mine isn't illuminating)

Scroll Lock is the same amber color (orange? yellow?) as NumLock and MouseMode.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: LSmithDatahand on Fri, 27 May 2016, 09:34:07
Hi All, just discovered this thread by reference from http://octopup.org/computer/datahand. Was VERY happy to see a living collaboration that is progressing.  I've used Datahand units since 1992, did a little side work for them when they really started backsliding in 2004.  I arranged with the owners at that time to receive all their broken, demo units and parts for the DH-200 models, and still have 3 rebuilt sets aside from my daily use ones. I'm set for life, but am often distressed on behalf of the folks whose broken units I try to repair from time to time.  Their desperation is palpable. This project gives me some hope for them.  :thumb:  I'm rather passionate about them since they saved my career.

Are we currently modeling the behavior on the original DH-200's? or the later ProII's?   The physical switches themselves did not change much at along the product lines, so they're all about the same.

I always thought that a separate L/R mode indicator light would have been helpful on the Datahands, but I suspect that either signal line or part count/cost kept them from implementing them separately.  On my DH-200's, switching L/R mode will flash whichever of the [Normal][NAP][Function] lights are presently NOT lit.  It will flash them for 2 seconds, roughly 500ms between each flash and the "on" time is just a flick, for 5 (or sometimes 6) flashes.

the Scroll, Mouse, NumLock, Cursor (L,R,U,D), and Function mode lights are all "red" which, due to them being older LED's or over time start looking more orange-ish.

-Larry
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Fri, 27 May 2016, 11:05:15
Hi Larry,

Welcome to the forum, and the DodoHand thread.

Are we currently modeling the behavior on the original DH-200's? or the later ProII's?
I reversed engineered the firmware from the DataHand Professional II Users Guide version 1.7.8 October 2003, and what ever other information people provided (I don't have access to a DataHand).

I always thought that a separate L/R mode indicator light would have been helpful on the Datahands
Adding another LED to the firmware would be a trivial task.
Replacing the blink with a separate L/R Modf indicator light would actually simplify the firmware.

the Scroll, Mouse, NumLock, Cursor (L,R,U,D), and Function mode lights are all "red" which
What is this "Cursor" light you speak of? And were do the letters "L,R,U,D" come from? - Left, Right, Up, Down
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Tue, 05 July 2016, 09:15:20
please don't die on us sinusoid.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Tue, 05 July 2016, 09:18:49
double post.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Interface on Wed, 06 July 2016, 00:05:41
I've made progress on my version. The goal is to make it suitable for printing on a FDM-based 3d-printer. And make it freely available to everyone. I don't care if Chinese companies steal it.

Anyways I'm working on hand rests modeled in clay to be digitized using photogrammetry this is to ensure they'll be as comfy as possible.

When I'm done with the general design I will feed a dataset of chatlogs and keylogs into it for optimization of the design parameters, later on I will also make simulated hands modeling stresses of indivdual joints etc. and use an evolutionary solver in order to have finger travel distance be as short and movements as varied as possible. I'm also thinking the movement should be as natural as possible, fitting the hands natural mechanics, for example it's harder to individually move the ring and little finger than the middle and index finger so the optimization should take that into account as well. I will release a design asap. Then I'll release optimized versions later on. I suffer from RSI so I'd need this badly myself.

(http://i.imgur.com/gUgK66L.png)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Wed, 06 July 2016, 02:15:22
Hi Interface,

When I got started, I looked into modeling as well.  Modeling the hand can get very complicated.
I don't think there is enough data on "stresses of individual joints" and "hands natural mechanics" to make a model that is more accurate than intuition.
jacobolus said it best on:
https://deskthority.net/keyboards-f2/debunking-a-legend-about-languages-and-keyboard-layouts-t10507-30.html > 28 Apr 2015, 00:12

To get a feel for previous optimization efforts, enter these three words into your favorite search engine: keyboard "layout analyzer"

What DodoHand needs is much simpler: 3D printed parts for the thumb switches.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Thu, 07 July 2016, 06:32:03
are you using laser based photogrammetry? i don't think photo based methods can produce such accurate reproduction. I love the idea of buttons and positioning to be optimized for every finger, imo that's the next big step in dodohand ergonomics.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Interface on Mon, 11 July 2016, 07:01:37
Hi Interface,

When I got started, I looked into modeling as well.  Modeling the hand can get very complicated.
I don't think there is enough data on "stresses of individual joints" and "hands natural mechanics" to make a model that is more accurate than intuition.
jacobolus said it best on:
https://deskthority.net/keyboards-f2/debunking-a-legend-about-languages-and-keyboard-layouts-t10507-30.html > 28 Apr 2015, 00:12

To get a feel for previous optimization efforts, enter these three words into your favorite search engine: keyboard "layout analyzer"

What DodoHand needs is much simpler: 3D printed parts for the thumb switches.
That's why I'm saving the hand sim for last. Thanks for your input anyway :)

are you using laser based photogrammetry? i don't think photo based methods can produce such accurate reproduction. I love the idea of buttons and positioning to be optimized for every finger, imo that's the next big step in dodohand ergonomics.
Photo based methods should work. I need to try :)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 26 July 2016, 16:05:03
So I have been lurking in this thread for some years now and I have decided to try and create a version of the dodohand for myself.

I have just send a pull request to the thumb_work branch where I have changed the pads on the finger unit to have the same solder bridges as on the thumb. I would like to know 2 things:
1) Did I brake anything with this change?
2) Is the thumb PCB "functional" can I actually order them and components and get the electronics side done ?

Sneakpeak of current work:
[attach=1]

Invultri
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Wed, 27 July 2016, 21:49:47
I have just send a pull request to the thumb_work branch where I have changed the pads on the finger unit to have the same solder bridges as on the thumb. [snip]
1) Did I brake anything with this change?
[snip]

I'll try to look at the PCB over the weekend, but: That is AWESOME! Needed to be done. Thanks!

2) Is the thumb PCB "functional" can I actually order them and components and get the electronics side done ?

Yes, the thumb PCB is functional. The only circuit issue I'm aware of is Q1 on the finger PCB which is there as
an apparently poorly thought-out attempt at being able to read the state of a possible additional switch (meant for a
now-discontinued sparkfun breakout called an easypoint). Just leave Q1 off and the rest of the electronics work.

The current state of the thumb_switch branch hasn't been printed by me, or that I'm aware of.
I believe that it is worth printing, but have not yet done so.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 28 July 2016, 04:45:00
So I have been lurking in this thread for some years now and I have decided to try and create a version of the dodohand for myself.

Very exciting to see a DodoHand thumb cluster; the last piece of the DodoHand puzzle!

I soldered and tested an older version of the DodoHand PCB.
It works as intended, except for some LED indicator lights.
Right-PCB LED D11 (Normal mode) is the only indicator LED that works.
I am not a hardware expert, so it is possible that I did something wrong on my end.
Maybe OldDodoHands can tell you if the LED traces need fixing.

Here some observations from when I was trouble shooting the indicator LEDs.
LED-continuity is the same on left and right PCB:
    LED anodes (long legs) to pins
    LED cathodes (short legs) to resistors R10, R11, R12, R13
    Resistor R11 to ground
    Resistors R10, R12, R13 to power (this seems wrong)
Right-PCB LED D11 works.
Left-PCB LED D11 does not work because it uses Teensy pin D6, which is Teensy's on-board LED.
LEDs D10, D12, D13 do not work because their resistors are connected to power.
Otherwise the PCB works as intended.

My DodoHand PCB and breadboard keyboard are pictured below.
Both run the same keybrd_DH firmware https://github.com/wolfv6/keybrd_DH.
All the LEDs except for Scroll Lock work on the breadboard keyboard.

(https://geekhack.org/index.php?action=dlattach;topic=41422.0;attach=126724;image)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Thu, 28 July 2016, 07:49:10
So I have been lurking in this thread for some years now and I have decided to try and create a version of the dodohand for myself.

Very exciting to see a DodoHand thumb cluster; the last piece of the DodoHand puzzle!
[snip]

It is my first design fully based on the work done by OldDataHands. I changed the design from snapfit to two interlocking parts that should be printable with an extrusion based printer. The printer is ordered and should arrive somewhere in the next 2 weeks, after which I will have to assemble it :) I fully expect that many things need to be improved once I print the first prototype, but with a printer at home that should be relatively easy.

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Thu, 28 July 2016, 19:38:30
Great job you guys!
It's awesome to see this thread alive.   :D

I'm still too busy with work to do anything meaningful, so no news from me unfortunately  :(
In the mean time I'm using a spring-modded cherry MY board with a negative angle, it's good enough for now. Light and fast.

@ Interface,
photogrammetry should do fine, I think there is an open-source toolchain that will let you do that. I was postprocessing one such scan in Blender for a friend, it was pretty smooth and detailed with a dense mesh. You can always try David Laser Scanner, they have some impressive results on their forum, and the software was partially free last time I checked. Avoid the handheld scanners, they're crap unless you're willing to pay north of 10K eur.
Not much experience with Rhino - does it have the capability to make something parametric out of a vertex-based mesh?

@invultri,
You can get the parts to snap together using the texture of the 3d print. Two sufficiently precise FFF 3d prints fit together like zip ties due to the stripey structure of their sides. They're basically push-fit. It works very well, you can even make them almost inseparable without breaking.
Out of curiosity, what printer are you getting?
If you get issues with assembly, you can post here, in the 3d printing thread, or PM me, I'll try to help out.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Thu, 28 July 2016, 21:53:37

I soldered and tested an older version of the DodoHand PCB.
It works as intended, except for some LED indicator lights.
Right-PCB LED D11 (Normal mode) is the only indicator LED that works.
I am not a hardware expert, so it is possible that I did something wrong on my end.
Maybe OldDodoHands can tell you if the LED traces need fixing.

Here some observations from when I was trouble shooting the indicator LEDs.
LED-continuity is the same on left and right PCB:
    LED anodes (long legs) to pins
    LED cathodes (short legs) to resistors R10, R11, R12, R13
    Resistor R11 to ground
    Resistors R10, R12, R13 to power (this seems wrong)
Right-PCB LED D11 works.
Left-PCB LED D11 does not work because it uses Teensy pin D6, which is Teensy's on-board LED.
LEDs D10, D12, D13 do not work because their resistors are connected to power.

Hi wolfv,

The LEDs all work, just not as you're expecting (and I just had to re-write this post because I think I know why!)

If you look at the LED schematic in the lower-left here:
https://geekhack.org/index.php?action=dlattach;topic=41422.0;attach=42475;image

excerpt here:
[attach=1]

You'll see that LEDs 0, 1, and 2 go power->LED->micro pin, allowing the micro to ground the LED and pull current through it.
Works on both the left and right halves of the keyboard.  For LED 3 (connected to teensy pin D6) it is reversed, as you noted,
because of the presence of the diode on the teensy. This also works though. You have to configure the pin to an output that
drives current (i.e. +5v) and should get both the on-board diode and the external diode to light on the teensy side.

All works just fine.

Now, where I suddenly suspect that you got off course: I just opened the schematic with a new version of KiCAD, and all
of the diodes were reversed!!! WTF? I have no idea how/why, but it would sure make a mess of your idea of how to install them.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 28 July 2016, 22:16:56
The LEDs all work

That's good to know.  I will test the LEDs on the PCBs in September.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Fri, 29 July 2016, 02:42:04
@sinusoid
I am getting a prusa i3 v2 with a 0.25 nozzle. As for push fit, it is what I am trying to achieve (or glue/acetone :) ). See example of the thumb side key below
[attach=1]

@OldDataHands/wolfv
Instead of the trackpoint I have dug up: https://www.tindie.com/products/jkicklighter/adns-9800-laser-motion-sensor/ so I was thinking to include a trackbal into the hand unit. Do you think there is room in the teensy to enable a pointing device?

@OldDataHands
Since I am now to make the finger carrier fit the PCB I noticed that the via's for the carrier are not all the same distance from the origin. The north and east are further away. Is there any specific reason for this ?
As for changes in kicad, it seems that the component libraries you created are now "legacy". Thus I put the new footprint into the footprints.pretty library.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Fri, 29 July 2016, 04:49:03
@OldDataHands/wolfv
Instead of the trackpoint I have dug up: https://www.tindie.com/products/jkicklighter/adns-9800-laser-motion-sensor/ so I was thinking to include a trackbal into the hand unit. Do you think there is room in the teensy to enable a pointing device?

Not on the Teensy 2.0.
The keybrd_DH firmware and boot loader consume 2.3 kb of SRAM.
Teensy 2.0 has 2.5 kb SRAM.
Teensy LC has 8 kb SRAM (that should be enough SRAM, and I have two Teensy LCs on hand). https://www.pjrc.com/teensy/teensyLC.html
Teensy 3.2 has 64 kb SRAM.
I can easily change the keybrd_DH firmware and my bread board to Teesny LC or Teensy 3.2 and have it tested for you.
Changing the PCB would be more work, and I don' know how to design PCBs.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Fri, 29 July 2016, 06:03:07
@OldDataHands/wolfv
Instead of the trackpoint I have dug up: https://www.tindie.com/products/jkicklighter/adns-9800-laser-motion-sensor/ so I was thinking to include a trackbal into the hand unit. Do you think there is room in the teensy to enable a pointing device?

Not on the Teensy 2.0.
The keybrd_DH firmware and boot loader consume 2.3 kb of SRAM.
Teensy 2.0 has 2.5 kb SRAM.
Teensy LC has 8 kb SRAM (that should be enough SRAM, and I have two Teensy LCs on hand). https://www.pjrc.com/teensy/teensyLC.html
Teensy 3.2 has 64 kb SRAM.
I can easily change the keybrd_DH firmware and my bread board to Teesny LC or Teensy 3.2 and have it tested for you.
Changing the PCB would be more work, and I don' know how to design PCBs.
I can update the PCB layout and schematic if needed. The "bad news" seems to be that the teensy 2.0 and teensy LC / teensy 3.x do not have the same footprint. This means that a new version of the PCB would be needed.

Time has passed since the PCBs were originally created, is it worth it to upgrade to a teensy LC /  teensy 3.x? If so which one should we use? It does not seem to cost that much more than a 2.0 where the LC seems even cheaper.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Fri, 29 July 2016, 07:53:22
I can update the PCB layout and schematic if needed. The "bad news" seems to be that the teensy 2.0 and teensy LC / teensy 3.x do not have the same footprint. This means that a new version of the PCB would be needed.

Time has passed since the PCBs were originally created, is it worth it to upgrade to a teensy LC /  teensy 3.x? If so which one should we use? It does not seem to cost that much more than a 2.0 where the LC seems even cheaper.

Get the Teensy LC, unless the trackball needs more SRAM.
You can compile the firmware to see how much SRAM is needed before deciding.

Consider at total redesign of the PCB.
The current PCB is reversible - one design for both left and right hands.
It would be much simpler to have two separate PCB designs, one for the left hand and one for right hand.
Easier for you to design, and easier for novice users to trouble shoot.
I had a hard time trouble shooting the reversible PCB because it has traces crossing all over the place.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 30 July 2016, 00:35:03
This is not a simple thing:
---snip---
Get the Teensy LC
---snip---

Both the teensy LC and the teensy 3 are 3.3v devices, which isn't helpful here.
That isn't to say that they would be impossible to use, but certainly more complicated.

Relevant info:

The 5.0v ATMega32u4 allows you to make more of the 4mA going through the
IR LEDs (you can drive two at a time) and use the same output for powering
the matching phototransistors. The 20mA @5v drive capability of the pins allows
for driving 6 IR LEDs _and_ 6 phototransistors off of one output pin. Yay Atmel.

Most of the outputs on the TeensyLC are capable only of sourcing 5mA @3.3v.
Seems to me like you _might_ get away with driving 2 IR LEDs and 2 phototransistors.
However, now the switch matrix gets to be rather rectangular i.e. 2x13 (needing 15 pins). Not good.
There are a couple high-drive pins which can provide 20mA (like the Atmel) so you might
be able to get away with a 4x6 plus 1 partial row (only 11 pins)  (similar to my first design)
Those high-drive pins are even available. Yay Freescale (if you're careful).

Disappointingly, the chip in the Teensy 3.2 has a max drive capability of 9mA on some pins, 2mA on most at 3.3v. Boo Freescale.

The PCA9655E I2C I/O expander is perfectly capable of driving the switch matrix at 5.0v,
but is unable to supply enough current at 3.3v, and the PCA9655E has relatively high
drive capabilities compared to many of the other options. So now you're talking about using
an I2C level shifter to talk to a 5.0v IOE with your 3.3v micro, different voltages on one side
of the keyboard than the other, different resistor populations from one half to the other...

Again, not impossible, but not clean or simple to get right.



Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sat, 30 July 2016, 02:48:39
This is not a simple thing:
---snip---
Get the Teensy LC
---snip---

Both the teensy LC and the teensy 3 are 3.3v devices, which isn't helpful here.
That isn't to say that they would be impossible to use, but certainly more complicated.
[snip]

Clear. That basically means a redesign of most of the board. Since I am already busy with the 3d modelling that will have to wait, maybe even till after I made the first proto.
(My first thought would be to use the PCA9655E for both sides)

Edit: @wolfv here is some example code on using that optical sensor (https://github.com/mrjohnk/ADNS-9800/blob/master/PJRC-Teensy-Example/). To my untrained eye "it does not seem like a lot of bytes", can they be crammed into the teensy2 on top of the other firmware?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sat, 30 July 2016, 05:01:14
"it does not seem like a lot of bytes", can they be crammed into the teensy2 on top of the other firmware?
Maybe if the mouse-move keys are removed.
The track ball also brings up another issue.

Teensy needs to continuously read the track ball's output, except when a key is pressed.
Currently Teensy 2.0 uses I2C to poll PCA9655E one row at a time.
I2C is slow.  Most of the Time Teensy is simply waiting for poll results.
The firmware would need to be rewritten to use interrupts.
Interrupts are complicated and implementing interrupts consumes RAM.

I have not used interrupts before, so I it might take me until October to get that working.
As far as I know, I/O expander interrupts have not been done on Arduino, so it might be beyond my technical abilities.
I will have time to look into it in September.

Another way would be to poll the I/O expander using SPI.
Advantages of SPI compared to I2C:
 * much faster (the ADNS-9800 Laser Motion Sensor uses SPI)
 * simpler
 * uses less SRAM
Advantages of I2C:
 * only needs 4 wires (SPI needs 6 wires)
But SPI would require a different I/O expander, requiring a PCB redesign.

Teensy in on the left hand.
If the trackball is on the right hand, you will need additional SPI wires connecting left and right PCBs.
Ideally a trackball and Teensy would be on the same PCB, so fewer connecting wires are needed.
Would be nice for lefties, if the PCBs where left-right reversible, so that trackball and Teensy are always on the same hand.

Interrupts and/or SPI I/O expander should be tested on a breadboard before making changes to the PCB.

Adding a track ball would be cool, but it would take a lot of time and effort.

Also, radar chips may make the trackball obsolete - https://geekhack.org/index.php?topic=83044.msg2205718
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sat, 30 July 2016, 07:18:57
Another way would be to poll the I/O expander using SPI.
Advantages of SPI compared to I2C:
[snip]
How about distance requirements? The left to right side connection is quite long, I also assume a different cable between left and right needs to upgraded with a 4 wire variant (cat 6 or something)? I think going that road would be difficult indeed or at the very least I would need to re-learn a lot about electronics. Using an io expander on both hands would free up some pins on the controller however. The MCP23S17 is able to source and sink 25mA on all io pins and can be driven on both 3.3v and 5v, according to my quick reading of its datasheet. Warning! I am not an electronics designer :)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 30 July 2016, 09:36:37
---snip---
The MCP23S17 is able to source and sink 25mA on all io pins and can be driven on both 3.3v and 5v, according to my quick reading of its datasheet. Warning! I am not an electronics designer :)

The MCP23S17 is spec'd ( Voh )as being able to drop 0.7v on output high while sourcing only 3mA at VDD=4.5v. This isn't very suitable, and suggests that it will drop quite a bit more voltage while sourcing the 25mA which is possible without causing immediate damage. The situation is typically
worse at lower VDD and is almost certainly unfit to do the job at 3.3v. I would not use this part as the datasheet doesn't cover the voltage behavior at the ~20mA we need and I don't want one part to work and have the next not work. We don't need extra headaches.

Regarding SPI v. I2C: Speed isn't really too much of an issue here, at least regarding scanning the switch matrix. I2C at ATMega32u4 speeds is more than capable... however wolfv is right to note that we would have a problem if we also wanted to continuously monitor a trackball on the same bus.
Neither SPI nor I2C are really designed for running through a long cable, but running at low speeds
helps to achieve robust/reliable communications and reduced emitted EM radiation.

It might turn out to be reasonable to run the PCA9655E at 5v from the teensy 3.2 because I remember hearing that the micro in the teensy 3.2 had 5v tolerant I/O.

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sat, 30 July 2016, 11:55:06
How about distance requirements? The left to right side connection is quite long
The keybrd library debouncer has error correction. https://github.com/wolfv6/keybrd/blob/master/src/Debouncer_Samples.cpp (https://github.com/wolfv6/keybrd/blob/master/src/Debouncer_Samples.cpp)
I tested this with 10 feet of flat telephone wire between Teensy 2.0 and MCP23018 (I2C).  It was flawless.

I also assume a different cable between left and right needs to upgraded with a 4 wire variant (cat 6 or something)?
Or eSATA cable.

Using an io expander on both hands would free up some pins on the controller however.
Shift registers is another way to free up pins.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 31 July 2016, 12:50:30
----snip----
I have just send a pull request to the thumb_work branch where I have changed the pads on the finger unit to have the same solder bridges as on the thumb. I would like to know 2 things:
1) Did I brake anything with this change?
----snip----

Hi Invultri,

I've had a first glance at your changes:

1) The silkscreen which indicates where to place a bridge is now off-center in your version and partially over the pads. This needs to be cleaned up.

2) Why did you go up to 6mil for the gaps?  regack's work (https://geekhack.org/index.php?topic=41422.msg1191731#msg1191731) indicated that 5mil was the right answer and that's what is on the thumb PCBs...
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 02 August 2016, 12:02:33
----snip----
I have just send a pull request to the thumb_work branch where I have changed the pads on the finger unit to have the same solder bridges as on the thumb. I would like to know 2 things:
1) Did I brake anything with this change?
----snip----

Hi Invultri,

I've had a first glance at your changes:

1) The silkscreen which indicates where to place a bridge is now off-center in your version and partially over the pads. This needs to be cleaned up.

2) Why did you go up to 6mil for the gaps?  regack's work (https://geekhack.org/index.php?topic=41422.msg1191731#msg1191731) indicated that 5mil was the right answer and that's what is on the thumb PCBs...

1) I can fix that
2) that was after I went browsing for PCB manufacturing places, 6mil seems more common. I can revert the changes no problem (yay for git :) )

I was also wondering why the finger carriers are off-center by 0.14,0.14 mm, was there a specific reason ?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 02 August 2016, 22:47:16
I was also wondering why the finger carriers are off-center by 0.14,0.14 mm, was there a specific reason ?

Can you explain in a bit more detail which measurement you're referring to?
Is this the PCB, or the OpenSCAD model?
Either way, sounds more like an error than intentional...
Off-center relative to what?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sat, 06 August 2016, 04:38:49
I was also wondering why the finger carriers are off-center by 0.14,0.14 mm, was there a specific reason ?

Can you explain in a bit more detail which measurement you're referring to?
Is this the PCB, or the OpenSCAD model?
Either way, sounds more like an error than intentional...
Off-center relative to what?

If you open the footprint of the finger unit and examine the pads (hover + e) you will see that they are not centered around 0,0. The silk mask cross is at the center of the footprint. For now I take that offset into account when making the finger unit design, as that is where I noticed it (yes I did measure up all 80 via's and made the pcb in openscad to do a check if everything fitted, that is how I noticed.)

Anyway, I will fix the silkscreen and revert back to 5mil today.

Edit: pull request updated. I hope this time its ok, PCB New really hates these pads, unconnected pad warnings which make no sense on several (no pattern to be found) and all of them are to close. Please check it and tell if anything else needs changing.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Mon, 15 August 2016, 06:31:02
Status update:
- The 3d printer has been assembled (it arrived 2 weeks earlier than expected)
- System of writing code in openscad is in place
- Porting finger unit to new system is in underway (meaning I dare to release it to the public)
-- Code will probably end up in a new place as its a full reimplementation with no link to @OldDataHands work (available under gpl of course)
-- Doing my best to keep the footprints compatible
- Looking if I can use XRA1405 as io-expanders with SPI

@OldDataHands, did you design the leds to use only 5mA of power on each parallel path?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 20 August 2016, 23:12:47
Hi invultri,

Looking forward to seeing your work!

The diodes go two in series then a 470-ohm.
The phototransistors go over a 2.5kohm.

each diode pair over the 470ohm will pull roughly 5mA and there are 3 = ~ 15mA
each phototransistor could take ~ 1.8mA @5v and there are 6 per row = ~=11mA

These are all rough, as they aren't accounting for the exact voltage drop from the I/O expander's output.

Short version: XRA1405 doesn't provide enough juice to run the circuit that I've designed.

Details:

The XRA1405 that you're referring to could be run at 3.3v, and is spec'd to be damaged at 25mA on an output.
The VOH for its gpio pins at 3.3v is spec'd at 2.6v@8mA. A _very_ crude approixmation of the effective resistance
on that output is around 87Ohms ((3.3v-2.6v)/8mA=87.5Ohm) which might lead you to believe that you could
have an output voltage as low as 1.1v if you actually managed to pull 25mA out of it.  In practice, you should
expect that once you get to around 12mA load you would start to drop some LEDs out of the ctircuit as they would
no longer have enough voltage to turn on (still assuming that 87.5Ohm output resistance).

Maybe you can do some testing and see if you really need to push 5mA through the IRLEDs. Maybe they would
do a perfectly great job at 1mA? That'd help. Maybe you can run the phototransistors at a much lower current too.
These would all help make it possible to use that chip. I have done no research/testing in that direction.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 21 August 2016, 08:42:08
One more (**important**) thing: The IR LED spec allows for a worst-case forward voltage of 1.6v @ 20mA
and gives no guidance regarding the shape of the I/V curve in those parts. It might be that the worst-case
actually happens and you'll get some parts with around >= 1.4v forward voltage in order to turn on. You're
then really pushing the limits of operation in trying to drive two IR LEDs at one time no matter how little current.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sun, 21 August 2016, 09:30:50
One more (**important**) thing: The IR LED spec allows for a worst-case forward voltage of 1.6v @ 20mA
and gives no guidance regarding the shape of the I/V curve in those parts. It might be that the worst-case
actually happens and you'll get some parts with around >= 1.4v forward voltage in order to turn on. You're
then really pushing the limits of operation in trying to drive two IR LEDs at one time no matter how little current.

It seems that I did manage to complete the "code" for the finger unit. But.. I seem to get into a bind with the license things. Is it ok for me to just put my own name as the copyright notice? there is 0 code shared so I guess that is fine? (https://www.gnu.org/licenses/gpl-howto.html). The bigger issue is that I would like to use the name "dodohand project" meaning that it would loop back to your version. Complicated! What would be the best way to get this code out there?

As for the xra1405 I would actually let them sink 5v. This would mean they pull ~15mA out of 24 which seems safe. If not for that worst case of 1.6v forward it would have been possible to put 3 leds in series. This will of course require a separate VCC line to the leds. Since the xra1405 is 5v resistant on the SPI interface as well we could use any of the 3 teensy types. I will create a schematic first and then provide it here for discussion. I think I need a small break from union, difference, intersection, translate, rotate etc :)

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 21 August 2016, 11:32:13
Have you considered a photointerrupter with Slot Type transmission?
The IR emitter potentially needs less power because optic alignment allows narrower focus.
Digi-Key has filters for "Current - DC Forward (If) (Max)" and "Current - Collector (Ic) (Max)":
 http://www.digikey.com/product-search/en/sensors-transducers/optical-sensors-photointerrupters-slot-type-transistor-output/1967054
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 21 August 2016, 14:16:05
there is 0 code shared so I guess that is fine?
(...snip...)
The bigger issue is that I would like to use the name "dodohand project" meaning that it would loop back to your version. Complicated! What would be the best way to get this code out there?

As for the xra1405 I would actually let them sink 5v. This would mean they pull ~15mA out of 24 which seems safe.
(...snip...)

If your source code is merely inspired my mine, and not copied from mine, then your name is only only one in the copyright.

I am perfectly happy to have The DodoHand Project be an umbrella under which both could live. Please proceed with that.
I'd prefer that we concentrate eyeballs and thoughts in one spot anyhow.

One of the reasons that I chose to have the power switched rather than the ground is that it was a simple way to ensure that stray light hitting the phototrasistors of switches not currently under evaluation in a column (of the switch matrix) didn't have a power source with which to raise the voltage on the sense line. (i.e. if only one phototransistor on a column/sense line has power at a time, then the others that share the sense line can't contaminate the evaluation).
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sun, 21 August 2016, 23:52:54
Have you considered a photointerrupter with Slot Type transmission?
The IR emitter potentially needs less power because optic alignment allows narrower focus.
Digi-Key has filters for "Current - DC Forward (If) (Max)" and "Current - Collector (Ic) (Max)":
 http://www.digikey.com/product-search/en/sensors-transducers/optical-sensors-photointerrupters-slot-type-transistor-output/1967054
I did in the past and had to conclude that I could not get them to fit.

If your source code is merely inspired my mine, and not copied from mine, then your name is only only one in the copyright.

I am perfectly happy to have The DodoHand Project be an umbrella under which both could live. Please proceed with that.
I'd prefer that we concentrate eyeballs and thoughts in one spot anyhow.

One of the reasons that I chose to have the power switched rather than the ground is that it was a simple way to ensure that stray light hitting the phototrasistors of switches not currently under evaluation in a column (of the switch matrix) didn't have a power source with which to raise the voltage on the sense line. (i.e. if only one phototransistor on a column/sense line has power at a time, then the others that share the sense line can't contaminate the evaluation).

@copyright Ok, I have set everything up for an upload to github. I will create a branch in my fork with my edition so we keep things together. This will likely happen today (gmt +1).
@switching power thanks for clearing that up, I was wondering why you wanted to source the led's and transistors. That is actually pretty clever :)

Update: Finger unit uploaded. Its in the alternative branch on my fork: https://github.com/christianvdstap/dodohand/tree/alternative . Now.. do not turn on your printers just yet, I need to print it myself and see what the result is like.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Professor Layton on Sat, 27 August 2016, 19:29:31
Hi all,

It's great to see all this great work.  ;D
I have purchased a full subscription to the Adobe Suite and I'll promise myself to stop procrasting on Youtube (for hours :eek:) to work on this project :cool:, since I know it'll prove useful to individuals with medical difficulties and will be a much better use of my time.
So would any of you mind giving me a running brief as to what work this project needs in what areas? Would you like a reconsideration of the logo? A website to showcase this project?

If this adds any specificity to your response, I have beginner/intermediate experience with Altium Designer, electronics in general, coding (especially with Python), Blender (even though I've forgotten most of it :p, but I'll catch up quickly) and I love making websites and have a genuine interest in designing logos, presentations and layouts.

Thanks in advance
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 28 August 2016, 16:08:15
would any of you mind giving me a running brief as to what work this project needs in what areas?
Hi Professor Layton,

Welcome to the forum, and the DodoHand thread.

DodoHand Finger clusters, PCB, and  firmware are done.
3-D printed thumb cluster is the only missing part.
Currently invultri is working on the 3-D printed thumb cluster, and might change the electronics to accommodate a trackball.

Do you have access to a DataHand?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sun, 28 August 2016, 16:29:51
Hi all,

It's great to see all this great work.  ;D
I have purchased a full subscription to the Adobe Suite and I'll promise myself to stop procrasting on Youtube (for hours :eek:) to work on this project :cool:, since I know it'll prove useful to individuals with medical difficulties and will be a much better use of my time.
So would any of you mind giving me a running brief as to what work this project needs in what areas? Would you like a reconsideration of the logo? A website to showcase this project?

If this adds any specificity to your response, I have beginner/intermediate experience with Altium Designer, electronics in general, coding (especially with Python), Blender (even though I've forgotten most of it :p, but I'll catch up quickly) and I love making websites and have a genuine interest in designing logos, presentations and layouts.

Thanks in advance

Hi there, welcome to the party!

The dodohand is a slow moving project, no full working prototype (that I know off) exists. OldDataHands started it by doing a lot of the mechanical legwork, Wolfv is working on the software and a prototype case was provided by Turbinia. On and off others have shown interest in creating some variant of this project and create a working unit. I am one of those others :)

So for what is needed... I guess just about everything. I like to leave the publicity (like website) to OldDataHands, I do like the current logo. It also seems that there is no concentrated effort but everyone is either making his / her own variant or is specializing on specific part. This makes it hard for me to indicate what exactly you could help with. Once I upload the schematic, a review would be appreciated.

My status is currently:
- Created drafts of finger unit and thumb unit 3d designs, printable via extrusion
- Assembled the 3d printer
- Started ordering some mechanical components (will order sheet metal 0.38mm thick next week)
- Created an initial version of the 3d finger unit (available in my clone on the alternative branch)
- Created an initial schematic of the finger PCB utilizing SPI (finalizing it, screenshots / upload probably in the coming week)
- Started working through electronic devices, fifth edition by Floyd
Next up (no specific order, non exhaustive):
- Creation an initial version of the 3d thumb unit based on the draft
- Create PCB layout for SPI variant of the finger PCB
- Design casing based on the blender prototype
- Design palm rests
- Print parts
- Order and assemble PCB
- Iterate until done

@wolfw and others
Poor picture: http://i.imgur.com/atAJUf3.png
Todo:
- Wondering if I will replace the 74165 with a XRA1402 to get rid of the buffers
- Need to add power connector for expansion boards, unless the expansions do not pull more than 100mA due to ribbon cables
- Considering to add a breakout pin for unused MCU IO
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 28 August 2016, 17:09:51
invultri,
Could you please post a schematic at higher resolution?  I can't read half the text.

I got another idea  :rolleyes:.  I don't know enough about electronics to judge if this idea is practical or just nonsense.
How about using Hall effect sensors instead of optics?
Some IC hall effect sensors have very low power requirements, so they can work with the XRA1405 or MCP23S17 I/O expanders.
Some IC hall effect sensors are tiny, so they can fit inside the 3-D printed parts.
For example, the Allegro A1171 is tiny and low power: http://www.allegromicro.com/en/Products/Part_Numbers/1171/1171.pdf

This cut-away picture of Apam IHS switch shows how magnet and Hall effect sensor are arranged: http://media.digikey.com/PDF/Data%20Sheets/APEM%20Components%20PDFs/IH_%20Series.pdf
For the magnet to provide DataHand-like tactile feel, the magnet would normally be in contact with steel.
Imagine an arrangement similar to the aforementioned Apam IHS, but with steel placed above the magnet, with magnet traveling between steel and sensor.

Hall effect switches have been used in production keyboards: https://en.wikipedia.org/wiki/Hall_effect_sensor#Keyboard_switch

There are many small IC hall effect sensors to choose from: http://www.digikey.com/product-search/en/sensors-transducers/magnetic-sensors-switches-solid-state/1967446
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Professor Layton on Sun, 28 August 2016, 21:21:23
Quote
Do you have access to a DataHand?
I'd love to say yes, but unfortunately I don't.  :confused:

However, I did do a bit of research and found this link which I found to be overwhelmingly useful (you may have already found it, so apologies if you have): http://research.microsoft.com/en-us/um/people/bibuxton/buxtoncollection/detail.aspx?id=75

It gives links to pdfs of the user guides and fundamental research with regards to the Datahand.

I'll try to give a helping hand in electronics where I can.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Mon, 29 August 2016, 06:46:37
How about using Hall effect sensors instead of optics?

Works.
I did a bunch of tests with a Honeywell 95A329 some years ago, though it's a sensor, not a switch. I had to manually set the actuation point in software, and I was using a single analog input line in the mcu per sensor.

If you get a good switch the latency is omittable, and the MTBF is out through the roof. AFAIK Most brushless DC motors use these as sensors for coil switching cycles.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 30 August 2016, 01:09:27
invultri,
Could you please post a schematic at higher resolution?  I can't read half the text.

*snip*
Hall effect switches have been used in production keyboards: https://en.wikipedia.org/wiki/Hall_effect_sensor#Keyboard_switch
*snip*

@schematic I am still refining it. I hope to be able to push it to git this week, then you can just use kicad to oogle it. I will be sure to post here once I do.

@hal yes they work, I have one on the old 3d printer and it can be tuned very pricesly. Tuning it exactly right was a pain in the bum however, now imagine doing that for 52 of them :). So I did consider hal sensors but decided it had to many unknowns to work with. I would have to make a lot of test switches to find a proper setup, especially since the rare earths that we are going to use are quite strong and the metal clip is in the way of the "ideal" position to place the hal sensor. So I did consider it but did not pursue it further since I think working with the IR leds is easier. At least for V1, get it close enough to the orginal mechanisms to have a base to work from.

Edit: I have just pushed the schematic (my fork, alternative branch, kicad_fingers_spi.sch etc)
Fully SPI based
- 6 primary SPI addresses for "fast" access, 3 on each hand.
- 1 primary SPI address on each hand are used for the driver (NCV7608)
- 1 primary SPI address for the 5v tolerant GPIO (XRA1404 or XRA1403)
- 1 primary address on each hand for another input device (like that trackball)
- Each hand has a dedicated SPI bus (so you can do things in parallel)

Driver has
- 5 lines to drive the led rows (row0-row4)
- 3 generic drive lines (OUT0-OUT3)

GPIO has
- 6 input read lines (col0-col5)
- 4 secondary SPI addresses SS3-A - SS7-A. Secondary IO is only enabled when SS1-A is high, this allows access to the gpio after using the secondary spi device.
- 2 extra inputs on a 4k7ohm pull down
- 3 general purpose IO

Feel free to shoot with constructive feedback :)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: famadorian on Sat, 03 September 2016, 23:00:01
I'm so god damn excited for this project;)

I've never had a datahand, but I've dreamt of it all my life.

Having this wirelessly in a pair of gloves inside VR/AR and I'm entering cyberspace;)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: jamescobalt on Fri, 30 September 2016, 12:53:41
Oh, wow! So excited for this project. I'm typing this on my Datahand. I love it, but there's room for improvement (how it sits on the lap, size of the housing, how mouse movement is handled, distance between keys, etc). My understanding is the patent has expired, so if anyone wants to go commercial, I want in! (marketing background here)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 04 October 2016, 02:21:54
Just a quick heads up, I am still making (slow) progress on the modeling effort. The thumb carrier (the big button) is up in github (https://github.com/christianvdstap/dodohand/tree/alternative (https://github.com/christianvdstap/dodohand/tree/alternative)). The next thing I will work on is to port the thumb side buttons from my doodle to the new style.

Once I get some feedback on the schematics I made for the finger unit I will also start creating the PCB for it.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 04 October 2016, 03:16:46
Once I get some feedback on the schematics I made for the finger unit I will also start creating the PCB for it.
Thanks for the update. :thumb:
What editor are you using for the .sch files?  Or please recommend a viewer.
https://github.com/christianvdstap/dodohand/blob/alternative/sch_and_pcb/kicad_fingers_spi.sch

Will you be using the XRA1405?  If so, I can add it to the DodoHand firmware.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 04 October 2016, 04:15:21
Thanks for the update. :thumb:
What editor are you using for the .sch files?  Or please recommend a viewer.
https://github.com/christianvdstap/dodohand/blob/alternative/sch_and_pcb/kicad_fingers_spi.sch

Will you be using the XRA1405?  If so, I can add it to the DodoHand firmware.
I picked the XRA1404 (same as the 1405 but without the level shifter) for the IO and a NCV7608 for driving the leds. The program used is Kicad (http://kicad-pcb.org/). Btw, I did not keep to the SPI pin numbering of the default teensy libraries but that can be changed.

Edit:
To make it a bit easier here is a PDF version: https://github.com/christianvdstap/dodohand/blob/alternative/sch_and_pcb/finger_sch_spi_v1.pdf
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 04 October 2016, 15:01:08
Btw, I did not keep to the SPI pin numbering of the default teensy libraries but that can be changed.
Please use Teensy default SPI pins (which are Arduino default SPI pins) because the keybrd library is an Arduino library and assumes Arduino compatibility.

Thanks for the PDF schematic.  Separating the controller and matrix driver is an elegant way of powering the LEDs.  Nicely done.
I have a couple of questions though.

The way I understand the schematic, there are two Matrix drivers:
1) NCV7608 on left board
2) XRA1404 on right board
Since the Teensy 3.2 is not driving any LEDs, could you use a Teensy LC instead (costs $8 less)?

The schematic shows three indicator LEDs (optional fancy lights) where as DataHand has four.  Is that intentional?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 04 October 2016, 15:15:55
Btw, I did not keep to the SPI pin numbering of the default teensy libraries but that can be changed.
Please use Teensy default SPI pins (which are Arduino default SPI pins) because the keybrd library is an Arduino library and assumes Arduino compatibility.
I can, but there are only 2 SS pins and I want 3

Thanks for the PDF schematic.  Separating the controller and matrix driver is an elegant way of powering the LEDs.  Nicely done.
I have a couple of questions though.

The way I understand the schematic, there are two Matrix drivers:
1) NCV7608 on left board
2) XRA1404 on right board
Nope the NCV7608 is effectively 8 mosfets in a chip and is only used to drive VCC down something. So it is used on both hands. The XRA1404 is used to read the matrix AND to enable several other SPI devices. This means for the hand that will have the teensy you use the SPI SSX-A addresses and for the other hand the SSX-B addresses (B becomes A again via the RJ45 connector on the other hand) See also a couple of posts up where I have the full feature list.
Since the Teensy 3.2 is not driving any LEDs, could you use a Teensy LC instead (costs $8 less)?
Certainly, this design is simple IO only. They are the same footprint, the design would not change (other than the label)

The schematic shows three indicator LEDs (optional fancy lights) where as DataHand has four.  Is that intentional?
Other than having 8 fets, needing 5 to drive the matrix and having only 3 left. Nope. There is a spare IO on the XRA1404 however ... might be able to sink a single led on that one. In my case I am considering no leds and use a SPI enabled display for status things.

Answers in bold
If you want any specific questions answered just post in here, or contact me on IRC.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 04 October 2016, 17:08:50
Thanks invultri.

I am still scratching my head.
How does the schematic indicate which parts are on both hands, and which parts are on just one hand?
Please list the components for each hand? e.g.

Left hand:
    one Teensy 3.2 or LC
    one NCV7608
    one XRA1404
    one 74HC126

Right hand:
    one NCV7608
    one XRA1404
    one 74HC126
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 04 October 2016, 18:40:15
Thanks invultri.

I am still scratching my head.
How does the schematic indicate which parts are on both hands, and which parts are on just one hand?
Please list the components for each hand? e.g.

Left hand:
    one Teensy 3.2 or LC
    one NCV7608
    one XRA1404
    one 74HC126

Right hand:
    one NCV7608
    one XRA1404
    one 74HC126

The short answer:
The only difference is Teensy vs Regulator. On the side with the teensy we can get the 3.3v directly from the teensy (at least from the non LC version, I need to check that) on the other hand the regulator is used to make the 3.3v.

Longer answer:
I think the workings of the mad contraption are not clear. Lets first ignore the entire 2 hand situation and pretend we only have 1 matrix to control.
In this case there are 2 major SPI components to interface with (via the SPI signals labeled with A):
1) NCV7608. This is used for outputting VCC to demanding circuitry. 5 of the pins (row0 to row4) are used to drive the matrix. This uses SS0 for addressing. This works the same way as the original schematic "driving" the matrix.
2) XRA1404. This is used to read the matrix (col0 to col5) (we are ignoring the extra SPI addresses for now and thus the 74HC126). This uses SS1 for addressing.

In this situation to get a measurement from the matrix the following things need to be done:
1) The correct row (and only that row) needs to be selected on the NCV7608, using SS0
2) The columns need to be read on the XRA1404, using SS1
3) The row needs to be deselected on the NCV7608, using SS0
4) Goto 1 for the next row

Now including the other hand: You would do the exact same thing, just using the SPI signals labeled with B. Nothing different. The B signals on the side from the teensy are cleverly connected to the A signals on the other hand via overlapping the top and bottom RJ45 as indicated in the text on the schema connecting A to B electrically. This means for the software: Do the exact same thing, just use the other set (B) of SPI signals.

Bonus stage (all of this is optional for extra fancy dodohands)
There is a third address (SS2) which can be used directly, this I would like to reserve for a pointing device, which is not included in the schematic other than it being exposed via the J7/J8 connector pair.

A facility is provided for even more chip addresses using extra io pins on the XRA1404 (SS3 to SS6), this is where the 74HC126 is used. To get to these addresses the following needs to be done:
0) During initialization SS3 to SS6 pins should be set to high (only once)
1) Select the XRA1404 with SS1, this will disable all chips connected to SS3-SS6 because the 74HC126 will put the outputs in a high impedance state and the SS lines will be driven high via the pullup.
2) Set the pin for one (and only one) of the extra SPI addresses to low
3) Deselect the XRA1404, this will remove the high impedance state of the 74HC126 and the low signal on the selected address is propagated
4) Now the selected chip can be interfaced via the SPI lines
5) Select the XRA1404 with SS1 again (the same thing as in 1 happens)
6) Set the address pin to high again
7) Do the next thing

Ps. Bed time now, next answer will lag ~8 hours.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Wed, 05 October 2016, 07:02:32
Thanks for the detailed answer.
Using a shift-register matrix might be simpler.

SNx4HC595 is 8-Bits of SIPO shift registers used for strobing rows.
SNx4HC165 is 8-bits of PISO shift registers used for reading columns.

A SIPO shift register strobes a row with 5 volts, while 3.3 volt PISO shift registers read the columns.
The 5 volts would feed the LEDs and would not cook the 3.3 volt circuit.

Board with trackball would have:
    Teensy LC
    5x6 matrix
    8 SIPO shift registers (5 volts) to strobe 5 rows, and 3 indicator LEDs
    6 Teensy LC pins (3.3 volts) to read 6 cols

Board w/o trackball would have:
    5x6 matrix
    8 SIPO shift registers (5 volts) to strobe 5 rows, and 3 indicator LEDs
    8 PISO shift registers (3.3 volts) to read 6 cols

This setup would use a total of 8 wires to connect left and right boards:
    3.3v power
    5.0v power
    gnd
    clk
    MOSI
    MISO
    SS PISO
    SS SIPO

Teensy LC and SNx4HC595 are connected by clock, MOSI, and Slave Select wires.
Teensy LC VCC is 3.3 volts.  SNx4HC595 VCC is 5 volts.
Will the clock, MOSI, and Slave Select wires safely remain at or below 3.3 volts?

I will run some tests on my breadboard and post the results in a few days.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Wed, 05 October 2016, 07:54:00
Thanks for the detailed answer.
Using shift a register matrix might be simpler.
*snip*
I will run some tests on my breadboard and post the results in a few days.
I found it unwieldy to create the circuitry with just the shift registers (I did try). It lead to more chips, getting sufficient driving current was annoying and wrecking them via bugs in software was also an issue. OldDataHands is right in driving the matrix as opposed to sinking since that eliminates the false positives. I also like that the circuitry is symmetrical and I am considering to give the microcontroller its own PCB.

I am interested in how your experiment goes, I would also like to see a drawn schematic of your plans.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Wed, 05 October 2016, 21:12:44
I found it unwieldy to create the circuitry with just the shift registers (I did try).
I guess it's not a simple as I had imagined.

The following is a summary of considerations for the path forward to adding a trackball to DodoHand.

The DodoHand firmware is large because the DataHand layer scheme is complex.
It's unfortunate that the DodoHand firmware consumes all of Teensy 2.0's available SRAM, leaving no room for the trackball firmware.

The trackball requires continuous monitoring by the controller.
Currently, DodoHand uses the I2C communications protocol to poll the PCA9655E IOE.
The controller is always waiting on I2C, so it has no time to monitor the trackball.
There are two ways to reduce wait time, leaving the controller with enough time to continually monitory the trackball: Interrupts and SPI.

1) Interrupts
Using IOE interrupt is complicated and would consume SRAM that Teesny 2.0 can't spare.

(edited) there is enough power to keep the LEDs on:
    26 keys * 20 mA/(2 LEDs in series) = 260 mA < 400 mA total package limit for PCA9655E

    All the IR emitters at DigiKey are at least 20mA.

    From PCA9655E data sheet
    Table 4. DC ELECTRICAL CHARACTERISTICS
     6. Each bit must be limited to a maximum of 25 mA and the total package limited to 400 mA due to internal bussing limits.

2) Use SPI protocol to poll IOE
SPI communications protocol is much faster than I2C, leaving the controller with enough time to continually monitory the trackball.
But changing to an IOE with SPI is complicated because their pins don't have enough power for the optic switches.

Maybe someone could figure out if DataHand uses polling or interrupts by putting a logic analyser on a DataHand.

3) Two controllers
You could use two controllers (this might be the simplest):
* one controller to emulate the DataHand layout
* one controller dedicated to the trackball

Given today's available parts, there is no easy way to make DodoHand with both optic switches and trackball.

4) Hall effect switches
Hall effect switches have very low power requirements.
Changing DodoHand to Hall effect switches would make using I2C with interrupts or SPI easier, which would then make adding a trackball simple.

But making Hall effect switches is a long project.
Like invultri said about Hall effect switches, "would have to make a lot of test switches to find a proper setup".
(edited) Changing to Hall effect switches may not be worth the effort.
However, if they are implemented, there are advantages to adding Hall effect switches before the trackball.

Its a lot of work to:
1) add a trackball to DodoHand (because optic-switch power requirements)
2) then change DodoHand switches from optic to Hall effect

DodoHand could be usable sooner, and effort saved, by changing the order of innovation:
1) finish DodoHand using Teensy 2.0 and PCA9655E
2) change DodoHand switches from optic to Hall effect
3) then add a trackball to the DodoHand controller (easy because Hall effect switches have very low power requirements)
(Hall effect sensor information is in Reply #584)

That about sums up the considerations for adding a Trackball to DodoHand.  Did I miss something?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Fri, 07 October 2016, 17:59:19
Hi invultri,

I started working on a shift-register matrix when I thought of a simpler way:
One row of shift registers to read 26 keys.
A side effect of using just one row is that the scans are very fast, which leaves the controller more time for monitoring the trackball.

This example uses two SN74HC165N daisy chained together for a total of 16 shift registers:
https://github.com/wolfv6/keybrd/blob/master/tutorials/tutorial_4b_split_keyboard_with_shift_registers.md
DodoHand would use four SN74HC165N daisy chained together for a total of 32 shift registers.

Teensy LC Vin pin has enough power to turn on all 52 IR LEDs on DodoHand simultaneously.
IR LED forward voltage: typ. 1.2 at 20mA
26 LEDs * 20 mA/(3 LEDs in series) = 173 mA per hand, 347mA if both hands are always on.
USB 2.0 can handle 500mA.

If you want to switch IR LEDs off between polings, let a buffer amplifier power 26 LEDs.
This would reduce USB current and extend IR LED life.
LMC7101 might be a good buffer amplifier, but I don't understand the datasheet's specifications:  http://ww1.microchip.com/downloads/en/DeviceDoc/lmc7101.pdf
There might be a suitable buffer amplifier to drive LEDs with a constant current.
That would eliminate IR LED current-limiting resistors.
Use Scanner_ShiftRegsPISOMultiRow object (instead of Scanner_ShiftRegsPISOSingleRow), it strobes what ever pin number Row passes to scanner.

Indicator LEDs can be controlled by a SN74HC595.

6 wires connect the left and right hands.
Add 2 wires if you want indicator LEDs controlled by a SN74HC595.

I tested the tutorial's SN74HC165N daisy chain example with tactile switches at 3.3 volts.
I don't have the optic-switch parts on hand to test with 5 volts.
I also don't have a buffer amplifier to test.

Do you want to give it a try?
The next step would be to replace the tactile switches, on the tutorial's breadboard example, with optic switches.

If you decide to go with the a single-row of shift registers for 26 keys, I can write an example with indicator LEDs controlled by a SN74HC595.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sat, 08 October 2016, 00:08:00
invultri,

I found some optic-switch parts in my other box.  I will write the firmware and test it on a breadboard.
It will be without buffer amps, but that makes no difference to the firmware.
Will post pictures and results in a few days.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sun, 09 October 2016, 10:39:39
invultri,

I found some optic-switch parts in my other box.  I will write the firmware and test it on a breadboard.
It will be without buffer amps, but that makes no difference to the firmware.
Will post pictures and results in a few days.
I will check up on this in some time, there is no schematic provided so I must first reconstruct the workings.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 16 October 2016, 11:10:29

I picked the XRA1404 (same as the 1405 but without the level shifter) for the IO and a NCV7608 for driving the leds. The program used is Kicad (http://kicad-pcb.org/). Btw, I did not keep to the SPI pin numbering of the default teensy libraries but that can be changed.

Edit:
To make it a bit easier here is a PDF version: https://github.com/christianvdstap/dodohand/blob/alternative/sch_and_pcb/finger_sch_spi_v1.pdf

Hi invultri,

I did review the datasheets for those chips, and briefly reviewed your
 schematic: They all look reasonable to me. I think you'll be able to
make a reliably functioning circuit with that combo.

I look forward to seeing pics of the first prototype!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Wed, 19 October 2016, 12:23:56
Hi invultri,

I did review the datasheets for those chips, and briefly reviewed your
 schematic: They all look reasonable to me. I think you'll be able to
make a reliably functioning circuit with that combo.

I look forward to seeing pics of the first prototype!

Hi OldDataHands,

Thanks for the review, this will give me enough confidence to create the PCB. As for the first proto, I very much look forward to it myself (even though I have underestimated the amount of work and energy it takes :))

In other news, I will try to complete the thumb 3D design (initial version) tomorrow. I only have to create the side and up keycaps, using math to derive everything. After that I will work on getting the PCB design done on the finger unit and maybe even try some test 3d printing (need to swap the nozzle for that).

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: hanya on Wed, 19 October 2016, 22:02:03
Edit:
To make it a bit easier here is a PDF version: https://github.com/christianvdstap/dodohand/blob/alternative/sch_and_pcb/finger_sch_spi_v1.pdf
Hi, invultri

NCV7608 is works like Nch-MOSFET. In your circuit, anode of IRLED is connected to drain of NCV7608 (D1 in the case of row0 line) and VCC is connected to source (S1 for row0).
In figure 21 of the NCV7608 datasheet tells it has body diode. The diode current is quite high even in low source-to-drain voltage. It looks these IRLEDs are always on.

VCC pin of NCV7608 is connected to VCC(+5V from teensy 3.2), it makes logic level of NCV7608 VCC level.
Recommended voltage of VS pin of NCV7608 is range 5.5V to 28V. If you can connect 5V to VS pin, on resistance could be smaller.

If each ICs can have decoupling capacitor near each power pins.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 20 October 2016, 01:18:47
Here is the schematic I plan to test on a breadboard.
It's a proof of concept with only 4 keys.
It has everything I need to develop the DodoHand scanner firmware.
The KiCad schematics are at https://github.com/wolfv6/keybrd_DH/tree/master/schematics
The files to look at are dodohand_BB.sch and row_shiftReg_photoInterrupt_BB.sch.
A review or the schematic would be appreciated.

There are some KiCaD issues I am struggling with.
When I get those straightened out on the above schematic, I can draw a schematic of the full DodoHand circuit.
Which will add LMC7101 buffer amplifiers for the IR LEDs, and SN74HC595 shift registers for indicator LEDs.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Thu, 20 October 2016, 01:26:05
Hi, invultri

NCV7608 is works like Nch-MOSFET. In your circuit, anode of IRLED is connected to drain of NCV7608 (D1 in the case of row0 line) and VCC is connected to source (S1 for row0).
In figure 21 of the NCV7608 datasheet tells it has body diode. The diode current is quite high even in low source-to-drain voltage. It looks these IRLEDs are always on.

VCC pin of NCV7608 is connected to VCC(+5V from teensy 3.2), it makes logic level of NCV7608 VCC level.
Recommended voltage of VS pin of NCV7608 is range 5.5V to 28V. If you can connect 5V to VS pin, on resistance could be smaller.

If each ICs can have decoupling capacitor near each power pins.
Hello Hanya,

Thanks for taking a look, it seems that I have indeed made a couple of mistakes (I am still learning this stuff).
- VCC and VS should be inverted VCC is the logic level and that should be 3.3v. This would have been a sad event in the making.
- The VS being 5v can not be helped by much but it is above the lockout voltage and other parts of the datasheet do use VS at 3V.
- Looking at the datasheet again I need to invert the source and the drain lines as well (looking at the typical application diagram). The leds and photo transistors need to be driven on the high side. Does this solve the problem with the diode current as well ?
- Voltage stabilization capacitors should be placed between VCC and GND on each cmos chip, I have had conflicting advice on this one :)  But I could add them to the XRA1404 and NCV7608, 0.1uF between the VCC and GND seems to be an accepted rule of thumb. Is that good enough or should I start hunting down books on the topic since it seems a bit complicated to do properly ?

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Thu, 20 October 2016, 02:37:02
Here is the schematic I plan to test on a breadboard.
It's a proof of concept with only 4 keys.
It has everything I need to develop the DodoHand scanner firmware.
The KiCad schematics are at https://github.com/wolfv6/keybrd_DH/tree/master/schematics
The files to look at are dodohand_BB.sch and row_shiftReg_photoInterrupt_BB.sch.
A review or the schematic would be appreciated.

There are some KiCaD issues I am struggling with.
When I get those straightened out on the above schematic, I can draw a schematic of the full DodoHand circuit.
Which will add LMC7101 buffer amplifiers for the IR LEDs, and SN74HC595 shift registers for indicator LEDs.

I find your design interesting. It could make things easier on the chip side and remove the mosfet driver, at the cost of more chips (board space, soldering). Since you are strobing the leds it is just a matter of a big capacitor to handle the power spikes.

What are the datalines?
5V
MISO
MOSI
CLK
CS1
CS2
Strobe
GND

There is at least one problem I see, the PL is not on triggered on a clock flank but transparent. This means that as long as the CS line is low you can not shift the data. Qoute from datasheet: "When the parallel load input (PL) is LOW the data from D0 to D7 is loaded into the shift register asynchronously. When PL is HIGH data enters the register serially at DS." You can not just connect the CS to the PL, this is the part where I got "stuck" with using the piso chips as you need some additional control for PL.

EDIT: Maybe using a Monostable Multivibrator that puts both the PL high and generates the strobe signal that triggers on the down flank of the CS with an RC time big enough to get a stable signal on the leds would resolve the issue. This would make the strobe signal from the teensy obsolete. You can start shifting the bits out after the RC time has elapsed. Maybe something like: http://i.imgur.com/MuGwLbe.png WARNING needs verification!

EDIT2: Or ... we use that line that is called MOSI to trigger the load, but that depends on how much control you have over the SPI protocol
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 20 October 2016, 04:12:44
Since you are strobing the leds it is just a matter of a big capacitor to handle the power spikes.
By "strobe" I mean power to the IR LEDs is on for a short time while the shift registers read the photo transistors.
In dodohand_BB.sch, strobe power is provided by Teensy LC pins 16 and 17.  No strobe capacitor is used.

What are the datalines?
5V
MISO
MOSI
CLK
CS1
CS2
Strobe
GND
I don't understand the question.

There is at least one problem I see, the PL is not on triggered on a clock flank but transparent. This means that as long as the CS line is low you can not shift the data. Qoute from datasheet: "When the parallel load input (PL) is LOW the data from D0 to D7 is loaded into the shift register asynchronously. When PL is HIGH data enters the register serially at DS." You can not just connect the CS to the PL, this is the part where I got "stuck" with using the piso chips as you need some additional control for PL.
The CS pin is not connected to the 8 parallel load input pins.
In row_shiftReg_photoInterrupt_BB.sch, the 8 parallel load input pins are named A, B, C, D, E, F, G, H.
Pins A and F read two 2 photo transistors.  The other parallel load input pins are grounded, they don't do anything.

A similar setup with one row of keys has been demonstrated on https://github.com/wolfv6/keybrd/blob/master/tutorials/tutorial_4b_split_keyboard_with_shift_registers.md
row_shiftReg_photoInterrupt_BB.sch adds a 74HC125 tri-state buffer chip because dodohand_BB.sch is running two rows of keys.
The 74HC125 only allows the active row access to the MISO line, so that only one row at a time can transmit on MISO.

These pages explain better than I can:
http://www.dorkbotpdx.org/blog/paul/better_spi_bus_design_in_3_steps
http://www.electronics-tutorials.ws/logic/logic_9.html  (74HC125 is an Active “LOW” Tri-state Buffer)

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Thu, 20 October 2016, 05:14:26
@wolfw
Ok I get the other guys schematic a bit more now, he does connect the chip select (CS) to the parallel load (PL) line of the 74165. This basically means "As long as CS is low the data on the data lines (DX) present at the moment CS was pulled low is being shifted on each clock (CLK or CP), but any changes on DX during this time is not observed (which is fine)".

As for the strobing, be careful with the power. You are going to need 13 (26 leds in series of 2) * 5mA = 80mA to turn on all leds for one hand.

Good spot on the tristate buffer, it is very much needed. I did notice that the clock enable (CE) inputs are not used, might as well connect them to the CS line as well.

My suggestion not needing the strobe and automatically triggering the parallel load but introducing yet another chip: http://i.imgur.com/Jntical.png

Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 20 October 2016, 11:14:07
As for the strobing, be careful with the power. You are going to need 13 (26 leds in series of 2) * 5mA = 80mA to turn on all leds for one hand.
...
My suggestion not needing the strobe and automatically triggering the parallel load but introducing yet another chip: http://i.imgur.com/Jntical.png
Ha ha.  Clever use of a 74LS121 pulse-width modulation chip.
But firmware would be complicated because 74LS121 pulses would be asynchronous with Teensy.

The simplest option would be to leave 52 IR LEDs always on.
My schematic of the full DodoHand circuit will show LMC7101 buffer amplifiers stobing the 26 IR LEDs.

the clock enable (CE) inputs are not used, might as well connect them to the CS line as well.
Good idea, I will test this on the breadboard.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Thu, 20 October 2016, 16:23:53
As for the strobing, be careful with the power. You are going to need 13 (26 leds in series of 2) * 5mA = 80mA to turn on all leds for one hand.
...
My suggestion not needing the strobe and automatically triggering the parallel load but introducing yet another chip: http://i.imgur.com/Jntical.png
Ha ha.  Clever use of a 74LS121 pulse-width modulation chip.
But firmware would be complicated because 74LS121 pulses would be asynchronous with Teensy.

The simplest option would be to leave 52 IR LEDs always on.
My schematic of the full DodoHand circuit will show LMC7101 buffer amplifiers stobing the 26 IR LEDs.

the clock enable (CE) inputs are not used, might as well connect them to the CS line as well.
Good idea, I will test this on the breadboard.

Its not asynchronous its CS low + RC time (which we know) + some margin (10% of RC time?) of "Startup time" this is actually OK according to what I read from the SPI interface specification. Just wait a little before starting to shift. I recon an RC time of 0.1ms would be plenty to get a stable signal  (cap of 72uF would give 0.1008 ms using the internal 2k resistor) ?
The horror that I see coming is soldering 52 resistors (or 64 if the extra inputs are used). There would be more resistors on the IR leds as well (1 for each led pair, 13 total) to deal with the difference in resistance in the leds themselves.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Thu, 20 October 2016, 17:54:49
The horror that I see coming is soldering 52 resistors (or 64 if the extra inputs are used). There would be more resistors on the IR leds as well (1 for each led pair, 13 total) to deal with the difference in resistance in the leds themselves.
The 52 pull-down resistors can be SMT resistor arrays (4 resistors per array).
Unused input pins would simply be grounded (no resistor needed).

There are no current-limiting resistors on the IE LEDs.
Instead, current is limited by the number of LMC7101 buffer amplifiers.
2 or 3 LMC7101 in parallel for 26 IR LEDs might be about right, I don't know.
Someone that knows buffer amplifier electronics should do the math or test on a breadboard with 26 IR LEDs.

The 2-row shift register design has advantages compared to 2 I/O expander matrices:
* simpler firmware because strobe is via Teensy pins rather than IOE pins
  (debugging I/O expander code is hard because programming the I/O expander adds a level of indirection i.e. the controller programs the I/O expander)
* faster firmware because strobe is via Teensy pins rather than IOE pins
* faster firmware because scanning 2 rows is faster than scanning 10 rows
* lower-cost parts
* the Scanner_ShiftRegsPISOMultiRow class is already integrated into the keybrd library and tested

disadvantages:
* more solder joints
* larger foot print may require a slightly larger case
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 23 October 2016, 14:38:55
New DodoHand schematics are at https://github.com/wolfv6/keybrd_DH/tree/master/schematics  ;D

There are two sets of schematics:
1) dodohand_BB will be tested on a broadboard
2) dodohand_PCB is for the DodoHand PCB

Schematics are provided in .pdf and KiCad formats.
An explanation of the schematics is in the README.md.
A review or the schematic would be appreciated.

Next week I will post the results of the breadboard and firmware test.

Thank you.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Wed, 26 October 2016, 13:22:54
Next week I will post the results of the breadboard and firmware test.

Thank you.

I look forward to your results :)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 06 November 2016, 03:58:09
The new shift registers design for DodoHand is at https://github.com/wolfv6/keybrd_DH/tree/master/examples/shiftRegs
README, schematics, Arduino sketches, and pictures of breadboards are included.
The breadboard and scanner firmware passed testing.
This is the simplest design that can support both IR LEDs and a trackball.

I will be happy to answer any questions about the documentation.

I did notice that the clock enable (CE) inputs are not used, might as well connect them to the CS line as well.
I tested this, but it did not work because SPI.transfer() is called when slaveSelect is HIGH (inverse of SPI convention is explained in keybrd/src/Scanner_ShiftRegsReadStrobed.cpp)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sat, 12 November 2016, 14:46:15
I had some time to work on the thumb unit again, with the following result:

(http://i.imgur.com/cQIR3MUt.png) (http://imgur.com/cQIR3MU)(http://i.imgur.com/XhWaHcYt.png) (http://imgur.com/XhWaHcY)

but I ran into a little snag, it will not fit the PCB as designed...

@OldDataHands
How did you decide on the positions of the thumb keys? I modeled the thumb down key based on the right image and then the PCB seems to be simply to small to fit the side buttons. Am I missing something ?

@wolfv
I did take a look at your schematics. How did the experiments go thus far? Did you try it with the IR Leds already, since you did not plan to add resistors on each led branch I wonder if you got consistent signals on all leds (there will be 13 branches so I wonder if all of them got adequate power due to resistence differences in the leds).

Edit:
For fun after reading the comment that the 74165 was not following the SPI rules (and my brain needing to do something else after being in openscad all day). Here is an autonomous schematic that is following the SPI rules (if all the components work like I think they do). 
(http://i.imgur.com/j21IXITt.png) (http://imgur.com/j21IXIT)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sat, 12 November 2016, 18:31:17
Good to see progress on the thumb cluster.  Looks nice.  :thumb:

For fun after reading the comment that the 74165 was not following the SPI rules (and my brain needing to do something else after being in openscad all day). Here is an autonomous schematic that is following the SPI rules (if all the components work like I think they do). 
(http://i.imgur.com/j21IXITt.png) (http://imgur.com/j21IXIT)

What is he schematic circuit supposed to do?  Is it a shift register array?  Where are the IR LEDs?  What are the five JFETs for?

@wolfv
I did take a look at your schematics. How did the experiments go thus far? Did you try it with the IR Leds already...

I only tested with two IR LEDs.  "Strobe buffers" on 26 IR LEDs was not attempted.
All other elements in sr4_keys folder passed testing, including the two IR LEDs.
https://github.com/wolfv6/keybrd_DH/tree/master/examples/shiftRegs/sr4_keys (https://github.com/wolfv6/keybrd_DH/tree/master/examples/shiftRegs/sr4_keys)

I read some datasheets on "digital buffer", "buffer amplifier", and "Schmitt-trigger buffer" but don't understand enough electronics to figure out which one is suitable for strobing 26 IR LEDs simultaneously.  Any EE out there care to advise us on which one to use?

The following two sections are from https://github.com/wolfv6/keybrd_DH/blob/master/examples/shiftRegs/README.md (https://github.com/wolfv6/keybrd_DH/blob/master/examples/shiftRegs/README.md)

# sr4_keys overview (this was tested on breadboard)
The right row has two photoInterrupt switches, which consist of an IR LED and photo transistor.
A 20mA Teensy pin strobes two IR LEDs.
(The 52-key PCB will use strobe buffers instead.  Adding strobe buffers to the circuit does not affect the firmware.)

# Strobe buffer (this is the schematic in sr5_dodohand_PCB, not tested)
To achieve fast polling, 26 keys are strobed simultaneously.
By "strobe" I mean power to the IR LEDs is on for a short time while the shift registers read the photo transistors.
Strobing 26 IR LEDs simultaneously requires much current (high fan-out capability):

    All the IR LEDs at DigiKey are at least 20mA.
    IR LED forward voltage: typ. 1.2 at 20 mA
    26 LEDs * 20 mA/(2 LEDs in series) = 260 mA
    26 LEDs *  5 mA/(2 LEDs in series) =  65 mA

The dodohand_PCB schematic powers the IR LEDs with "strobe buffers".
Some strobe buffer candidates are:
* digital buffer
* buffer amplifier e.g. LMC7101
* Schmitt-trigger buffer

I don't understand enough electronics to know which strobe buffer would work.
Someone that understands electronics can can figure this out.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sat, 12 November 2016, 18:56:44
Good to see progress on the thumb cluster.  Looks nice.  :thumb:

What is he schematic circuit supposed to do?  Is it a shift register array?  Where are the IR LEDs?  What are the five JFETs for?
*snip*
Its a replacement for the matrix driver but now SPI style as a single SPI device (and SPI can read and write in parallel, that is what is done in this schematic). It works as annotated, row0-4 and col0-5 are the same ones as on the original schematics (thus the leds / photo transistors are not drawn). Fets are there to deal with the current, the matrix is still sourced and I do not think the 595 can handle it. The only gotcha while using the circuit is that you write the row you want to read for N+1 whilst reading the sample N.

Also I do suggest that you calculate the current based on the typical voltage drop of the IR Leds and the resistors in the original circuit of OldDataHands. The leds are powered by less current than you think, which is a good thing :).
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sat, 12 November 2016, 20:59:42
It works as annotated, row0-4 and col0-5 are the same ones as on the original schematics (thus the leds / photo transistors are not drawn).
That sounds a lot like "Shift register matrix" section in https://github.com/wolfv6/keybrd_DH/blob/master/examples/shiftRegs/README.md

Also I do suggest that you calculate the current based on the typical voltage drop of the IR Leds and the resistors in the original circuit of OldDataHands. The leds are powered by less current than you think, which is a good thing :).

Ohm's Law:  If = (Vs - Vf) / R
R = 470 Ohms (IR LED current limiting resistor used in original DodoHand matrix)
Vs = 5 V
Vf = 1.2 V
If = (Vs - Vf) / R = (5 - 1.2) / 470 = 8 mA / IR LED
13 IR LEDs * 8 mA / IR LED = 105 mA strobe buffer

And if a buffer is less than 105 mA, they can be put in parallel.
So now I still need to find out which component to use: "digital buffer", "buffer amplifier", "Schmitt-trigger buffer", or "FETs"?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sat, 12 November 2016, 21:14:28

but I ran into a little snag, it will not fit the PCB as designed...

@OldDataHands
How did you decide on the positions of the thumb keys? I modeled the thumb down key based on the right image and then the PCB seems to be simply to small to fit the side buttons. Am I missing something ?


I didn't refer to the mechanical shape/size of the original thumb switches in my design.
There's relatively little work in the thumb PCB design. If you have a mechanical design that works, I can help get a new PCB designed.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sat, 12 November 2016, 23:28:51
Fets are there to deal with the current, the matrix is still sourced and I do not think the 595 can handle it.
TPIC6B595 shift register has same pin out as 595, but is able to sink 150mA per pin, thus eliminating the need for FETs.
http://www.ti.com/lit/ds/symlink/tpic6b595.pdf Continuous drain current, each output: 150 mA Max
https://www.adafruit.com/products/457

Edit:
Another option is to drive the matrix with a MCP23S18 (SPI I/O expander), with FETs on the MCP23S18 strobe pins.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sun, 13 November 2016, 04:49:28
I didn't refer to the mechanical shape/size of the original thumb switches in my design.
There's relatively little work in the thumb PCB design. If you have a mechanical design that works, I can help get a new PCB designed.
Ok, I will continue the work in this direction and redefine the PCB surface area.

That sounds a lot like "Shift register matrix" section in https://github.com/wolfv6/keybrd_DH/blob/master/examples/shiftRegs/README.md
Correct, but it will deal with the timing problem and allows the full duplex writing / reading (just remember that you write for the next read cycle). It will also do the strobe internally.

TPIC6B595 shift register has same pin out as 595, but is able to sink 150mA per pin, thus eliminating the need for FETs.
http://www.ti.com/lit/ds/symlink/tpic6b595.pdf Continuous drain current, each output: 150 mA Max
https://www.adafruit.com/products/457
Unfortunately I want to drive the leds and photo transistors not sink them to prevent crossplay. This makes all the open-drain types unsuitable, if you can find a high drive 8bit SIPO that can source about 35mA for its maximum ratings the fets can be replaced. Do note that the entire circuit runs on 3.3v as well now.

Edit:
Another option is to drive the matrix with a MCP23S18 (SPI I/O expander), with FETs on the MCP23S18 strobe pins.
Yes, a single MCP23S18 could handle it with the external fets. This design does everything by itself and uses the shift registers where with the MCP23S18 you need to do the strobing from software.

Also.. bugfixes and more annotations in the schematic:
(http://i.imgur.com/kncQpvIt.png) (http://imgur.com/kncQpvI)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 13 November 2016, 13:03:20
That sounds a lot like "Shift register matrix" section in https://github.com/wolfv6/keybrd_DH/blob/master/examples/shiftRegs/README.md
Correct, but it will deal with the timing problem and allows the full duplex writing / reading (just remember that you write for the next read cycle). It will also do the strobe internally.
So that's what the 74LS121 monostable multivibrator is for. :)

TPIC6B595 shift register has same pin out as 595, but is able to sink 150mA per pin, thus eliminating the need for FETs.
http://www.ti.com/lit/ds/symlink/tpic6b595.pdf Continuous drain current, each output: 150 mA Max
https://www.adafruit.com/products/457
Unfortunately I want to drive the leds and photo transistors not sink them to prevent crossplay. This makes all the open-drain types unsuitable, if you can find a high drive 8bit SIPO that can source about 35mA for its maximum ratings the fets can be replaced. Do note that the entire circuit runs on 3.3v as well now.
Photo transistors can be powered all the time at 3.3v.  Only the IR LEDs are turned on and off.  This was tested on https://github.com/wolfv6/keybrd_DH/tree/master/examples/shiftRegs/sr4_keys
For a 5x6 matrix, all phototransistor always powered is OK if LEDs are strobed one row at a time.
    46 phototransistor not strobed, Collector Dark Current = .1mA
     6 phototransistor strobed, On State Collector Current = 2mA
    46*.1mA + 6*2mA = 16.6mA < 100mA max for Teensy LC 3.3V pin
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 13 November 2016, 19:29:42
Hi invultri,

Based on my early testing: https://geekhack.org/index.php?topic=41422.msg838207#msg838207
You may need to consider 200us for reading a stabil result of the switch evaluation (seems to take that long to fully stabilize).

Hi wolfv,

Invultri and I agree that powering all of the leds and/or all of the phototransistors is a mistake as it would tend to add noise into the system. Extra leds means unwanted light possibly hitting the sensor. Extra phototransistors means extra,  unwanted current on the column from each phototransistor that isn't under evaluation.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 13 November 2016, 21:03:56
I didn't refer to the mechanical shape/size of the original thumb switches in my design.
There's relatively little work in the thumb PCB design. If you have a mechanical design that works, I can help get a new PCB designed.
Ok, I will continue the work in this direction and redefine the PCB surface area.


Cool. If you can provide me with the locations of the required holes, both for electronics and switch mounting, then I'll create a new PCB.
You'll (of course) also have to enlighten me regarding the layout of the matrix that you'd like to have.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 13 November 2016, 22:04:11
powering all of the leds and/or all of the phototransistors is a mistake as it would tend to add noise into the system. Extra leds means unwanted light possibly hitting the sensor.

Good call.  Glad you caught that one. :thumb:

So DodoHand with photoInterrupt switches will have to be on 5x6 matrices.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: test321 on Mon, 14 November 2016, 01:55:27
what happened with sinusoid?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 15 November 2016, 14:30:50
Hi invultri,

Based on my early testing: https://geekhack.org/index.php?topic=41422.msg838207#msg838207
You may need to consider 200us for reading a stabil result of the switch evaluation (seems to take that long to fully stabilize).
Changed the setup to make it 200us

Hi wolfv,

Invultri and I agree that powering all of the leds and/or all of the phototransistors is a mistake as it would tend to add noise into the system. Extra leds means unwanted light possibly hitting the sensor. Extra phototransistors means extra,  unwanted current on the column from each phototransistor that isn't under evaluation.
Here is a version with the matrix where the leds are sunk via the fets and the photo transistors are sourced via the 595.
(http://i.imgur.com/OGHhZgJt.png) (http://imgur.com/OGHhZgJ)
And.. this should make a roll-your-own SPI compatible matrix driver based on shift register and supporting full duplex. Not sure if this is the circuit to go for, but its pretty neat.
Edit: Now if only I did not forget the 3.3v that needs to be forwarded to the thumb unit as well.

Cool. If you can provide me with the locations of the required holes, both for electronics and switch mounting, then I'll create a new PCB.
You'll (of course) also have to enlighten me regarding the layout of the matrix that you'd like to have.
Will do, I think I can sneak in some more design time this friday. I need to create and place the "up" button, reinforce the backside of the anvils and make the frontside of the anvils a bit sturdier. Some assembly drawings would be nice as well. It will be bear time once I get the thumb design V1 done.

Now if I am really awake this weekend I am considering of swapping the hotend of the 3D printer to the 0.25mm and actually try to print some of the designs. ... makes me wonder where that tinned metal sheet went that I ordered some time back.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 15 November 2016, 15:51:37
this should make a roll-your-own SPI compatible matrix driver based on shift register and supporting full duplex.

Very nice!   :thumb:
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: sinusoid on Tue, 15 November 2016, 17:06:35
what happened with sinusoid?

The usual stuff. Food, money, deadlines.

Worry not, I see Invultri's at it! :D
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sun, 27 November 2016, 11:50:30
The usual stuff. Food, money, deadlines.
Worry not, I see Invultri's at it! :D
I am still at it yes, it takes a bit of effort :)

The first revision of the thumb unit is now live on my github. Next step would be to actually try and print it, hopefully this week.
(http://i.imgur.com/RUU88H7t.png)

@wolfw
Do you have an open drain IC in your electronics box? If so could you test this:
(http://i.imgur.com/K0nvfsdt.png) (http://imgur.com/K0nvfsd)
This would allow the use of the MCP23S18, but I do not believe it will work. Do note that the schematic uses a germanium diode.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 27 November 2016, 14:57:22

Do you have an open drain IC in your electronics box? If so could you test this:
(http://i.imgur.com/K0nvfsdt.png) (http://imgur.com/K0nvfsd)
This would allow the use of the MCP23S18, but I do not believe it will work. Do note that the schematic uses a germanium diode.

I don't understand how this could could be useful with more than one switch on a column.
What I see is that the output on the column would be high if any switch is not pressed (i.e. can only be low if all switches on the coulmn are pressed).
Am I missing something?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sun, 27 November 2016, 16:55:10
I don't understand how this could could be useful with more than one switch on a column.
What I see is that the output on the column would be high if any switch is not pressed (i.e. can only be low if all switches on the coulmn are pressed).
Am I missing something?

Well I am often wrong about these things that is why I asked for a test. My mind sees this:
(http://i.imgur.com/EPhjbpVt.png) (http://imgur.com/EPhjbpV)
I still do not believe it is going to work however. I need either a) a good simulator for circuits or b) a breadboard and some components and definitely some sleep as the alarm will ring in less than 6 hours.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Sun, 27 November 2016, 19:35:52
Well I am often wrong about these things that is why I asked for a test. My mind sees this:
(http://i.imgur.com/EPhjbpVt.png) (http://imgur.com/EPhjbpV)
I still do not believe it is going to work however. I need either a) a good simulator for circuits or b) a breadboard and some components and definitely some sleep as the alarm will ring in less than 6 hours.

Ahh. I think this will work with one small tweak: A high-ohm pull-down after the diode to ensure
that the voltage after the diode discharges when the switch is closed. (Level of need will depend
on the characteristics of the input, but shouldn't hurt in any case. something like 500kOhm would be a
good place to start.

Thanks for the extended diagram - I needed the extra help understanding your column concept.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Sun, 27 November 2016, 19:52:34
I need either a) a good simulator for circuits or b) a breadboard and some components.
Yes.  There will be many more trial and error before it's all done.
It's better to do your own testing because trial & error iterations are faster that way.

Breadboard has the advantage of testing the scanner firmware before making a PCB.
Scanner firmware can be developed and tested on a 2x2 matrix on breadboard similar to this:
https://github.com/wolfv6/keybrd/blob/master/tutorials/tutorial_4c_split_keyboard_with_IOE.md

Breadboards and jumpers from China are inexpensive.  I bought a few from eBay so I don't have to take one breadboard apart to start another test.
If you're looking for ideas on what parts to stock up on, here is a parts list for a keyboard breadboard kit: https://github.com/wolfv6/keybrd/blob/master/tutorials/breadboard_keyboard_supplies.ods
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Interface on Mon, 28 November 2016, 01:13:05
Great you're making progress guys! I created a channel #dodohand on Freenode if you're interested.
I thought it could speed up the process a bit if we can talk to eachother directly.

Decided today I should work on the thumb cluster too instead of making my own design from scratch. Which I haven't gotten very far with yet anyway.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Mon, 28 November 2016, 15:34:56
Great you're making progress guys! I created a channel #dodohand on Freenode if you're interested.
I will lurk around in there :)


Well I am often wrong about these things that is why I asked for a test. My mind sees this:
(http://i.imgur.com/EPhjbpVt.png) (http://imgur.com/EPhjbpV)
I still do not believe it is going to work however. I need either a) a good simulator for circuits or b) a breadboard and some components and definitely some sleep as the alarm will ring in less than 6 hours.

Ahh. I think this will work with one small tweak: A high-ohm pull-down after the diode to ensure
that the voltage after the diode discharges when the switch is closed. (Level of need will depend
on the characteristics of the input, but shouldn't hurt in any case. something like 500kOhm would be a
good place to start.

Thanks for the extended diagram - I needed the extra help understanding your column concept.
I thought that those pulldowns would be needed. Its a shame that there will be a continues leakage current though. The only reason I wanted to explore it was to investigate if I could use open drain chips (like the MCP23S18 but that still can only sink 25mA -_-) to simplify the design.

However, with a bit of thinking I managed to get the last negative effects out of the SPI driver. It will not engage any rows when the row address is 0 (not set), it will engage at most 1 row, it switches on the high side and it will have 5 spare outputs.
(http://i.imgur.com/GyGHFvUt.png) (http://imgur.com/GyGHFvU)
I name it: A full duplex 8bit SPI matrix driver with internal strobe function and 5 external outputs, 2 external inputs. That means all basic functions are covered on a single SPI address.
But ... deary me that is a lot of chips  :-\.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Mon, 28 November 2016, 16:53:54
full duplex 8bit SPI matrix driver with internal strobe function and 5 external outputs, 2 external inputs
Fast, with room for 5 indicator LEDs, and only 6 connecting wires between hands. :thumb:  I am impressed!
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: OldDataHands on Tue, 29 November 2016, 01:50:22

The first revision of the thumb unit is now live on my github. Next step would be to actually try and print it, hopefully this week.
Show Image
(http://i.imgur.com/RUU88H7t.png)



I finally checked out your scad and had a very brief look at the thumb: Looks to me like 2 out of 3 of the
thumb switch mounting holes don't leave room for the head of the screw. Other than that it looks really
promising. I'll have a look at some of the inner geometries later this week.  Exciting Stuff!

Let me know when you've got some confidence in the layout and I'll start at the PCB.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 29 November 2016, 03:59:30

I finally checked out your scad and had a very brief look at the thumb: Looks to me like 2 out of 3 of the
thumb switch mounting holes don't leave room for the head of the screw. Other than that it looks really
promising. I'll have a look at some of the inner geometries later this week.  Exciting Stuff!

Let me know when you've got some confidence in the layout and I'll start at the PCB.

I totally did not think about screw heads :x making everything fit took my attention. Will fix that minor issue this week. I have also changed the positions of the leds and screws. If you need help with understanding the scribles just shout, the code style is quite a bit different.

For testing the layout I created a printable pcb which has pins instead of holes. Using that we can verify everything before creating the pcb.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Tue, 29 November 2016, 14:14:29
So ... I wrecked the hotend, ordered a new one to replace it. I am afraid there is a slight delay in the printing.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wolfv on Tue, 29 November 2016, 14:46:01
But ... deary me that is a lot of chips  :-\.
Tristate ICs come in packages with 1, 2, or 4 tristates in one IC.
So one tristate IC could replace the four tristate ICs.

The 74AHC1G126 worked on my breadboard keyboard on  Reply #616 (the 74HC125 shown on your schematic did not work).

Are you putting as trackball on this version?
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Fri, 09 December 2016, 10:18:23
A quick update from me, the hotend arrived so I can restore the printer. However I have the flu throwing a monkey wrench into that plan.

(Edit) Up and running again
(http://i.imgur.com/FGDW0Y1t.jpg) (http://imgur.com/FGDW0Y1)

(Edit2)
@OldDataHands
Added clearance for the screws to the thumb side carriers
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: invultri on Sat, 24 December 2016, 11:45:47
Hello All,

Currently I am trying to print the pieces of the thumb unit. The good news with this is that it seems that I can get the level of detail required even with the parts this small. There are several issues that I am facing however:

- Stringing / Oozing during print. I did not have any issues when printing bigger objects with the 0.4 but with these tiny things I get a lot of stringing, this makes the fitting of the parts difficult
- Small bridges sagging. Bridges (on top of the led housings) have a tendency to sag, I need a solution for that otherwise the leds just won't fit.
- Small imperfections around corners. This leads to rough walls at parts which will make the sliding more difficult
- Strength. The parts are just not as tough as I hoped, especially with the other 3 issues, I can easily break them. This is not good if I want lasting parts.

So on and off I am experimenting with different printer settings where I can hopefully get to a point where I have workable parts.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: 1 on Tue, 28 February 2017, 03:36:21
How far along is this? I may be able to provide a bit of funding to take this into production at a larger scale if anyone's interested.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Interface on Thu, 16 March 2017, 00:16:47
How far along is this? I may be able to provide a bit of funding to take this into production at a larger scale if anyone's interested.
Pretty far I'd say, invultri has designed a thumb cluster to go along with OldDataHands OpenSCAD-files of the finger keys, those have been printed through Shapeways. invultri's thumb cluster hasn't been printed yet afaik. Also they seem to have gotten far on the electronics and software.

Now that I'm working full time and have a decent income I should order prints from Shapeways for invultri's thumb cluster. He's trying to print it using FDM, I tried printing OldDataHands parts on a Zyyx 3d printer but it melted into a puddle because the keys were too thin, didn't even bother with the key carriage. The outer barrier around the keys printed without issues but I think some parts are probably too small for FDM because of heat conduction. In my view there should ideally be a version that can be printed using FDM to lower the barrier of access to a HID like this to potentially lowering the barrier of access to as many as possible who suffers from repetitive strain injuries.

Anyways I've made some more progress on my own "version" of a HID optimized for ergonomy recently. I don't have any time frame for release or anything, it might not even ever be finished because of technical reasons(as an optimization problem the search space might be too large to ever find an optimal solution, the software I'm using contains bugs that might get in the way, moreover the execution speed overall is a bit slow). It's more like a personal research project and I might start over and make a more customized software solution for solving the problem. My hope is to make it work eventually anyway and be better than anything before it.

So for a while I've been writing a genetic programming algorithm for Grasshopper, an algorithmic CAD-software. I found a genetic programming plugin for Grasshopper called Embryo but it lacked the features I needed for this project but then last week the developer released a new version that solved those issues so now I'm back on track.

https://github.com/johnharding/Embryo

Here's some progress from last weekend:
(http://i.imgur.com/OARe6s1.gif)

I've gotten further than what's in the gif since last weekend. Now it can place keys randomly over a surface where the material gets cut away to make slots for the keys. The next step is to make the surface be able to take any shape even surround the hand. The keys needs to have more shape parameters with different mechanisms, right now there's only buttons that can be pushed linearly not angularly.

I recently got a hall sensor to play with, so it'd be nice to use those. Potentially every key could be analog and not just simple switches and they'd practically never wear out.

Now is also the time to figure out how to to make a feedback loop between any of the computational biomechanics softwares out there. I'm looking at OpenSim since it has a Python API. I've looked for simulation models that can give feedback on wear of tissues in the hands and arms but haven't found anything that completely fits the bill yet.

I'll also be ordering a Leap Motion soon for motion capture of hands where I'll be rating motions on myself and friends by how easy they are to carry out individually and in combination with other motions. Ease of motion and least amount of wear on tissues will be the objective function for the driving the optimization loop.

If you've got any questions or suggestions I'm happy to respond :)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: dantan on Fri, 24 March 2017, 09:42:15
Very exciting to think that maybe by this time next year, the Datahand II will be available on Massdrop...
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: jameschaucer on Wed, 10 May 2017, 09:43:10
If this happens, put me on the list to buy one immediately. I now have 2 broken dataHands and I'm on my last one. Waiting on ebay for another one.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: ldwoodworth on Wed, 24 May 2017, 21:05:41
I remember seeing one of the original Datahands as a child and wanting to try it, but never got the chance. I'd love to get one of these if they become available! Currently working on making an Ergodox.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: feeQs on Mon, 11 December 2017, 16:01:21
Hey guys, it's almost a year since your last activity, is the work still going? There're plenty of fancy new keyboards on the market but none of them beats the DodoHand's potential. If you need any kind of help to keep it going just tell me.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: templanet on Sat, 21 April 2018, 14:30:53
I hate registering on forums but rediscovering the DataHand again, while reading about the split keyboards made me do it. The split keyboards I see people getting so excited about just seem like a rehash of an old idea. Those DataHand people thought outside the box, but were too far ahead of their time unfortunately.   :(

If 3D printing doesn't work yet, how about using traditional molds for the keys? Ask a factory in China to make them out of aluminium. Or get a local old school metal worker to make them. :)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: Interface on Sun, 22 April 2018, 07:11:46
I hate registering on forums but rediscovering the DataHand again, while reading about the split keyboards made me do it. The split keyboards I see people getting so excited about just seem like a rehash of an old idea. Those DataHand people thought outside the box, but were too far ahead of their time unfortunately.   :(

If 3D printing doesn't work yet, how about using traditional molds for the keys? Ask a factory in China to make them out of aluminium. Or get a local old school metal worker to make them. :)
(https://i.imgur.com/D8LJCfo.png)
I've made more progress on my work for an ergonomic HID. However I can't promise when i'll be done, I went deep with this one, deep into the rabbit hole haha
Will use optimization throughout development with humans in the loop, and re-evaluation from new simulations, 3d print improved version :)

To setup biomechanical simulations with parametric model generation takes a lot of time. Does anyone know if Datahand development used biomechanical simulation for development?

Below is the 3d printer I bought that has missing parts so I'm making my own in laser cut steel cnc-milled aluminum.
When that's done I can start making HIDs!
(https://i.imgur.com/yJXvkAw.png)
(https://i.imgur.com/CTNSvYA.jpg)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: vvp on Sun, 22 April 2018, 14:04:23
To setup biomechanical simulations with parametric model generation takes a lot of time. Does anyone know if Datahand development used biomechanical simulation for development?
I'm guessing they did not. If they had done it then how did they justify switches on sides (left/right) of fingers. Try to move e.g. your ring finger left/right without moving other fingers.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wejn on Sun, 22 April 2018, 15:13:49
To setup biomechanical simulations with parametric model generation takes a lot of time. Does anyone know if Datahand development used biomechanical simulation for development?
I'm guessing they did not. If they had done it then how did they justify switches on sides (left/right) of fingers. Try to move e.g. your ring finger left/right without moving other fingers.
Hm, I might be an odd duck, or perhaps well trained from 10+ years on datahand, but I can move ring fingers that way without any problem. Otherwise it'd be major pain to "type" Esc,B,N,Win keys. :-)

(and I do have almost all hotkeys mapped as Win-<something>, so, yeah, works for me just fine)
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: templanet on Sat, 28 April 2018, 19:23:54
Does anyone know if Datahand development used biomechanical simulation for development?


You could ask the inventor himself maybe, but he is getting up there in years. I saw a webpage with Dale Retter's address on LinkedIn but I can't find it. Leland Knight a mechanical engineer helped him make it.
https://www.bloomberg.com/research/stocks/private/snapshot.asp?privcapid=5018196
https://www.bizjournals.com/kansascity/stories/2000/04/03/focus13.html

I was thinking about how technology is getting smaller and was wondering if a wearable could replace the DataHand. So I went looking and found this yesterday, but as usual with anything really interesting they have given up. They reached their goal on Kickstarter then gave all the money back, because they needed additional funding that fell through.

https://gest.co/technology

A system where sensors on your wrist report the vectors to your fingers. That way you could build a DataHand without any moving parts. Everything else would be code.

Edit:
Well it looks like it is already here.
https://www.bebopsensors.com/

Edit 2:
Actually I was just thinking about the risks associated with wearables, in that they put electric fields next to your flesh. It could be a cancer risk. They say the same of mobile phones.
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: wejn on Mon, 30 April 2018, 07:15:28
You could ask the inventor himself maybe, but he is getting up there in years. I saw a webpage with Dale Retter's address on LinkedIn but I can't find it.

I have Dale Retter's email (not that hard to find in Google), but was unable to get him on the phone; he's all promise & no follow through.

PM if you want the email.

I was thinking about how technology is getting smaller and was wondering if a wearable could replace the DataHand. So I went looking and found this yesterday, but as usual with anything really interesting they have given up. They reached their goal on Kickstarter then gave all the money back, because they needed additional funding that fell through.

https://gest.co/technology

A system where sensors on your wrist report the vectors to your fingers. That way you could build a DataHand without any moving parts. Everything else would be code.

Edit:
Well it looks like it is already here.
https://www.bebopsensors.com/

Edit 2:
Actually I was just thinking about the risks associated with wearables, in that they put electric fields next to your flesh. It could be a cancer risk. They say the same of mobile phones.
Then there's also https://www.tapwithus.com/product-2/ (or maybe better link would be https://www.tapwithus.com/overview/ ). Which looks promising, but still somewhat off the mark.

I accidentally also saw someone (on Kickstarter?) create a Kinesis-like keyboard that is split to two units (DH style) where one of the units as a whole also functions as [an oversized] mouse, but can't really remember the link. It would be a neat idea to integrate that into dodohand. :-)

Edited to add: https://www.kickstarter.com/projects/1666150716/keymousetm-the-keyboard-and-mouse-re-invented
Title: Re: Re-Create the DataHand - Thumb cluster under development. Project 75% done.
Post by: templanet on Mon, 30 April 2018, 18:33:20

Then there's also https://www.tapwithus.com/product-2/ (or maybe better link would be https://www.tapwithus.com/overview/ ). Which looks promising, but still somewhat off the mark.

That looks interesting. If it was two handed I would be very tempted. It might be good for kicking back and surfing though.

Quote
I accidentally also saw someone (on Kickstarter?) create a Kinesis-like keyboard that is split to two units (DH style) where one of the units as a whole also functions as [an oversized] mouse, but can't really remember the link. It would be a neat idea to integrate that into dodohand. :-)

Edited to add: https://www.kickstarter.com/projects/1666150716/keymousetm-the-keyboard-and-mouse-re-invented

I had a look at that one, but I thought moving the keyboard out of position might give you shoulder and back problems. However there is a comment on their Kickstarter, where they said they wanted to make a version with a trackball. That could work. But the DataHand looks way cooler... ;)