JesusFreke / lalboard

A 3D-printed keyboard inspired by the DataHand
http://lalboard.com
Other
828 stars 58 forks source link

Wiring tutorials? #6

Open GeneralMidi opened 4 years ago

GeneralMidi commented 4 years ago

Hi, this project looks great, maybe not so for a noob. But we'll see. I wasn't able to find any wiring diagrams, or images for wiring the components on your github. Would you point me in the right direction? Thanks.

JesusFreke commented 4 years ago

The only wires are the ones that run between each cluster and the central board for each hand. And then the ones that run between the two hands. There's a 7-pin jst-zh connector on each cluster, and on each board, and you just plug the wire connector in to either side.

Each cluster, etc. has a little "circuit board" thing, made out of vinyl-cut copper. You can find more information about how I made those on the wiki page.

GeneralMidi commented 4 years ago

Thanks so much for your response, and please excuse my very low experience level. I couldn't find how you wire up the IR leds, photo transistors, the sink drivers, smd resistors, teensys etc. Sorry if this is straight forward, I just like to have a clear idea in my mind how the pieces fit together before I tackle such a project! Thanks for making the project available by the way.

l4u commented 4 years ago

@GeneralMidi
see https://github.com/JesusFreke/lalboard/blob/master/eagle/mapping.pdf and https://github.com/JesusFreke/lalboard/tree/master/vinyl_cut_pcb for the wiring :)

GeneralMidi commented 4 years ago

Noob! Thanks so much for pointing me in the right direction...I don't suppose there are any complete guides anyone's written up anywhere?

ampleyfly commented 4 years ago

I also find the wiring confusing, even given the mapping and the wiki here on Github. The Eagle files for the center board helps clear that part of it up, but the vinyl cut PCB:s are harder for me to get. In the mapping.pdf file linked above, the PCB seen to the top left is that for the right thumb, which as far as I can tell is wired differently than the one for the left thumb. It is also unclear to me which orientation the JST connector has when the thumb or finger boards are viewed from the top. Is pin 1 to the right or to the left? To help myself sort this out, I have been tinkering with kicad PCB:s for the thumb and finger boards, as well as a wiring diagram using WireViz. Would that be of use to you guys, once I get it down?

JesusFreke commented 4 years ago

As far as I can tell, the datasheet for the connectors doesn't specify a pin numbering scheme, so there is no common "pin 1" reference to help orient.

The 3d printed part for the pcbs for the individual finger clusters are sized so that the back edge of the connector is flush with the back edge of the pcb in one of the orientations. And with it in that orientation, it gives a tiny bit more space to solder the through-wires just in front if it. But at the end of the day, the orientation doesn't really matter.

There are 3 variables in play - the orientation of both connectors, plus how the wire is... wired (straight-through or reverse). Any combination of those three variables that is mechanically feasible, and ends up with the right pins being connected should work.

I have definitely accidentally soldered connectors backward, and "fixed" it by either soldering the corresponding connector on the central pcb the opposite way, or by reversing how the wire is wired.

That being said, I think the connector pins in the svgs could probably use some labels, so you don't have to try to manually trace things based on known voltage/ground/data pins elsewhere in the circuit.

I would be happy to include any documentation you write and think would be useful :). Either in the project itself (pull request), or in the wiki (PM me and I can add you as a collaborator, allowing you to edit the wiki)

JesusFreke commented 4 years ago

And yes, the left and right thumbs are wired differently. For one thing, the LEDs and phototransistors are in opposite positions per-key on each side (why?... heck if I know! I didn't even notice that until just now). But even if if they weren't, if you tried to use a mirror copy of the pcb, the components would be wired up in the wrong polarity, since the components themselves aren't mirrored.

JesusFreke commented 4 years ago

More labels were added in 4e3174a545aaef074abca677f9573e4fc0cdbc51. Hopefully that should make it a bit easier to read :)

ampleyfly commented 4 years ago

I started working on a schematic and pcb on the kicad branch in my fork (bc0cfbd3fa0bf612d9119e859fab611c3e237762). I'm still a bit unsure about the pins on the central pcb, so haven't put any labels there. Perhaps one of you guys could look take a look and see if it's correct so far?

JesusFreke commented 4 years ago

@ampleyfly - I haven't fully looked at everything yet, but it looks like the thumb connector on the central pcb is connected incorrectly. For example, the middle pin should be ground, and 5V should be beside it. But it is wired with the same connections as the finger clusters, with ground and 5V at 1 and 6 (or 7 and 2, depending on which way you number it). Unless you plan on swapping wires in the connecting wire bundle?

Also, it looks like the thumb and finger boards are 4 layers? It should be possible to do it with 2 layers, which should typically make it cheaper, I would think.

ampleyfly commented 4 years ago

The central board is imported from the eagle project, and the pinnings on the finger and thumb boards are based on the svg files. Perhaps this mismatch explains the confusion about the wiring in the first place?

I did it in 4 layers because it is a lot easier and takes less effort. While there is a difference in price, 4 layers is still pretty cheap. One the wiring is nailed down, the pcbs could be converted to 2 layers.

ampleyfly commented 4 years ago

I just realised that the eagle files comes from a pull request from the @IronFox fork, where there are also files for the other pcb:s. I guess either merging those or looking there for how to wire things is better tha redoing the work.

ampleyfly commented 4 years ago

I updated my branch with a center pcb based on the svg file instead, so now it should at least reflect what's in the svgs accurately! :)

JesusFreke commented 4 years ago

Yeah, @IronFox is doing his own thing - which is great! But I think not totally compatible.

@IronFox - I'm thinking I might remove the stuff you added in your first pull request to avoid confusion, since it doesn't appear to be compatible with the rest of the "stock" lalboard. But I'd be happy to add a pointer to your project/fork in the README!