New SMD Model F controllers available

pandrew

30 Sep 2020, 12:34

Two new model F controller designs are now available:
1) SMD Model F controller, supporting later "standard" model Fs, including: F AT, F 122, F Unsaver, and the "Blue Switch" 3178 Model Fs:
smd_model_f_controller_top.jpg
smd_model_f_controller_top.jpg (193.66 KiB) Viewed 988 times
smd_model_f_controller_bottom.jpg
smd_model_f_controller_bottom.jpg (258.68 KiB) Viewed 988 times
Github URL: https://github.com/purdeaandrei/SMDModelFController

2) 4704 Kishsaver class model F controller, supporting original IBM F62, F77, F107, F50 keyboards.
(Note: this one does not support the reproduction F62 and F77 keyboards from modelfkeyboards.com, because those use 2.54mm pitch ribbon cables.)
ibm_4704_smd_model_f_controller_top.jpg
ibm_4704_smd_model_f_controller_top.jpg (150.67 KiB) Viewed 988 times
ibm_4704_smd_model_f_controller_bottom.jpg
ibm_4704_smd_model_f_controller_bottom.jpg (237.19 KiB) Viewed 988 times
Github URL: https://github.com/purdeaandrei/SMD4704 ... Controller

3) A slightly modified version of the "standard" model F controller from 1) above, with extra columns added. This may be useful for custom projects.
Github URL: https://github.com/purdeaandrei/SMDMode ... ra_columns

The differences between these are:
  • Board physical shape
  • Position of mounting holes
  • An F AT lock lights connector is available on the "standard" Model F controller.
  • A 3-pin buzzer connector is available on the kishsaver class controller.
  • The standard solenoid expansion header is available on both keyboards, but on the kishsaver class one it's hidden under the 3-pin buzzer connector, so you must either install 2x3-pin 90 degree pin headers for solenoid support or 1x3-pin 90 degree pin headers for the buzzer.
  • The third and the first one are almost the same, except the third one has extra columns, possibly useful for custom keyboard projects.
These can be ordered mostly assembled directly from jlcpcb.com. You must also order 5V pro micros (note MUST be 5V, not 3.3V!), and 90 degree pin headers, and solder them yourself. I am not planning on selling any (I may have one or two extra after my order arrives, but don't count on that). If anyone plans to build larger amounts, to resell, please post on this thread.

These have not been tested yet, but they have a high probability of working. My previous beamspring controller design worked out-of-the-box, see here:
viewtopic.php?f=50&t=24512

These are designed based on the TH Xwhatsit design, and are currently only supported by my QMK xwhatsit firmware, which is currently in closed beta. PM me for an invite, I will give a link to anyone, I just want be in contact with all users of the firmware at this stage. Also don't worry, this is not a Soarer type situation. Anyone getting the link will get the firmware under open-source terms, so if I get hit by a bus before releasing it openly, anyone who downloaded it can release it. I'm keeping it closed, only so I can directly ask people to test changes, when I make important changes. I expect to publicly release the firmware soon (within the month probably)
The QMK firmware variant that supports these keyboards is "/universal" (used to be "/through_hole", but renamed).

To order these, please follow these steps:
  1. Go to http://jlcpcb.com , sign in to your account (create one if you don't have one)
  2. Click Order Now
  3. Upload the .zip file from the "order" subfolder of the relevant github repository. (see links above)
  4. Select PCB Qty you wish to build
  5. Set "Remove Order Number" to "Specify a location"
  6. Scroll down, turn on the "SMT Assembly" option
  7. Select "Assemble bottom side"
  8. Select "Tooling holes" = "Added by Customer"
  9. Click "Confirm"
  10. Click "Add BOM File", upload the "*_bom_jlc.csv" file from the "order" subfolder.
  11. Click "Add CPL File", upload the "*_cpl_jlc.csv" file from the "order" subfolder.
  12. Click "Next"
  13. Make sure it says "0 parts not selected" (otherwise some component may be out of stock and you may need to replace it)
  14. Click "Next"
  15. Double-check components look correctly rotated (this is expected to be correct unless JLCPCB makes changes to their system)
  16. Save to Cart, Check Out.
Assembly instructions:
  • Make sure you have an 5V pro micro. (Either by checking that the crystal is a 16 MHz, and NOT a 8MHz one, or by measuring >4.5V on VCC even if J1 jumper is not shorted. (if the pro micro comes with J1 shorted, then it's a 5V pro micro. If it comes with with J1 open, then it could be either an 5V or 3.3V pro micro))
  • You MUST short the J1 jumper on the 5V pro micro
  • For the kishsaver-class controller, you must decide to either support a 3-pin buzzer, or solenoid controller. Based on your decision you must solder in either a 2x3 pin 90 degree pin header or an 1x3 pin 90 degree pin header
  • For the 'optional lock lights' header on the kishsaver-class controller, don't solder in any pin headers (as shown incorrectly in the render), there's not enough space for that in some keyboards. This is for soldering wires to it directly.
  • For the standard controller all soldered-in pin headers must be 90-degree ones. One of the above render images incorrectly shows vertical pin headers. For the lock lights header you should start with 2x4pin header, and remove one of the pins from the plastic using needle nose pliers.
  • Please follow instructions on the pcb itself related to which row of pins to use for the ribbon cable, and how to orient the board.
  • Pro micros and pin headers are designed to be on the "top" side of the PCB (opposite of where the SMD components are)
  • For 3178 "blue switch" keyboards you can't use the mounting holes, so you must solder a wire with a crimp terminal to the controller. There is a hole marked "chassis ground" for that. You can ignore that for other keyboards since the controller is grounded via the mounting holes.
Partial cost analysis:
At the time of writing of this post:
  • Building 30 pcs:
    Total cost = 90 USD JLCPCB PCB and assembly + ?? USD jlcpcb shipping + ?? USD pro micro cost + ?? USD header pins cost
    I estimate you can probably build 30pcs at around 8 USD/piece, but will depend heavily on factors such as pro micro cost, import duties, etc...
  • Building 5 pcs:
    Total cost = 41 USD JLCPCB PCB and assembly + ?? USD jlcpcb shipping + ?? USD pro micro cost + ?? USD header pins cost
    I estimate you can probably build 5pcs at around 23 USD/piece, but will depend heavily on factors such as pro micro cost, import duties, etc...
  • More than 30 pcs can be built with jlcpcb only if the order is panelized.
  • You can ask JLCPCB to assemble only 2pcs, and send bare pcbs for the rest.
  • You can also assemble these yourself at home, even the SMD parts. These are much easier to solder than original xwhatsit controllers because they have no QFN parts (those that have the pins underneath), and there are no USB connectors to solder. The parts on this design can be easily drag-soldered as long as you have good flux and a good soldering station. You don't need an oven or stencil or hot air gun.
Last edited by pandrew on 19 Oct 2020, 05:25, edited 8 times in total.

User avatar
Redmaus
Gotta start somewhere

30 Sep 2020, 17:55

Amazing, I will be updating redmarket with these in the coming weeks! Thanks so much andrei!

User avatar
darkcruix

08 Oct 2020, 21:19

I've ordered 5 PCBs - once I have them assembled I will update the thread. Thanks Andrei!

User avatar
darkcruix

10 Oct 2020, 14:45

I am checking for the correct ribbon cable at the moment. A standard 1.27mm caused some troubles last time I wired up a standard xwhatsit. I am searching for one that is like the original with single wires and the right distance between them for this controller.
Huge thanks

pcaro

15 Oct 2020, 10:40

I\ve ordered 5 PCBs too. Thanks Andrei!

User avatar
darkcruix

16 Oct 2020, 16:46

Fresh arrival ... I will (hopefully) try it tomorrow and give feedback
IMG_4066.jpeg
IMG_4066.jpeg (2.02 MiB) Viewed 626 times

pandrew

16 Oct 2020, 23:44

Mine arrived today too!
@darkcruix I see you ordered the "standard" variant.
@pcaro Which one did you order? "standard" or 4704?

pandrew

17 Oct 2020, 03:30

I have not soldered these to a keyboard yet, but I did some limited testing today.
I soldered on a Pro Micro (to both an option 1) and an option 2) board), and I verified, that all the columns work, all the rows work, and that the correct threshold voltages are generated. Everything looked fine.
I'm not in a hurry to convert my keyboards, so I guess probably darkcruix will be the first to connect these to an actual keyboard.

PS I also added a link to option 3) on the first post, which is a variant of option 1) with 8 extra columns on a separate header. This may be useful for some custom projects.

pcaro

17 Oct 2020, 19:56

pandrew wrote:
16 Oct 2020, 23:44
Mine arrived today too!
@darkcruix I see you ordered the "standard" variant.
@pcaro Which one did you order? "standard" or 4704?
The standard variand too.

User avatar
darkcruix

17 Oct 2020, 22:52

pandrew wrote:
16 Oct 2020, 23:44
Mine arrived today too!
@darkcruix I see you ordered the "standard" variant.
@pcaro Which one did you order? "standard" or 4704?
Works perfectly guys - THANKS
F122 - standard QMK settings
E38AC68A-CC90-4568-B55F-01F920B53AFD.JPG
E38AC68A-CC90-4568-B55F-01F920B53AFD.JPG (2.12 MiB) Viewed 514 times

pandrew

18 Oct 2020, 00:18

darkcruix wrote:
17 Oct 2020, 22:52
Works perfectly guys
Good to know!
Nice looking color coding on the wires!

Is there an issue with the second mounting hole position?
I measured out the mounting holes using my F AT original controller PCB, which should be the same as for the F122.

Cheers,
Andrei

User avatar
darkcruix

18 Oct 2020, 11:52

pandrew wrote:
18 Oct 2020, 00:18
...

Good to know!
Nice looking color coding on the wires!

Is there an issue with the second mounting hole position?
I measured out the mounting holes using my F AT original controller PCB, which should be the same as for the F122.

Cheers,
Andrei
Fits like a glove ... I am still in determining an issue with row 6 ... can't find any obvious shorts, but have to find the issue - other keys just work :)
Screen Shot 2020-10-18 at 11.46.39.jpg
Screen Shot 2020-10-18 at 11.46.39.jpg (313.22 KiB) Viewed 460 times

pandrew

18 Oct 2020, 17:25

darkcruix wrote:
18 Oct 2020, 11:52
Fits like a glove
That's great!
darkcruix wrote:
18 Oct 2020, 11:52
I am still in determining an issue with row 6 ... can't find any obvious shorts, but have to find the issue - other keys just work
I suggest to try and clean away all flux residue from where you soldered the wires (both the sense PCB and the controller), with isopropyl alcohol. Flux can be a bit conductive and can cause problems especially around the sensitive rows. Can you post a picture of the signal level monitor?

User avatar
darkcruix

18 Oct 2020, 18:56

find attached the screenshot - I cleaned it with iso propyl alcohol without success.
Screen Shot 2020-10-18 at 18.54.14.jpg
Screen Shot 2020-10-18 at 18.54.14.jpg (552.07 KiB) Viewed 404 times

pandrew

18 Oct 2020, 19:17

So what happens with those low signal value keys when you press them? Does the signal value increase?
I'm available on telegram or discord if you want to do some more efficient debugging.

User avatar
darkcruix

18 Oct 2020, 21:10

Sorry mate - thanks for making you available whenever I have an issue - WOW!
I fixed it by just re-doing the solder job.
This time I just used a Microscope and cleaned up properly (Yeah, not the workbench, it is a real mess, I know).

HUGE THANKS again - it is working flawlessly. Now I just want all 127 keys I use on the sensing PCB to work (looked at your xwhatsit.h and LAYOUT_all which should do the trick), but that is for another day.

Tell me, how could you put all this together without having all those IBM PCBs at hand? Genius !!!
workbench.jpg
workbench.jpg (2.79 MiB) Viewed 375 times

pandrew

18 Oct 2020, 21:35

Glad to hear it works!

What do you think about that microscope, is it worth getting one? How's the depth of focus? Is there a noticeable delay in the image?

Yes LAYOUT_all will allow you to make use of all the sensing positions. Just make sure to set all positions that don't have a flipper over them to KC_NO / N/A for optimum calibration results.

I found or received a picture of the sense PCB of all the currently supported boards.

Andrei

User avatar
darkcruix

18 Oct 2020, 23:59

pandrew wrote:
18 Oct 2020, 21:35
What do you think about that microscope, is it worth getting one? How's the depth of focus? Is there a noticeable delay in the image?
For the price (around EUR 70) I was surprised about the clear picture without much lag and the optics. It focuses quite well. Just had to remove the protective plastic below the lens, as my soldering iron was melting pieces of it each time :)

pandrew

19 Oct 2020, 05:31

Hey guys,

A couple updates:
1) I renamed the "through_hole" firmware to "universal" (you will need to update the util.exe too if you update the firmware)
2) I have doubled the threshold offset for all Model F keyboards, and I bumped the number of calibration bins from 3 to 5. (darkcruix, please test this new firmware)
3) I also tested the "standard" controller in my Model F AT, works fine!
4) I added support for lock lights, by default configured to work correctly with the model F AT lock lights. In other cases lock lights would require mods to your keyboard so please PM me for details.
5) The debounce algorithm has been changed to per-key for all keyboards.

Andrei

User avatar
darkcruix

19 Oct 2020, 10:12

Just pulled the latest source, flashed the F122 with the layout_all settings and 127 keys. I am typing this right now with the F122 and can tell, it is working perfectly.
I can't test lock lights, but would love to have an option to display which layer I am currently in. But that is for another day ...

Huge thanks - great work, the hardware worked out of the box (rev.1).

re-compiled the utility and it also works without issues:
Screen Shot 2020-10-19 at 10.11.04.jpg
Screen Shot 2020-10-19 at 10.11.04.jpg (534.06 KiB) Viewed 218 times

Rayndalf

22 Oct 2020, 09:44

I take it these don't support the F XT?

pandrew

22 Oct 2020, 09:53

Rayndalf wrote:
22 Oct 2020, 09:44
I take it these don't support the F XT?
Well, the FXT has an embedded controller on the sense PCB, unlike most of the other model Fs that are connected to their controller via a soldered ribbon cable. I think I have seen people convert F XTs by cutting off the controller part of the PCB, and then soldering wires to some testpoints. Quite a drastic mod if you ask me.

So these controllers are electrically compatible with the F XT. The XT layout is not yet in software, but that's easy to do. Once there's someone to test it, I'll do it. When it comes to which variant fits better physically inside the keyboards case, I have not investigated that.

Rayndalf

22 Oct 2020, 11:11

pandrew wrote:
22 Oct 2020, 09:53
Rayndalf wrote:
22 Oct 2020, 09:44
I take it these don't support the F XT?
Well, the FXT has an embedded controller on the sense PCB, unlike most of the other model Fs that are connected to their controller via a soldered ribbon cable. I think I have seen people convert F XTs by cutting off the controller part of the PCB, and then soldering wires to some testpoints. Quite a drastic mod if you ask me.

So these controllers are electrically compatible with the F XT. The XT layout is not yet in software, but that's easy to do. Once there's someone to test it, I'll do it. When it comes to which variant fits better physically inside the keyboards case, I have not investigated that.
I keep forgetting the controller on the key PCB. I agree, I think and external converter is probably a better option. Probably couldn't drive a solenoid though :lol:

Post Reply

Return to “Workshop”