Xwhatsit solenoid driver alternative
-
- Location: Germany
- Main keyboard: Model F77
- Main mouse: Logitech MX Master 3S
- Favorite switch: Alpaca V2
I thought this needs mentioning, you can use a 50 cent relay to drive the solenoid. Yes that’s all one needs!
Earlier this year, I tried to assemble a few solenoid drivers but abandoned the project as SMD soldering needs ninja soldering skills. So with a bit of research and reading around, the idea of a relay came along. A few weeks ago user ZedTheMan wrote to me that he already used a relay to get his solenoid running on his beamspring.
So what exactly is a relay? A relay is basically a device that triggers power on and off to a connected device. The input to trigger on/off will still come from the keyboard controller (Xwhatsit, Cypress, Arduino....). The device in this case is the actual solenoid. However, beamspring solenoids are rated at 8.5V - which means you can’t power it natively with USB. To get 8.5/9V you will need either an external power source (like a wall adapter or an external battery) OR boost the 5V output from USB to 9V using a DC DC boost converter (costs around 1 EUR).
That’s all one needs to get the solenoid working - 1.5 euros worth of parts. And now that one thinks of it, I wonder why xwhatsit didn’t just recommend using off the shelf products for the solenoid driver.
Earlier this year, I tried to assemble a few solenoid drivers but abandoned the project as SMD soldering needs ninja soldering skills. So with a bit of research and reading around, the idea of a relay came along. A few weeks ago user ZedTheMan wrote to me that he already used a relay to get his solenoid running on his beamspring.
So what exactly is a relay? A relay is basically a device that triggers power on and off to a connected device. The input to trigger on/off will still come from the keyboard controller (Xwhatsit, Cypress, Arduino....). The device in this case is the actual solenoid. However, beamspring solenoids are rated at 8.5V - which means you can’t power it natively with USB. To get 8.5/9V you will need either an external power source (like a wall adapter or an external battery) OR boost the 5V output from USB to 9V using a DC DC boost converter (costs around 1 EUR).
That’s all one needs to get the solenoid working - 1.5 euros worth of parts. And now that one thinks of it, I wonder why xwhatsit didn’t just recommend using off the shelf products for the solenoid driver.
- ZedTheMan
- Location: Central US
- Main keyboard: IModel F77/IBM 3101/Omnikey 102/96Kee
- Main mouse: Logitech G430/Logitech M570/Kensington Expert
- Favorite switch: Beamsprings. Alps SKCM Blue, Capacitive Buckling S
- DT Pro Member: 0219
I'm going to purchase a DC DC boost converter, and test out to see if that can be used to replace my 9v battery.
-
- Location: Germany
- Main keyboard: Model F77
- Main mouse: Logitech MX Master 3S
- Favorite switch: Alpaca V2
So here's how the schematics look
Updated: Added a Diode for safety.
Notice the Labels on the Relay. It is IMPORTANT that you connect the cables correctly. The sequence of pins will differ by manufacturer. For the output you will need to connect to "COM" and "NO". This is assuming you are using a Low Level Relay. Some relays will have a jumper to set High Level or Low level. Set jumper to Low Level Relay.
Input labels should read GND, VCC and IN or DC-, DC+ and IN.
Special thanks to user: ListofOptions for reviewing the circuit and ZedtheMan for the initial proof of concept
Updated: Added a Diode for safety.
Notice the Labels on the Relay. It is IMPORTANT that you connect the cables correctly. The sequence of pins will differ by manufacturer. For the output you will need to connect to "COM" and "NO". This is assuming you are using a Low Level Relay. Some relays will have a jumper to set High Level or Low level. Set jumper to Low Level Relay.
Input labels should read GND, VCC and IN or DC-, DC+ and IN.
Special thanks to user: ListofOptions for reviewing the circuit and ZedtheMan for the initial proof of concept
Last edited by kmnov2017 on 18 Nov 2019, 01:08, edited 5 times in total.
- ZedTheMan
- Location: Central US
- Main keyboard: IModel F77/IBM 3101/Omnikey 102/96Kee
- Main mouse: Logitech G430/Logitech M570/Kensington Expert
- Favorite switch: Beamsprings. Alps SKCM Blue, Capacitive Buckling S
- DT Pro Member: 0219
Ive been working with kmnov on this. I should be able to start testing on Monday when DC DC boost converters come in.
I am willing to be the guinea pig to see if we can get this working without the USB external power as well. If it breaks a cypress, It'll suck but I will get another.
I am willing to be the guinea pig to see if we can get this working without the USB external power as well. If it breaks a cypress, It'll suck but I will get another.
- DMA
- Location: Seattle, US
- Main keyboard: T420
- Main mouse: Trackpoint
- Favorite switch: beamspring
- DT Pro Member: NaN
- Contact:
Erhm.. please don't drive inductive loads from GPIO. You'll fry the GPIO. They'e specced for 4mA source current and you're trying to pull SEVENTY, if datasheet doesn't lie: http://www.circuitbasics.com/wp-content ... asheet.pdf
The important parts of xwhatsit's solenoid driver is that it's a 9V boost converter with an input current limiter, huge-ass capacitor behind it, and 9V solid-state relay.
If you absolutely detest SMD components (they aren't that hard to solder, btw - just get a good iron and a lot of flux) - there are thru-hole versions for most of the stuff. Not current limiter though.
There are 2 reasons not to use "off-the-shelf products":
1) space.
2) cost - those modules were much more expensive back in the day. Although I've heard there are small prototype PCBA services nowadays which don't mind assembling small runs and have standard component library so you don't even need to source components. I forgot the name but will ask around.
The important parts of xwhatsit's solenoid driver is that it's a 9V boost converter with an input current limiter, huge-ass capacitor behind it, and 9V solid-state relay.
If you absolutely detest SMD components (they aren't that hard to solder, btw - just get a good iron and a lot of flux) - there are thru-hole versions for most of the stuff. Not current limiter though.
There are 2 reasons not to use "off-the-shelf products":
1) space.
2) cost - those modules were much more expensive back in the day. Although I've heard there are small prototype PCBA services nowadays which don't mind assembling small runs and have standard component library so you don't even need to source components. I forgot the name but will ask around.
-
- Location: Germany
- Main keyboard: Model F77
- Main mouse: Logitech MX Master 3S
- Favorite switch: Alpaca V2
Personally I prefer to use a solid state relay as well. The diagram only represented the wiring against relay pins, I'll change it to a solid state relay. Also, I'll use a parallel usb for the source of power for the relay.
- DMA
- Location: Seattle, US
- Main keyboard: T420
- Main mouse: Trackpoint
- Favorite switch: beamspring
- DT Pro Member: NaN
- Contact:
I was a bit incorrect - relay is high-side, so it will work with a power supply capable of delivering solenoid's "on" current (the "don't drive relay from GPIO" part still stands)kmnov2017 wrote: 17 Nov 2019, 22:50 Personally I prefer to use a solid state relay as well. The diagram only represented the wiring against relay pins, I'll change it to a solid state relay. Also, I'll use a parallel usb for the source of power for the relay.
Boost converter, especially powered from the same USB socket, and especially not having a big buffer capacitor, will not be amused by suddenly increased load and will suck enough current out of USB socket to trip the (hopefully resettable) fuse - powering down the controller. Best case there is converter's own controller shuts down from self-inflicted undervoltage before fuse trips. PSoC is likely to ride out that voltage dip, because of 1uF buffer capacitors on it's core's power rails and because core actually runs at 1.71V.
-
- Location: Germany
- Main keyboard: Model F77
- Main mouse: Logitech MX Master 3S
- Favorite switch: Alpaca V2
How much is the total power draw by the Cypress board?DMA wrote: 18 Nov 2019, 00:10I was a bit incorrect - relay is high-side, so it will work with a power supply capable of delivering solenoid's "on" current (the "don't drive relay from GPIO" part still stands)kmnov2017 wrote: 17 Nov 2019, 22:50 Personally I prefer to use a solid state relay as well. The diagram only represented the wiring against relay pins, I'll change it to a solid state relay. Also, I'll use a parallel usb for the source of power for the relay.
Boost converter, especially powered from the same USB socket, and especially not having a big buffer capacitor, will not be amused by suddenly increased load and will suck enough current out of USB socket to trip the (hopefully resettable) fuse - powering down the controller. Best case there is converter's own controller shuts down from self-inflicted undervoltage before fuse trips. PSoC is likely to ride out that voltage dip, because of 1uF buffer capacitors on it's core's power rails and because core actually runs at 1.71V.
At 9V, the solenoid should draw around 200 to 250, lets say 250mA. The relay around 75mA. If the Cypress board draws a max 200mA, then a standard USB port with 500mA power output should be fine.
- DMA
- Location: Seattle, US
- Main keyboard: T420
- Main mouse: Trackpoint
- Favorite switch: beamspring
- DT Pro Member: NaN
- Contact:
9V 250mA is 450mA from 5V, assuming 100% conversion efficiency. Just the solenoid blows you out of power budget.
CS by itself consumes ~25mA, up to 36mA in some modes.
CS by itself consumes ~25mA, up to 36mA in some modes.
- DMA
- Location: Seattle, US
- Main keyboard: T420
- Main mouse: Trackpoint
- Favorite switch: beamspring
- DT Pro Member: NaN
- Contact:
btw, https://www.seeedstudio.com/fusion.html has free PCBA for 5 PCB copies. Shouldn't be dramatically more expensive than rigging from ebay-sourced modules.
- ZedTheMan
- Location: Central US
- Main keyboard: IModel F77/IBM 3101/Omnikey 102/96Kee
- Main mouse: Logitech G430/Logitech M570/Kensington Expert
- Favorite switch: Beamsprings. Alps SKCM Blue, Capacitive Buckling S
- DT Pro Member: 0219
Good news all! I've been doing some testing, and managed to get this alternative working via only one USB port, using vdd and gnd from the cypress. (Admittedly, it required some tuning with the potentiometer. 8.5v output managed to work though without causing the cypress to turn off.) Edit: solenoid works fine with less voltage. I recommend this to give yourself more headroom.
That is, this is still a solution to use at your own risk, but initially it seems to work. If you do not feel comfortable using only 1 USB for powering all of it, you can use a second USB port/cable. Both have worked for me.
That is, this is still a solution to use at your own risk, but initially it seems to work. If you do not feel comfortable using only 1 USB for powering all of it, you can use a second USB port/cable. Both have worked for me.
- Attachments
-
- 1130191218-min (1).jpg (1.21 MiB) Viewed 8556 times
-
- 1130191152b-min (1).jpg (1.47 MiB) Viewed 8556 times
-
- 1130191152a-min.jpg (1.06 MiB) Viewed 8556 times
-
- Location: US
- Main keyboard: Model F AT
- Main mouse: Roller Mouse
- Favorite switch: Capacitive Buckling Spring
If I used a 5V solenoid instead of the stock 8.5V one, can I omit the boost converter part?
Was thinking about something like https://www.ebay.com/itm/DC-5V-6V-Mini- ... 2737720692
Was thinking about something like https://www.ebay.com/itm/DC-5V-6V-Mini- ... 2737720692
-
- Location: Germany
- Main keyboard: Model F77
- Main mouse: Logitech MX Master 3S
- Favorite switch: Alpaca V2
Should work. Native usb will give you just slightly lower than 5V.zzxx53 wrote: 19 Dec 2019, 18:19 If I used a 5V solenoid instead of the stock 8.5V one, can I omit the boost converter part?
Was thinking about something like https://www.ebay.com/itm/DC-5V-6V-Mini- ... 2737720692
-
- Location: Turkey
- DT Pro Member: -
Hey, can we apply this setup to model f xt running by pro micro soarer's converter?
If yes would you please provide information about wiring?
Thanks.
If yes would you please provide information about wiring?
Thanks.
-
- Location: Germany
- Main keyboard: Model F77
- Main mouse: Logitech MX Master 3S
- Favorite switch: Alpaca V2
No, because Soarer's converter does not have a PIN set to trigger a signal for the Solenoid. And because Soarer's converter is not open source, we wont be modifying it for anyone (Its legally not allowed in the EU without the authors consent). So unless you can reverse engineer Soarers on your own, you'll have to use either QMK/TMK firmware.gravesdesk wrote: 12 Feb 2020, 21:07 Hey, can we apply this setup to model f xt running by pro micro soarer's converter?
If yes would you please provide information about wiring?
Thanks.
-
- Location: Germany
- Main keyboard: Model F77
- Main mouse: Logitech MX Master 3S
- Favorite switch: Alpaca V2
I finally converted my 3178 with this method, works flawlessly. The solenoid needs just about 6.5 to 6.7v to work.
Here's a video https://youtu.be/zLtnrwhEk8E
Here's a video https://youtu.be/zLtnrwhEk8E
-
- Location: United States
- Main keyboard: Brand New Model F Keyboards
- DT Pro Member: -
- Contact:
Does anyone know if there is a way to use a Pro Micro/Teensy (without Soarer's converter firmware) to interface with the original Model F controllers (XT, F122, etc.) and allow for a solenoid or buzzer? The goal being to avoid soldering anything to original IBM hardware. Not sure if QMK/TMK could/would be repurposed for this.kmnov2017 wrote: 12 Feb 2020, 23:36No, because Soarer's converter does not have a PIN set to trigger a signal for the Solenoid. And because Soarer's converter is not open source, we wont be modifying it for anyone (Its legally not allowed in the EU without the authors consent). So unless you can reverse engineer Soarers on your own, you'll have to use either QMK/TMK firmware.gravesdesk wrote: 12 Feb 2020, 21:07 Hey, can we apply this setup to model f xt running by pro micro soarer's converter?
If yes would you please provide information about wiring?
Thanks.
-
- Location: US
- Main keyboard: Model F AT
- Main mouse: Roller Mouse
- Favorite switch: Capacitive Buckling Spring
See this reply from kmnov2017:Ellipse wrote: 19 Aug 2020, 04:24
Does anyone know if there is a way to use a Pro Micro/Teensy (without Soarer's converter firmware) to interface with the original Model F controllers (XT, F122, etc.) and allow for a solenoid or buzzer? The goal being to avoid soldering anything to original IBM hardware. Not sure if QMK/TMK could/would be repurposed for this.
viewtopic.php?p=469311#p469311
-
- Location: United States
- Main keyboard: Brand New Model F Keyboards
- DT Pro Member: -
- Contact:
Thanks zzxx that is a good first step towards what I was asking about. Ideally I could use a Pro Micro + an xwhatsit solenoid driver to work with the original IBM Model F controller.
I understand that there are cheaper alternatives described by kmnov and others to power the solenoid but I'm curious specifically about a Pro Micro + QMK + an xwhatsit solenoid driver + original IBM Model F XT/F122/etc. controller.
Seems like there is some initial support of IBM XT Scan Code set 1 in QMK: https://github.com/tmk/tmk_keyboard/issues/635
I understand that there are cheaper alternatives described by kmnov and others to power the solenoid but I'm curious specifically about a Pro Micro + QMK + an xwhatsit solenoid driver + original IBM Model F XT/F122/etc. controller.
Seems like there is some initial support of IBM XT Scan Code set 1 in QMK: https://github.com/tmk/tmk_keyboard/issues/635