New Compact Beamspring controller available


13 Sep 2020, 03:54

n20200913_032641.jpg (3.17 MiB) Viewed 793 times
This design is based on the TH Xwhatsit ( viewtopic.php?t=23406 ) except it uses mostly SMD components that can be assembled by JLCPCB.

You can get this controller in one of the following ways:
  1. Get it from me fully assembled
  2. Get it from JLCPCB semi-assembled, and you solder the card edge connector, the Pro Micro, 90degree 2x3pin header, and ground wire.
The design is available in the following repository:
These boards at the moment only support QMK firmware for xwhatsit controller, and don't support original xwhatsit firmware. (Which is not an issue, especially because QMK firmware has superior stability)
The QMK firmware variant that supports these keyboards is "/universal" (used to be "/through_hole", but renamed).
Please PM me for details about the QMK firmware (currently running in closed beta).

Option 1. Get it from me
  1. Contact me in PM to check if I still have enough on stock, and to reserve the controller(s) for you.
  2. When I give you the go-ahead, donate 30 USD * (number of beamspring controller(s)) to MS Research Australia via the following link: ... undraiser/
    * Note: The website is Australian, and donation amounts are in AUD (even though all it says is "$", so it's a bit confusing), so please check the exchange rate. At the time of writing 30 USD is around 42 AUD.
    * Note2: I am not affiliated with this charity, I see none of this money, and I've never been in Australia. I have picked this charity because I have acquaintances suffering from MS, this organization seem to be collecting money exclusively for research, and I can set up this convenient fundraiser website, where I can keep track of anyone who donated for this purpose.
    * Note3: Please do not donate before I give you the go-ahead. I may not have enough boards on stock, or if I do they may not be assembled and waiting for components to be delivered. If you donate without me giving you the go-ahead I can not guarantee to ship your boards.
  3. Let me know when your donation successfully went through, so I can check, and PM me your shipping address.
  4. I will send you, as a thank you, Compact Beamspring controller(s).
  5. Note: for all of the boards I send out I do this procedure to make the card edge connectors reliable: viewtopic.php?f=7&t=24511 These card edge connectors will be much more reliable than unmodified ones, and will not require sheets of paper to be inserted on the sides (like non-modded connectors sometimes require). Also be aware that it will require considerable force the mount, and unmount the controllers, similar to untouched original controllers.
Option 2. Get it from JLCPCB partially assembled
Please expand the spoilers below to learn about how to order from JLCPCB:
Option 2 makes more financial sense if you need more than 3 controllers, or after I run out of all stock.
You will find all the files you need to order partially assembled boards from JLCPCB in the above github link.
The main design lives in the CompactBeamspring folder, but while this design PCB can be built, it cannot be assembled, because JLCPCB assembly has miminum size requirements that we don't meet.

In order to meet the minimum size requirements, the following panelized designs are available:
  • CompactBeamspringP1 -- It's a panel of 1 board, adds some extra throw-away padding that can be broken off after assembly. This one is only useful if building 5 boards.
  • CompactBeamspringP2 -- this is a panel of 2 boards, rotated to occupy space efficiently. Use this if you are building 10 or more boards.
To order from JLCPCB, please follow these steps:
  1. Go to
  2. Sign in to your account
  3. Go to Quote Now / Order Now
  4. Upload CompactBeamspringP[01]/CompactBeamspringP[12].zip
  5. Select PCB Qty
  6. If building the P2 variant, select Panel by Customer, and Panel Format x = 1 y = 2
  7. Remove Order Number set to Specify a location
  8. Leave all other PCB settings at default.
  9. Scroll down SMT Assembly and turn it on
  10. Select “Assemble bottom side”
  11. Tooling holes: select Added by Customer
  12. Confirm
  13. Click Add BOM File, and upload the file from CompactBeamspringP[12]/CompactBeamspringP[12]/CompactBeamspringP[12]_bom_jlc.csv
  14. Click Add CPL File, and upload the file from CompactBeamspringP[12]/CompactBeamspringP[12]/CompactBeamspringP[12]_cpl_jlc.csv
  15. Click Next
  16. Check for any parts not in stock. If there’s anything not in stock, select replacement.
  17. Click Next
  18. Double check there’s nothing in the Unselected Parts. Double check the component placement looks roughly right. It is okay if R6, R7, and R8 are not placed. (The version at the time of writing doesn’t have these populated)
  19. Save to Cart, Checkout securely
You will also need to order the following additional components: Cost Analysis, showing 2 examples, Prices valid only at the time of writing:
-- not counting further costs such as soldering labor, modding the card edge connector for added tightness labor, soldering consumables, grounding crimp wire.
  1. Almost lowest possible quantity [5pcs]: (note: it's also possible to order 5pcbs, but have only 2 assembled by JLCPCB. This option is not considered here, only the 5pcs all 5 boards assembled option is considered)
    1. JLCPCB PCB + Assembly of most components (this is using the P1 panel) = 41.09 USD
    2. 6 pcs 72-pin Type B Card edge connectors = 8.64 USD ( you only need 5, but the multiplier is 3 in the above aliexpress link)
    3. 10 pcs 90degree 2x3pin headers = 1.02 USD (you only need 5, but the multiplier in the above aliexpress link is 10)
    4. 5 pcs 5V 16MHz Pro Micros = 12.95 USD
    5. Shipping (Estimated) for all orders. May be different depending on country. = 37.84 USD
    So at the time of writing you could build 5 pieces for around 102 USD, but higher amounts have much better economies of scale.
  2. Quantity of 30
    1. JLCPCB PCB + Assembly of most components 15 * using the P2 panel, for a total of 30pcs = 95.5 USD
    2. 30pcs 72-pin Type B Card edge connectors = 43.2 USD
    3. 30pcs 90degree 2x3pin headers = 3.06 USD
    4. 30pcs pro micros = 77.7 USD
    5. Shipping (Estimated) for all orders. May be different depending on country. = 37.84 USD
    So at the time of writing you could build 30 pieces for around 258 USD, but keep in mind that there is a lot of manual labor involved with soldering, cutting connectors, bending pins for high reliability, etc...
Final assembly, if you order partially assembled from JLCPCB
  • First I recommend following this guide in order to mod the Card Edge connectors to be properly tight:
  • On this design the card edge connector pins have to be bent 90 degrees for through-hole mounting. Bend the bottom row first:
    (NOTE: These images are for illustrative purposes only. These are not the same card edge connectors that ship from AliExpress)
    20200812_173056.jpg (66.06 KiB) Viewed 793 times
    Then bend the top row:
    20200812_173113.jpg (73.1 KiB) Viewed 793 times
    Then insert the connector in the holes (may require a little bit of wiggling to get all pins through),
    and solder both the pins poking through on the other side, and also add solder to connect the top and bottomg rows:
    20200812_173139.jpg (65.82 KiB) Viewed 793 times
  • For the solenoid connector please make sure that you use 90-degree pin headers, because some beamsprings such as the 3101 don't have enough space for the vertical pin headers, due to the dip switch cage on the top case.
  • The Pro Micros can be soldered with or without pin headers. For the first batch I chose to solder them without, and paid fine attention to how the solder was wicked between the drill holes. If you are not confident with your soldering skills I recommend you use pin headers.
    See the final spoilers from this post for ideas about how to cut the long side of the pin headers: viewtopic.php?p=472661#p472661
  • the J1 pads on the Pro Micros MUST be shorted.
Mounting on keyboard
  • The right side of the card edge connector has a wider hole then where the sense PCB ends, so when mounting it please don't align the edge of the hole in the plastic with the sense PCB, but instead please align the pin centers. Furthermore I recommend aligning the center pin of the connector with the center pin of the sense PCB for best alignment.
  • If the connector pins are modded like described here: viewtopic.php?f=7&t=24511 (all of the boards I send out are modded), then the connectors will be much more reliable, but also the connectors will be pretty tight, and will require significant force to slide onto the sense PCB, and to remove it. When removing it, I recommend grabbing the connector plastic corner that is close to the grounding wire, with needle nose pliers, and pulling with those. The forces you need to use to will be pretty high, but as long as you keep the forces in the same plane as the sense PCB, there is no danger.
Last edited by pandrew on 19 Oct 2020, 05:25, edited 13 times in total.

User avatar

13 Sep 2020, 04:09

Absolutely amazing work done here. QMK support for Beamspring is a godsend. I have been waiting a very long time to restore mine and this is a great time to grab a controller.

PMing for a preassembled one and for a donation (of course).

Are solenoid controllers a separate ordeal? Are there plans as well?

In any case, this is great!!


13 Sep 2020, 04:19

LightningXI wrote:
13 Sep 2020, 04:09
Are solenoid controllers a separate ordeal? Are there plans as well?
An as of yet untested design that is JLCPCB assemblable has been drawn for a solenoid controller, but it has not been ordered yet, and it will take some time to test it and iron out the bugs once we do.

Also I can already hear the same question coming in about model F and displaywriter. There was some work on this but a design is not complete yet, no ETA. In the meantime the TH design supports those, except it still needs some tweaks to the layout of the plugboards. People have used the TH design in model Fs, but the experience wasn't yet as smooth as possible, when it comes to soldering wires / positioning the TH controller in the little space available in smaller Fs. Some people have elected to skip the plugboard, and solder wires directly to the controller board.


User avatar

13 Sep 2020, 04:29

Thanks for the informative response, Andrei.

I will be looking to use one of these to restore a 3278, so I very much look forward to it. I will be sure to support you and the rest of the team's work when a solenoid controller is ready. In no rush but very glad that this is moving forward nonetheless.

User avatar
Gotta start somewhere

13 Sep 2020, 19:22

Great work Andrei, too bad my 3101 is already converted. Can't wait for the model F variants to come!


30 Sep 2020, 13:15

1) Model F controller design available (not yet built, but very likely that it will work out-of-the-box)
2) Solenoid driver design available: (not yet built, likelyhood of the first revision working out-of-the-box is lower then for the Model F controller)


08 Oct 2020, 00:52

Hey guys, I have a few updates:

1) I have got a new batch of card edge connectors, and noticed that there are two types. See the difference on the latest posts from here: viewtopic.php?f=7&t=24511&p=472660
At the time of writing I have 5 boards with light blue connectors on stock, and 12 board with dark blue connectors.
I will send out the light blue ones first (which I consider better), unless you ask for dark blue.
All the boards sent out so far were of the light blue connector variety.

2) I got a new batch of cheaper Pro Micros from this aliexpress listing: ... 4c4dMsOo6X
All the 5 Pro Micros I tested from this batch appear to be perfectly fine, the only slightly weird thing I noticed is that the slikscreen says "pro Mlcro" with an "L" rather then "Pro Micro", but that won't affect functionality.
pro_mlcro.jpg (32.05 KiB) Viewed 336 times
3) So far I have send out boards on which the pro micro is soldered directly to the mainboard, without pinheaders, by allowing the solder to wick through the perfectly lined up holes. I did this mainly because the pin headers the Pro Micros came with were the kind that are longer on one side, and soldering with them directly, the pins would have been way too tall on the top, or if trimming them, I didn't have a way to trim them evenly, so the result would have been ugly.

However I found a way to trim them more or less evenly with my existing tools, so new boards will all be soldered with pin headers. (I think this way it will be easier to desolder, if you need to change the Pro Micro after an accident with a broken off USB port.)

Expand the spoilers below if you want to see pictures of how I trim the pin headers:
1) I made myself a spacer from FR4 perfboard. (don't use the paper laminated stuff because it's too brittle)
pin_header_and_spacer_from_fr4_perf_board.jpg (1.41 MiB) Viewed 336 times
2) Put the long side into the spacer
pinheader_long_side_inserted_in_spacer.jpg (1.37 MiB) Viewed 336 times
3) Feed the pins through the sheet metal cutting scissors. Make sure the spacer touches the blades at around 45 degres. While closing the blades, apply light pressure to the pin header, to make sure the pins don't pop out of the spacer, and that the spacer keeps touching the sides of the blades.
sheet_metal_cutting_scissors.jpg (1.16 MiB) Viewed 336 times
trimmed_pins_with_spacer.jpg (1.56 MiB) Viewed 336 times
This results in a more-or-less uniform trim
trimmed_pins_after_spacer_removed.jpg (1.62 MiB) Viewed 336 times


19 Oct 2020, 05:16

Hello all,

Please be aware that I have pushed changes to rename the "through_hole" firmware to "universal".
This compact beampring 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.

Post Reply

Return to “Group buys”