-
ProblemI'm done wiring the matrix and assembling. I successfully flashed the board and the left keyboard seems to be working. The right board is detected, can be flashed etc, but doesn't react to key presses. I checked that the pins on the molex receive the keypresses and they do (rows and columns). I'm suspecting this just leaves the option that something is wrong with the controller... but if so, why would it be detected and flashable? Pictures |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 5 replies
-
Most likely, something is wrong with the driver! A change made in the split transport layer of QMK after my initial driver submission (coupled with an oversight on my part, that allowed it to happen unnoticed) led to a problem with the effects you describe (although I would have expected both sides to work when they are connected via USB, i.e. the master should work regardless of which one it is). See here for more details. If you don't have the latest QMK version, please upgrade to it and try again. I just flashed version Also: congratulations on your build; it looks very nicely made! Did you have any particular difficulty with any of the wiring steps? How long did it take you to finish each side? |
Beta Was this translation helpful? Give feedback.
-
Ok, so I flashed 0.12.43 from main qmk repository. Still no change. What I'm observing is this:
The way I flashed was this:
I also re-ran |
Beta Was this translation helpful? Give feedback.
-
What you report seems to suggest that everything is wired and working properly on the left side and that at least the controller is working on the right side and communicating properly both with the PC and with the other half. I don't see how this could be to sole source of your problem, but I notice that I've ommited a step in the instructions in the build guide: using the default configuration, which uses the |
Beta Was this translation helpful? Give feedback.
-
The switches I used also had a thicker, stiffer and a thinner, more flexible pin, although judging from your photos, the thick pin certainly wasn't as large and square as yours. At any rate, I went with the method of preforming loops so that they can simply be placed over the pin and stay in place long enough to solder them one by one. This should reduce wear and tear on the switch pins. Did you stop pre-forming the loops, just to save on time/effort, or did the method prove to have any particular problems for you?
Did you tin the wires properly? As I describe in the guide, the basic idea is to tin the wire ends, i.e. apply some flux to the wire followed by some solder, so that about 5-7mm of the end become "solid-core", as the strands are saturated with solder. You can then similarly apply flux and solder on the target location (here the solder will simply form a coating of the target location) and finally just position the wire on the target site and reflow the solder. With some practice, only minimal application of heat is required (although spatial constraints still make the work hard enough).
Yes... I made sure to warn about that in the build guide. You mention the Molex brand; did you use some other alternative for the connectors made by Molex or the parts by TE connectivity I listed in the BOM? I'm asking because your crimps don't look properly executed, unless perhaps they're of some different type. I can only see the insulation crimps, but these don't seem to be properly wrapped around the insulation. Generally this part of the crimp is for strain relief and doesn't contribute much of the total strength, so it shouldn't be the cause of your pulled out terminals, but if you used the wrong tool, or technique to execute the crimp (e.g. just pressing them with pliers), perhaps the crimps on the wire strands are similarly problematic.
Yes and furthermore, in my case the insulation proved surprisingly incapable of preventing shorts. I had more than one, simply because the only places where shorts can develop are close to the solder joints (where bare column leads run vertically beneath the row wire) and there it's easy not to have insulation at all, because you've removed too much of it, or to melt through the insulation while making the joint. Perhaps it would be best to simply use bare solid core wire and use some other way of avoiding shorts...
The printing of the keycap stem presents several challenges: for one, getting the cross to be tight but not too tight, doesn't allow much room for error, but each material contracts to a different degree upon deposition, depending on other parameters as well, such as bed and hotend temperatures. Geometry that works well for PETG, results in a too tight stem with ABS. On the other hand you can't make it too loose either, because that'd require a larger stem diameter (otherwise it'd break to easily), which won't fit in the shaft of the switch. Perhaps other geometry will work better. I considered geometry similar to the one you show, but it seems more fragile, or less stable, so I tried to avoid it, unless it proved necessary. At any rate, I'd suggest the following before that:
This is the same as (see the definition more more parameters, along with their default values):
|
Beta Was this translation helpful? Give feedback.
-
Did you use the "free" switch pin to form the wire coil around it? My idea was to use the switch simply to bend the wires in the right directions and mark off where to start the coil (with a kink), then to use needle-point tweezers or something similar to form the coil. Perhaps the guide isn't clear enough on this point.
This terminal is half-crimped. The terminal needs to be crimped at two points: the insulation crimp, which you've executed, and the wire strand crimp itself, which, as you suspect still needs to be done. The latter (the wire crimp) is the most important part of the crimp, with the former (the insulation crimp) mostly offering strain relief. To get an idea of what a properly executed crimp looks like (this particular terminal is what's called an "F-type open crimp terminal"), what to strive for and what to avoid, have a look at pages 13-14 here for instance, or in similar guides. I suspect it is hard to get an "excellent" crimp with generic tools (I certainly couldn't get one), so you shouldn't worry too much about each and every point, but your result should be in the right ball park in every aspect. You can also look through YouTube videos and similar tutorials, to get a more visual idea of what the process and the tools look like, but watch out, as there's plenty of bad advice in such sources. The NASA workmanship guides I mention in the build guide, may also be of interest, although they cover a lot of irrelevant crimp types. Note the opening passage:
It should be pretty hard to pull the wire out of a properly executed crimp. |
Beta Was this translation helpful? Give feedback.
-
The crimping tool I found at a local electronics store looks somewhat like this. I did the job, but I'm reluctant to recommend it, as it didn't make crimping these small terminals very easy. (Perhaps I just weren't using it correctly, but I did try to find the proper way.) It crimps both sites at once, which makes it necessary to insert the terminal and wire deep into the die. For one it's hard to hold the terminal (I had to thread it into an unwrapped paperclip) and for another, it's hard to see what you're doing and if you've inserted it far enough, or too far. Getting the strands fully crimped, without having them extend too far past the crimp and without getting the insulation in there with them can take some practice and even then, I couldn't get a completely satisfactory result (although for the trivially low currents these wires have to carry, it shouldn't be an issue). Note that my tool seemed to be a relatively cheap copy of something like this, so perhaps a better made tool will perform better. (For instance, my tool had a "step" in the die, where the open crimping tabs of the terminal butted up against so it was easy to insert the terminal itself correctly, but from then on, there was no guide for inserting the wire properly. Some tools seem to have adjustable stops where the insulation of the wire butts up against, which might make proper crimping easier.) There are other tools, such as this, which take a longer time to fully crimp a terminal, as you have to separately crimp each site, but seem to be easier to handle, as you can see exactly where the wire is inside the terminal and where you're crimping. |
Beta Was this translation helpful? Give feedback.
What you report seems to suggest that everything is wired and working properly on the left side and that at least the controller is working on the right side and communicating properly both with the PC and with the other half.
I don't see how this could be to sole source of your problem, but I notice that I've ommited a step in the instructions in the build guide: using the default configuration, which uses the
EE_HANDS
method (seeconfig.h
) to set handedness, you need to flash the EEPROM on each side to mark which is which. See here for more information. It should be enough to flash the left side withmake handwired/lagrange:default:dfu-split-left
and the right side withmake handwired/l…