New Solenoid Driver Available (tested, works!)

pandrew

30 Sep 2020, 13:12

A new solenoid driver design is available, which is JLCPCB assemblable (except the header pins):
solenoid_driver_render.jpg
solenoid_driver_render.jpg (430.16 KiB) Viewed 895 times
Github: Cost analysis:
Prices were valid at JLCPCB at the time of writing.
Prices do not include cost of shipping from JLCPCB, and do not include cost of pin headers, and ribbon cable.
  • 5pcs = 27.50 USD (5.5 USD / piece)
  • 10pcs = 32.64 USD (3.264 USD / piece)
  • 20pcs = 40.60 USD (2.03 USD / piece)
  • 30pcs = 49.32 USD (1.644 USD / piece)
How to order:
  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 from one of the above github repos.
  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 top 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 that all parts say "Confirmed" with a little check box in the final column. If it shows a greyed out "confirm", then some parts may be out of stock. (If parts are out of stock then your options are Wait until it's back in stock / Find equivalent replacement with correct footprint, if it is in the JLCPCB parts library / Redesign the board with a different component / Order the missing part from another supplier and solder it yourself )
  14. Click "Next"
  15. Double-check components look correctly rotated (this is expected to be correct unless JLCPCB makes changes to their system)
  16. Double-check again, that Selected Parts has 15 items, and that Unselected Parts has 0 items.
  17. Save to Cart, Check Out.
Status
I am not planning to sell these.
I ordered a small batch for myself.
Tested version 1.0 with original 5251 beamspring solenoid in 9V mode. WORKS.
Not yet tested with 5V solenoid in 5V mode.
An alternate version 1.0b has been created with a different inductor, it is very likely to work, but version 1.0b has not yet been tested.
EDIT:
The inductor used in version 1.0 is currently in stock on JLCPCB. [nov. 12 2020]
The inductor used in version 1.0b is currently NOT in stock on JLCPCB. [nov. 12 2020]
It used to be the other way around, that's why 1.0b was created.

Sister Projects:
Last edited by pandrew on 16 Nov 2020, 01:38, edited 13 times in total.

User avatar
ZedTheMan

30 Sep 2020, 20:40

Are we certain that we should be using "Assemble Bottom side"? The bottom side does not appear to have any of the SMD components and this seems counter to the directions on jlcpcb.

kmnov2017

30 Sep 2020, 23:42

ZedTheMan wrote:
30 Sep 2020, 20:40
Are we certain that we should be using "Assemble Bottom side"? The bottom side does not appear to have any of the SMD components and this seems counter to the directions on jlcpcb.
It should be the top side...

pandrew

01 Oct 2020, 00:52

Yes, it's top side, sorry about that, I copy-pasted the instructions from the Model F controller one, and forgot to change the side. Edited the original post now.
Last edited by pandrew on 01 Oct 2020, 01:01, edited 1 time in total.

pandrew

01 Oct 2020, 00:56

ZedTheMan, are you gonna build some? If you select express shipping you might get them before I do. I picked Europacket.

pandrew

16 Oct 2020, 23:24

Ladies and gentlemen. I'm typing this message with glorious clickyness from my 5251 original solenoid driven by my solenoid driver!
Here is it in action:
https://www.youtube.com/watch?v=xmrTl5YEVlk
And here is the original xwhatsit solenoid for comparison:
https://www.youtube.com/watch?v=3_ePFhIZfJU

I declare this project a success!

PS The new feature I added for 5V solenoid operation (with the jumpers shorted) still has not been tested yet. But the main feature of 9V operation to drive the higher voltage solenoids works fine!

Here's a picture of the original xwhatsit solenoid driver and my solenoid driver sitting side by side:
original_and_my_solenoid_driver.jpg
original_and_my_solenoid_driver.jpg (141.85 KiB) Viewed 665 times
Last edited by pandrew on 17 Oct 2020, 00:13, edited 2 times in total.

User avatar
Redmaus
Gotta start somewhere

16 Oct 2020, 23:33

Nice! Great to see that we have a new wave of open-source controllers and drivers available for all! Thank you so much andrei!

pandrew

01 Nov 2020, 14:53

Update:
The inductor that I used for version 1.0 went out of stock a few days ago, and right now it's in stock, but they have very low amounts (right now only 12 pieces left in stock).

So I made an alternate version 1.0b of the design here:
https://github.com/purdeaandrei/Solenoi ... not_tested
It uses a smaller inductor that has higher quantities in stock. This alternate version will probably work, but it has not been tested.

Being a smaller inductor, its DC resistance is higher, and its saturation current is lower. So its more likely to not be able to deliver enough current, and it's more likely to heat up too much while constantly powering the coil. However given that we are using this in an application where we are explicitly limiting current to <500mA to protect the USB port, and the saturation current of this new inductor is 3A, i would say that it is highly likely that it will work just as well as version 1.0.

I am not currently ordering any version 1.0bs for myself.
There are 5 pcs of version 1.0b headed my way, so I will be testing it.

Razerban

12 Nov 2020, 00:07

First of all, I would like to thank you for all the boards you make and publish.
I have already ordered several v1.0 PCBs from JLCPCB (they have restocked the inductor as of today) and I'm looking for a solenoid that would be compatible with the driver board.
Have you been able to test it with any commercially available solenoid ?
Is there a compatibility list for solenoids that work with the v1.0 ?

kmnov2017

12 Nov 2020, 00:10

Razerban wrote:
12 Nov 2020, 00:07
First of all, I would like to thank you for all the boards you make and publish.
I have already ordered several v1.0 PCBs from JLCPCB (they have restocked the inductor as of today) and I'm looking for a solenoid that would be compatible with the driver board.
Have you been able to test it with any commercially available solenoid ?
Is there a compatibility list for solenoids that work with the v1.0 ?
All solenoids rated from 5v up to 9v will work

cakeanalytics

12 Nov 2020, 00:42

Razerban wrote:
12 Nov 2020, 00:07
First of all, I would like to thank you for all the boards you make and publish.
I have already ordered several v1.0 PCBs from JLCPCB (they have restocked the inductor as of today) and I'm looking for a solenoid that would be compatible with the driver board.
Have you been able to test it with any commercially available solenoid ?
Is there a compatibility list for solenoids that work with the v1.0 ?
Ellipse is making some new ones. From the video it sounds awesome.
https://www.modelfkeyboards.com/store/

Razerban

12 Nov 2020, 01:31

cakeanalytics wrote:
12 Nov 2020, 00:42
Razerban wrote:
12 Nov 2020, 00:07
First of all, I would like to thank you for all the boards you make and publish.
I have already ordered several v1.0 PCBs from JLCPCB (they have restocked the inductor as of today) and I'm looking for a solenoid that would be compatible with the driver board.
Have you been able to test it with any commercially available solenoid ?
Is there a compatibility list for solenoids that work with the v1.0 ?
Ellipse is making some new ones. From the video it sounds awesome.
https://www.modelfkeyboards.com/store/
Thanks for the links.
I've seen the product page about two weeks ago but I find $30 for a solenoid to be expensive.
Also I'm located in France, so I need to add...Image
$55.80 for shipping... Wait, WHAT???

cakeanalytics

12 Nov 2020, 01:47

Razerban wrote:
12 Nov 2020, 01:31
Thanks for the links.
I've seen the product page about two weeks ago but I find $30 for a solenoid to be expensive.
Also I'm located in France, so I need to add...Image
$55.80 for shipping... Wait, WHAT???
That shipping quote is probably for the new Model F keyboard itself. I'm sure you can contact Ellipse for a custom shipping rate for just the solenoids.

pandrew

12 Nov 2020, 02:51

kmnov2017 wrote:
12 Nov 2020, 00:10
Razerban wrote:
12 Nov 2020, 00:07
First of all, I would like to thank you for all the boards you make and publish.
I have already ordered several v1.0 PCBs from JLCPCB (they have restocked the inductor as of today) and I'm looking for a solenoid that would be compatible with the driver board.
Have you been able to test it with any commercially available solenoid ?
Is there a compatibility list for solenoids that work with the v1.0 ?
All solenoids rated from 5v up to 9v will work
Correct, but just to add more info:
- I only tested with the original solenoid in the IBM 5251.
- By default the board will be in 9V mode just like the original xwhatsit solenoid controller, so should support everything the original xwhatsit controller supports.

WARNING: EVERYTHING ELSE THAT FOLLOWS IS SPECULATION ON MY SIDE.
I HAVE NOT YET TESTED ANY OF THESE OPTIONS
I COULD VERY WELL BE WRONG ABOUT WHAT I'M SAYING

- Solenoids that are rated at slightly above 9V might still click, but click weaker
- Solenoids that are rated alot above 9V will likely not even click
- You can modify the feedback resistors on the board, and in theory you could configure it to run at up to 12V by changing the resistors, but this has not been tested.
- For solenoids rated < 9V, it is likely gonna work fine. By its design the solenoid driver can't deliver more then 2.5W into the solenoid (500mA * 5V), but counting the losses, and the fact that the current limiter kicks in at less then 500mA, and that we're not driving a resistive load, it's likely a lot less than 2.5W. The solenoid is just a coil. If a 2W resistor is this size: https://www.avrfreaks.net/sites/default ... %252B7.JPG, then any reasonably sized solenoid that you use to generate clicks will be able to dissipate that. Especially given, that it's only getting short impulses for every keypress. What you care about to avoid damage to the solenoid, average power consumption over time, and since you're only powering it for short clicks, the average is a lot lower then the instantaneous power dissipation. Even a 5V solenoid, if it's not like super tiny, I expect it would work fine even in 9V mode.
- This solenoid driver has a 5V mode (that you can enable by putting a solder blob on the two pads), that disables the DC-DC converter, so all that is enabled is the current limiting feature. Not yet tested. Not sure if it's gonna be useful at all in the long run. It may be that you won't notice a difference with an 5V solenoid in 5V vs 9V mode, and you're only wasting electricity by running it in 9V mode. It maybe that you notice a difference in snappyness. It isn't necessarily true that 9V will be faster than 5V. It's possible that 5V will be faster, because at 9V it will turn off slower.

Something super tiny like this: https://www.aliexpress.com/item/3304625 ... 4c4d6EmQN8
It has a 0.15W power rating.
If you put the driver into 5V mode, having 27 ohm DC resistance, there will be 0.185mA of current running through it, so 0.92W.
That sounds bad, but it's only bad if you run it continuously. I guess there is risk that you could kill it if the controller freezes, or if you wire it wrong, and it ends up being constantly on. But normally when you type, and it clicks, it won't have that current constantly going through it. Also coils resist change in current, so when it clicks, it will not be drawing 0.185 mA for the whole time that it's actuated. You could probably heat this one up, if you configure the dwell time really high, and type on it constantly. But my intuition tells me that if you use it with a short dwell time, like most people want to, in order to not loose clicks, it's probably gonna be fine. One test, I will do when I receive this, is type with it gibberish, really fast, and put my finger on the solenoid to see if I can feel it heating up. If I can feel it heating up, it's not a good sign.

The other thing to pay attention to when selecting a solenoid is things like:
1) Don't get a two-way solenoid like this: https://www.aliexpress.com/item/4000466 ... 4c4d6EmQN8
At least not with this solenoid driver. These have two stable positions, and you switch state, by pulsing the solenoid, but you have to be able to change the current direction on it, and these drivers can't.
I may do a version if the future that can drive these, for fun. You know the normal solenoids actuate to click, and when released the spring pulls them back into their normal position, and so they actually generate two really fast successive clicks. So I'm thinking using one of these solenoids might provide a cleaner sound, since we can click them only once. It's an experiment I want to do eventually. But don't use them for these drivers!.

2) You might find just electromagnets that are advertised as solenoids. Don't buy those.

3) Some solenoids might not have returns springs, expecting return forces to be generated on the outside. Well if you find these, you can buy them but you will have to work more on making them click and return properly (add a spring, etc...).

4) Some solenoids will not have a return stop. Meaning the core can fall out of them. If you buy one of these, you will have to do some work to mount them in a way the core can't fall out. See for example this one: https://www.aliexpress.com/item/4000403 ... 4c4dVuQ7tq Look at the video to see the core just falling out.

5) If the solenoid has a really long throw, it might be better for moving things mechanically, and not so good for clicking because it will be sluggish. Will need bigger dwell time to click, and that will slow it down. You can physically shorten the throw distance with and external bracket, like Ellipses solenoid, and that will make it snappier. The more you shorten it, the less distance it has to accelerate, so it might crash with a lower speed and produce less noise, so there's a tradeoff. If you trake a look at IBM's original solenoids, they are configured for a really short throw distance.
The only solenoids I've seen so far with somewhat adjustable brackets were Ellipses ( https://www.modelfkeyboards.com/product ... ontroller/ ) , and this one from ebay: https://www.ebay.co.uk/itm/0837L-06K-6V ... 2749.l2649
If you find others, please post links.
Ellipse says on his website "This solenoid is not the one that’s available on eBay, though it looks similar and the voltage and resistance specs are the same. Also that other model doesn’t have the adjustable throw – you would have to spend time milling the strike bar to modify it for correct usage with the solenoid drivers. " (and there's a lot more info, it's really worth reading his full page here, scroll down: https://www.modelfkeyboards.com/product ... ontroller/ ) -- I don't know which ebay solenoid he's referring to, but the one I'm linking to looks like it has a small degree of adjustability. See the oval holes for the screws. But I think Ellipses throw distance is much more adjustable. I don't think the ebay one can do 1mm without enlarging the oval holes on the L bracket.
Other than adjustable bracket, what you could do is to just mount the solenoid against some piece of the keyboard, so it bangs on the case or something else when it's deactivated and the spring returns it into the resting position. But not sure, I wouldn't make it bang against plastic, I'm afraid that many impacts might end up cracking it. And for soft metal, like the beamspring sheet metals they used, it might end up deforming it over time.
The great thing about Ellipses solenoids is that they appear to be completely plug and play, and the only other plug and play solution is to use original solenoids from IBM keyboards.

I have ordered a selection of various solenoids from Aliexpress for my own fun and play, so I may come back in the future with more stronger opinions, but again:

WARNING: EVERYTHING I HAVE SAID HERE IS SPECULATION
I HAVE NOT YET TESTED ANY OF THESE OPTIONS
I COULD VERY WELL BE WRONG ABOUT WHAT I'M SAYING

Razerban

12 Nov 2020, 10:36

pandrew wrote:
12 Nov 2020, 02:51
kmnov2017 wrote:
12 Nov 2020, 00:10
Razerban wrote:
12 Nov 2020, 00:07
First of all, I would like to thank you for all the boards you make and publish.
I have already ordered several v1.0 PCBs from JLCPCB (they have restocked the inductor as of today) and I'm looking for a solenoid that would be compatible with the driver board.
Have you been able to test it with any commercially available solenoid ?
Is there a compatibility list for solenoids that work with the v1.0 ?
All solenoids rated from 5v up to 9v will work
Correct, but just to add more info:
- I only tested with the original solenoid in the IBM 5251.
- By default the board will be in 9V mode just like the original xwhatsit solenoid controller, so should support everything the original xwhatsit controller supports.

WARNING: EVERYTHING ELSE THAT FOLLOWS IS SPECULATION ON MY SIDE.
I HAVE NOT YET TESTED ANY OF THESE OPTIONS
I COULD VERY WELL BE WRONG ABOUT WHAT I'M SAYING

- Solenoids that are rated at slightly above 9V might still click, but click weaker
- Solenoids that are rated alot above 9V will likely not even click
- You can modify the feedback resistors on the board, and in theory you could configure it to run at up to 12V by changing the resistors, but this has not been tested.
- For solenoids rated < 9V, it is likely gonna work fine. By its design the solenoid driver can't deliver more then 2.5W into the solenoid (500mA * 5V), but counting the losses, and the fact that the current limiter kicks in at less then 500mA, and that we're not driving a resistive load, it's likely a lot less than 2.5W. The solenoid is just a coil. If a 2W resistor is this size: https://www.avrfreaks.net/sites/default ... %252B7.JPG, then any reasonably sized solenoid that you use to generate clicks will be able to dissipate that. Especially given, that it's only getting short impulses for every keypress. What you care about to avoid damage to the solenoid, average power consumption over time, and since you're only powering it for short clicks, the average is a lot lower then the instantaneous power dissipation. Even a 5V solenoid, if it's not like super tiny, I expect it would work fine even in 9V mode.
- This solenoid driver has a 5V mode (that you can enable by putting a solder blob on the two pads), that disables the DC-DC converter, so all that is enabled is the current limiting feature. Not yet tested. Not sure if it's gonna be useful at all in the long run. It may be that you won't notice a difference with an 5V solenoid in 5V vs 9V mode, and you're only wasting electricity by running it in 9V mode. It maybe that you notice a difference in snappyness. It isn't necessarily true that 9V will be faster than 5V. It's possible that 5V will be faster, because at 9V it will turn off slower.

Something super tiny like this: https://www.aliexpress.com/item/3304625 ... 4c4d6EmQN8
It has a 0.15W power rating.
If you put the driver into 5V mode, having 27 ohm DC resistance, there will be 0.185mA of current running through it, so 0.92W.
That sounds bad, but it's only bad if you run it continuously. I guess there is risk that you could kill it if the controller freezes, or if you wire it wrong, and it ends up being constantly on. But normally when you type, and it clicks, it won't have that current constantly going through it. Also coils resist change in current, so when it clicks, it will not be drawing 0.185 mA for the whole time that it's actuated. You could probably heat this one up, if you configure the dwell time really high, and type on it constantly. But my intuition tells me that if you use it with a short dwell time, like most people want to, in order to not loose clicks, it's probably gonna be fine. One test, I will do when I receive this, is type with it gibberish, really fast, and put my finger on the solenoid to see if I can feel it heating up. If I can feel it heating up, it's not a good sign.

The other thing to pay attention to when selecting a solenoid is things like:
1) Don't get a two-way solenoid like this: https://www.aliexpress.com/item/4000466 ... 4c4d6EmQN8
At least not with this solenoid driver. These have two stable positions, and you switch state, by pulsing the solenoid, but you have to be able to change the current direction on it, and these drivers can't.
I may do a version if the future that can drive these, for fun. You know the normal solenoids actuate to click, and when released the spring pulls them back into their normal position, and so they actually generate two really fast successive clicks. So I'm thinking using one of these solenoids might provide a cleaner sound, since we can click them only once. It's an experiment I want to do eventually. But don't use them for these drivers!.

2) You might find just electromagnets that are advertised as solenoids. Don't buy those.

3) Some solenoids might not have returns springs, expecting return forces to be generated on the outside. Well if you find these, you can buy them but you will have to work more on making them click and return properly (add a spring, etc...).

4) Some solenoids will not have a return stop. Meaning the core can fall out of them. If you buy one of these, you will have to do some work to mount them in a way the core can't fall out. See for example this one: https://www.aliexpress.com/item/4000403 ... 4c4dVuQ7tq Look at the video to see the core just falling out.

5) If the solenoid has a really long throw, it might be better for moving things mechanically, and not so good for clicking because it will be sluggish. Will need bigger dwell time to click, and that will slow it down. You can physically shorten the throw distance with and external bracket, like Ellipses solenoid, and that will make it snappier. The more you shorten it, the less distance it has to accelerate, so it might crash with a lower speed and produce less noise, so there's a tradeoff. If you trake a look at IBM's original solenoids, they are configured for a really short throw distance.
The only solenoids I've seen so far with somewhat adjustable brackets were Ellipses ( https://www.modelfkeyboards.com/product ... ontroller/ ) , and this one from ebay: https://www.ebay.co.uk/itm/0837L-06K-6V ... 2749.l2649
If you find others, please post links.
Ellipse says on his website "This solenoid is not the one that’s available on eBay, though it looks similar and the voltage and resistance specs are the same. Also that other model doesn’t have the adjustable throw – you would have to spend time milling the strike bar to modify it for correct usage with the solenoid drivers. " (and there's a lot more info, it's really worth reading his full page here, scroll down: https://www.modelfkeyboards.com/product ... ontroller/ ) -- I don't know which ebay solenoid he's referring to, but the one I'm linking to looks like it has a small degree of adjustability. See the oval holes for the screws. But I think Ellipses throw distance is much more adjustable. I don't think the ebay one can do 1mm without enlarging the oval holes on the L bracket.
Other than adjustable bracket, what you could do is to just mount the solenoid against some piece of the keyboard, so it bangs on the case or something else when it's deactivated and the spring returns it into the resting position. But not sure, I wouldn't make it bang against plastic, I'm afraid that many impacts might end up cracking it. And for soft metal, like the beamspring sheet metals they used, it might end up deforming it over time.
The great thing about Ellipses solenoids is that they appear to be completely plug and play, and the only other plug and play solution is to use original solenoids from IBM keyboards.

I have ordered a selection of various solenoids from Aliexpress for my own fun and play, so I may come back in the future with more stronger opinions, but again:

WARNING: EVERYTHING I HAVE SAID HERE IS SPECULATION
I HAVE NOT YET TESTED ANY OF THESE OPTIONS
I COULD VERY WELL BE WRONG ABOUT WHAT I'M SAYING
Thanks for the detailed explanation.
I think that the ebay solenoid Ellipse is referring to is the one you linked. (Found the same one on Aliexpress: https://www.aliexpress.com/item/1005001619624832.html).
I've found this video on Youtube of someone using the xwhatsit solenoid driver with what appears to be the ebay solenoid (black outer covering): https://www.youtube.com/watch?v=xtCcm7GUAtg
I would imagine that that solenoid works fine with this board too.
I have sent a PM to Ellipse about a more cost friendly shipping option on reddit. I'll update once I get news from him.

Update:
I've checked with Ellipse and shipping to France is $29. So it would cost me $59 for a solenoid which is absurdly expensive.

User avatar
ro0llo

21 Nov 2020, 22:17

oh nice will order that one from ali. the stock solenoid in my 3277 is to quit for my liking when comparing it with 5251s.

Post Reply

Return to “Workshop”