READY - $10 - DIY Through Hole Universal Model F and Beamspring Controller

User avatar
Redmaus
Gotta start somewhere

15 Jul 2020, 09:38

Would this work with an F122?

kmnov2017

15 Jul 2020, 09:39

Redmaus wrote:
15 Jul 2020, 09:38
Would this work with an F122?
Yes all models of Fs and Beamsprings..

User avatar
SneakyRobb
THINK

15 Jul 2020, 18:57

Hi I have 2 extra of the PCB anyone wants to buy. I was thinking around $5 + shipping. Send message if interested. They came with specifically the beamspring edge connector part which I will include/not break off.
xwhatsit through hole.jpg
xwhatsit through hole.jpg (210.06 KiB) Viewed 9587 times

listofoptions

17 Jul 2020, 03:43

DMA wrote:
10 Jul 2020, 20:37
BTW, I would recommend a DAC with some faster bus. If you can reprogram it between scans, you can have per-column thresholds - which is not as good as per-cell, but close enough for practical purposes.
yeah i wanted one originally but that would have driven the price up a bit, im still on the lookout for a cheaper spi bus dac!

pandrew

17 Jul 2020, 19:45

kmnov2017 wrote:
15 Jul 2020, 09:39
Redmaus wrote:
15 Jul 2020, 09:38
Would this work with an F122?
Yes all models of Fs and Beamsprings..
Just a note on that. Yes, the hardware is compatible with F122. For the QMK software I need a picture of the front and back of the sensing PCB. (Or if the picture is too much to ask for then I can settle for someone with an original xwhatsit drawing the layout on http://www.keyboard-layout-editor.com/ , and writing "k_row_column" into the drawn key, where row and column are the matrix positions. You will have to send me the produced json. You can determine the matrix position of each key, by correlating what your key does, to where that action is in the xwhatsit matrix)

Based on that info I can write the F122 keyboard support for QMK.

Also note, that nobody has yet ported the original xwhatsit firmware to the through hole controller. At the moment the through hole controller is QMK-only.

EDIT: got a picture of the top of the F122 from kmnov2017. May be enough if I can guess the column shadows right. I'll give a try implementing it tomorrow.

Andrei

User avatar
Redmaus
Gotta start somewhere

17 Jul 2020, 22:37

kmnov2017 wrote:
07 Feb 2020, 19:17
BOM List

Sl Designator Package Quantity Designation
1 U6,U1 DIP-14_W7.62mm 2 LM339
2 RN2,RN4 R_Array_SIP5 2 10K
3 C3,C4,C5,C7,C8,C9,C10 C_Disc_D3.0mm_W1.6mm_P2.50mm 7 0U1
4 R3,R4 R_Axial_DIN0204 2 20K
5 R5,R1,R6 R_Axial_DIN0204 3 4K7
6 U2 DIP-8_W7.62mm 1 MCP4921-EP
7 U8,U5,U3 DIP-16_W7.62mm 3 74HCT595
8 C2 C_Disc_D3.0mm_W1.6mm_P2.50mm 1 10U
9 R2,R7 R_Axial_DIN0204 2 1K
10 RN1,RN3 R_Array_SIP5 2 100K
11 U7 ProMicro 1 ProMicro

NOTE: Line 8 is NOT REQUIRED
I can't seem to figure out how to order these parts on digi-key. I have never ordered electrical parts online before. What exactly am I searching for? If I put in the designation in digi-key it gives me hundreds of thousands of results.

User avatar
DMA

17 Jul 2020, 22:56

Just noticed that "$10" part is a lie. ProMicro alone is $12, and if you're buying things for a single controller the rest is likely $5+. Plus PCB.

User avatar
Redmaus
Gotta start somewhere

17 Jul 2020, 23:02

DMA wrote:
17 Jul 2020, 22:56
Just noticed that "$10" part is a lie. ProMicro alone is $12, and if you're buying things for a single controller the rest is likely $5+. Plus PCB.
Well not if you buy from china https://www.ebay.com/itm/New-Pro-Micro- ... SwVL1V~1dn

kmnov2017

17 Jul 2020, 23:43

DMA wrote:
17 Jul 2020, 22:56
Just noticed that "$10" part is a lie. ProMicro alone is $12, and if you're buying things for a single controller the rest is likely $5+. Plus PCB.
Bollocks ! The pro micro costs 2.5 to 3.5 euros (less if you apply the AliExpress coupons)

Here's a link...

#Aliexpress € 2,60 10%OFF | New Pro Micro ATmega32U4 5V/16MHz Module with 2 row pin header For Leonardo 1PCS
https://a.aliexpress.com/_BP4E5p

The rest of the parts cost me 5 euros locally, unless you want to source these also from JLCPCB, then even less.

The PCB costs exactly 6 euros for 5 pcbs plus 6 euros shipping (to germany) when ordered from JLCPCB.

The philosophy for this project was simple, it had to cost around 10 bucks or there wasnt going to be one.

There is already work underway to get an even cheaper controller.

User avatar
tentator

18 Jul 2020, 00:21

Redmaus wrote:
17 Jul 2020, 22:37

I can't seem to figure out how to order these parts on digi-key. I have never ordered electrical parts online before. What exactly am I searching for? If I put in the designation in digi-key it gives me hundreds of thousands of results.
Yes I agree its always quite painful to order them, since there are so many options and each comes with a different ID etc..

If it helps I can attach here a bom I made with LSCS/Jlcpcb.

But you will have to decide if you want the smd resistors that will fit nicely but are a bit more difficult to solder or the axial resistors which are quite bulky.. No need to order both.. Anyway check it, also I think there might be a couple of things missing like the connector and the male pin headers etc..
LCSC_Exported_20200713_161618_xwhatsit_TH.xlsx
(7.56 KiB) Downloaded 149 times
Kr,
Tent.

pandrew

18 Jul 2020, 21:23

Small QMK update:

I added F122 support based on the top layer picture from kmnov2017.
There's a good chance it won't work out of the box, so if anyone has an f122 (with any type of xwhatsit controller), and
you'd like to test QMK, let me know.

Also I created through_hole variants of all the currently supported keyboards.

Andrei

User avatar
Twst

06 Aug 2020, 15:37

pandrew wrote:
18 Jul 2020, 21:23
Small QMK update:

I added F122 support based on the top layer picture from kmnov2017.
There's a good chance it won't work out of the box, so if anyone has an f122 (with any type of xwhatsit controller), and
you'd like to test QMK, let me know.

Also I created through_hole variants of all the currently supported keyboards.

Andrei
Thank you again!
Had a go at this with my F122, and it works - sort of :D
I will be happy if someone will help me troubleshoot.
tentator wrote:
18 Jul 2020, 00:21
Yes I agree its always quite painful to order them, since there are so many options and each comes with a different ID etc..

If it helps I can attach here a bom I made with LSCS/Jlcpcb.

But you will have to decide if you want the smd resistors that will fit nicely but are a bit more difficult to solder or the axial resistors which are quite bulky.. No need to order both.. Anyway check it, also I think there might be a couple of things missing like the connector and the male pin headers etc..


Kr,
Tent.
Thank you for posting this list. Shame on me to not cross check every component - while it did provide with complete list of what's needed, the DAC was in the worng format. While I wait for the DIP8 replcement I soldered it up with legs to get it working;
dacadapter.jpg
dacadapter.jpg (3.32 MiB) Viewed 9177 times
Hopefully this will not cause any problems in the meantime.
th complete.jpg
th complete.jpg (3.44 MiB) Viewed 9177 times
th f122 mounted.jpg
th f122 mounted.jpg (4.29 MiB) Viewed 9177 times
th f122 mounted top.jpg
th f122 mounted top.jpg (4.69 MiB) Viewed 9177 times

Now for the troubleshooting, here is my F122 PCB top and bottom;
F122 PCB top.jpg
F122 PCB top.jpg (4.68 MiB) Viewed 9177 times
F122 PCB bottom.jpg
F122 PCB bottom.jpg (332.13 KiB) Viewed 9177 times
What happens when I plug the keyboard to the computer it's doing some random key-presses, and not giving anything reliable readout from the util. Guess the auto calibration portion on F122 firmware is not working as it should. However if I hold down a bunch of random keys when plugging the keyboard in it works reliable - just that the keys pressed are not in the correct places in the software and not all keys shows up as registered. Ie pressing "2" shows "1", pressing "D" shows "S" and pressing "K" shows "M" and so on.
I have no idea if this is firmware related - but I did hook it up as per the Model F plug-board. I did triple check this. I can draw up a diagram of how it is hooked up to the controller if needed.
Here is the key press util after I have pressed all the keys on the board;
Calibrated with presses - was pressed.png
Calibrated with presses - was pressed.png (41.34 KiB) Viewed 9177 times

User avatar
Twst

06 Aug 2020, 21:31

All sorted! I had made a stupid mistake hooking it up and there was some tweaking needed in the threshold. Thank you Andrei!!
And a big thanks to everyone working on this project.
F122 is now tested working with this controller ;) Will report back when I have been using it for a couple of days.

My fingers are happy typing again :)

kmnov2017

06 Aug 2020, 21:33

Glad to see so many people reporting their success on these controllers....

gianni

06 Aug 2020, 22:22

Thanks kmnov2017. Accomplishments like this make this website shine. On my f and m and beamsprings I've just been able to remove and clean keycaps, I hope that soon I'll be able to use this controller.

User avatar
tentator

06 Aug 2020, 22:36

Cool Twst! I really like how you solved adapting the DAC size from one to the other format! Genius! :) so happy it works!

User avatar
Twst

07 Aug 2020, 19:23

tentator wrote:
06 Aug 2020, 22:36
Cool Twst! I really like how you solved adapting the DAC size from one to the other format! Genius! :) so happy it works!
Thanks!
I have learned to go with what you have on hand, and it seems to work perfectly ;)


In other news, there is this thing..
It's a machine gun. :shock:

User avatar
Redmaus
Gotta start somewhere

13 Aug 2020, 20:37

Twst wrote:
06 Aug 2020, 15:37
Hopefully this will not cause any problems in the meantime.
Spoiler:
th complete.jpg
th f122 mounted.jpg
th f122 mounted top.jpg
Wow, really good wiring with the striped cables. Also smart workaround for the DAC form factor.
Twst wrote:
07 Aug 2020, 19:23
In other news, there is this thing..
It's a machine gun. :shock:
Wow, super cool. I haven't ever been able to use a solenoid(didn't have the drivers) and I recently failed making my own. This makes me want to try again at higher quantities! :D

With kmnov's help I ordered the components and PCB's a couple weeks ago. The components have been sitting in my room for almost a week while the PCB's are shipped. The following is a build log for two of the controllers minus the pro micro.
A few things to note:
  • Make sure all your components are standard size, I got some 1k resistors that were too large.
  • Be sure to insert IC's correctly. It's pretty easy to get it right when you first try to place it but when you are in the middle of bending pins to make it work you can forget the orientation.
  • The dot on the resistor array needs to align to the square pads on the PCB or else the controller will not work.
Image

Here is the build log with tons of pictures:
Spoiler:
I got my PCB's yesterday from JLC:
Image
Image
Image
Image
Image
I quite like the white soldermask, reminds me of Quantalume's Unsaver restoration. Took about two weeks or so for the PCB's to arrive from time of ordering.

Soldering in the first IC's(yes I realize I soldered one upside down :? )
Image
I soldered the diagonal corners first so the IC's wouldn't fall out:
Image
Image
Resistor array's:
Image
Thanks to kmnov for pointing out that you need the dot on the resistor to align with the square pad on the controller. Otherwise it will not work.
Soldering in the 20K resistors:
Image
Looks like the 1K resistors won't fit!
Image
I decided to file it down in order to reduce the wire circumference:
Image
Image
eyy it worked:
Image
One of them I broke the end off filing:
Image
So I decided to use one of the 20k resistor clippings to save it:
Image
Image
Now for the capacitors:
Image
Image
Image
Image
Image
Looking pretty good so far:
Image
Image
Image
Image

Pro micros have not arrived yet so this will remain empty:
Image
Neat shots:
Image
Image
Image
Image
Image
Two have been made so far:
Image
Waiting for pro micros:
Image
As you saw in one of the first images I soldered in an IC backward, if it wasn't for my desolder station I would not have been able to save it:
Image
I also decided to bridge the end pins of the 100k resistor array's as suggested by listofoptions:
Image
Image
That's it until I get my pro micros. Looking forward to converting some of the many model F's I have on my shelves!

User avatar
DMA

16 Aug 2020, 07:17

@kmnov2017
Why vertical resistors? 3x vertical clearance, but what's the benefit?
Last edited by DMA on 16 Aug 2020, 08:42, edited 1 time in total.

User avatar
zrrion

16 Aug 2020, 07:44

looks cool

wanderhoden

16 Aug 2020, 11:33

good stuff ... a shame i sold my model f ....

frogmaster

01 Oct 2020, 21:28

Hi. I've laid out a version of this for model f at, if anyone is interested. Tested and working fine.
Image

Kicad files and gerbers can be found here:

https://github.com/frogmaster/TH-XWhatsIt-F

Minor change from my tested version is that all resistors are mounted flat, mine had couple vertical ones.

User avatar
dcopellino

01 Oct 2020, 22:18

Great neat job.

User avatar
darkcruix

08 Oct 2020, 19:23

Need to get one finally .... I have a F122 that needs a controller ;)

cakeanalytics

15 Oct 2020, 22:22

Sorry for the completely newbie question...
I'm trying to order all the components on the BOM. However for this one:
U8,U5,U3 DIP-16_W7.62mm 3 74HCT595

The only one I can find on digikey with the correct 7.62mm width is marked obsolete; the rest only has 3 or 4mm width.
https://www.digikey.com/en/products/det ... UArHXVMxQA
Is that actually the case or am I searching for it wrong?

EDIT: just saw Tent's updated LCSC BOM list; never mind

kmnov2017

15 Oct 2020, 22:54

Lookup SN74HC595

User avatar
darkcruix

15 Oct 2020, 23:08

Does anyone have a good source for the ribbon cable between Controller and Sensing PCB?

cakeanalytics

16 Oct 2020, 00:41

Thanks kmnov.
Got a digikey cart in case anyone needs it.
https://www.digikey.com/short/znzprb

pandrew

19 Oct 2020, 05:22

Hello all,

Please be aware that I have pushed changes to rename the "through_hole" firmware to "universal".
This through hole controller is now supported by the QMK firmware variant called "universal"
If you upgrade your firmware you will also need to re-download or re-compile the host-side "util", for it to recognize the new name.
Also, the debounce algorithm has been changed to per-key for all keyboards.

I also added some support for lock lights. Please PM me for details if interested.

To all model F users:
I have doubled the threshold offset, and I bumped the number of calibration bins from 3 to 5.
I know there were a few keyboards out there that were already running with these changes made locally, but these are now the new defaults.

All model F users, please test whether the new version works reliably, and let me know in a PM.

Andrei

pandrew

07 Nov 2020, 19:38

Hey guys!

I added a file called BOM.md to the github repository for Bill Of Materials. It concentrates on the latest revision of the TH, but it also has a section about older revisions. None of the components changed in the latest revision, but some components are not necessary anymore.

I added links only for the distributor called "TME", which is available, and ships fast in the EU.

To anyone who has assembled a TH, could you contribute to the Sources section of this file with your own distributors? It's okay if you don't have links to all the components.

Post Reply

Return to “Workshop”