Author Topic: Varmilo EC Switch  (Read 41540 times)

0 Members and 1 Guest are viewing this topic.

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Varmilo EC Switch
« on: Sun, 25 February 2018, 07:33:42 »
# Varmilo EC Switch Review

**Disclosure:** Varmilo kindly offered me their new keyboard for review of their EC switch, I accepted it and got the keyboard for nothing. Thank you, Cynthia@Varmilo!
I'll try to be free from bias and flattery on this review as far as possible but it would be nice for you to know this.

The keyboard I got is MA109 JIS layout model with "Sakura Pink" EC switches. It seems that any keyboard with EC switch is not found in the market as of Jan 2018.


## EC Switch
This is Cherry MX style capacitive switch from Varmilo. There are three variants of key feel.

1) "Sakura Pink" linear 45gf


2) "Rose" tactile??(planned) linear 55gf


3) "Geeenery" click(planned)
They call this as "Ivy" switch now?



Varmilo's introductory video:



### External
The switch is Cherry MX compatible in terms of demension and designed for plate mount and has no fixing pins for PCB mount.




Notice that switch enclosure latch is different from Cherry MX and it doesn't seem to be possible to open the switch without desolder even using mounting plate with cutout designed for the purpose.


### Internal
EC switch doesn't make(close) contact electrically unlike other Cherry MX switches do. You can't replace Cherry MX(and its clones) with EC switche and vice versa, they are not compatible electrically each other.

EC switch is comprised of two metal plates and one of them is insulated with yellow-colored surface coating. Switch capacitance varies as those contacts get closer or further along switch stroke.




While Cherry MX has crossbar contacts on its plates, which look like pic below shows.
https://deskthority.net/wiki/Gold_crosspoint






### Cherry MX capacitive mod :)
This pic shows brown Cherry MX and sakura pink Varmilo EC switch side by side.



As you can see, EC switch construction is almost the same as Cherry MX and you may think Cherry MX can be turned into capacitive swtich somehow. It should work, right? Let's try it now.

You have to file off crossbars on contact plates and insulate, that is it, pretty easy huh? :D I used Kapton tape as insulator here.



The result? Yes, the mod swicth works in Varmilo keyboard! but acutuation point is not optimal clearly, with Brown tactile slider at least. With Red linear slider it is apparently proper, though.




### Key Scan and Capsitance sensing
The Varmilo keyboard uses chip LC17C6701 for sensing, manufacturer is unknown. The chip has 10 sense pins and 14 drive pins, and key switches are aligned on 10x14 matrix.



The chip can sense 10 lines in parallel per a pulse on drive line. The pulse width is around 2us(yellow: drive, blue: sense).

When key is released:


When key is pressed:


And this video shows how sense line changes during a key is typed.

https://i.imgur.com/ev9WrGO.gifv

This pic shows pulse on adjacent three drive lines and you can see that sensing 10 keys on a drive line takes around 5us in total. So it takes only about 70us(5*14) to scan all keys on the 10x14 matrix.




Scan rate is pretty fast in comparison with classic Topre chip TP1684/3 which takes usually around 15ms to its key switch matrix. See this for the detail: https://imgur.com/a/jat2a

It seems capacitance change on EC switche is not so linear throughout key stroke, it doesn't change much especially at bottom of stroke.


### Microcontroller
It is marked as LC17C6801 on SSOP24 package and uses Holtek product ID(04d9) on USB but no info is found in their site. The chip communicates with sensor chip via three I/O lines.


### Power consumption
The keyboard consumes 105mA when its backlite turns on while 22mA when it turns off.

For reference, the below shows how much current my keyboards draw.
- Realforce 101(PS/2) consumes around 11mA.
- IBM 62-key 4704(6019284) and IBM 122-key terminal(6110345) consumes around 160mA.
- HHKB Pro1 consumes around 42mA.
- HHKB Pro2 consumes around 140mA.
- HHKB Pro JP consumes around 37mA.


### Resources
unsorted pics: https://imgur.com/a/sYv7O




## Keyboard Info
The keyboard I got is JIS layout model with "Sakura Pink" EC switches called as MA109CO2W/LLK2V on its package.

More
I'm not the right person to review keyboard and won't go further on this topic.

The followings are something interesing I found:

- wood grain texture on plastic case; (I'd say this is rediculous :D but yeah it is all about preference)

- effective rubber feet. better than my HHKB at least
- sturdy case frame
- keys are less wobble and less rattle(including stablized keys)
- stabs are lubed with good mount of grease; not sure if it is good practice of lube but it works

- mini USB detachable. I know some people dislike mini port.




### How to take apart
No hidden screw on bottom, no need to peel any rubber feet and label plate fortunately.
1. two screws on top of plate, to bolt board down to bottom case, you have to get some keycaps off to find the two screws around "F" and "Enter" key.


2. clack open case with phone opener or thin plastic plate like guiter pick

3. unscrew four screws on bottom of pcb to unfix it from upper case



« Last Edit: Sun, 07 October 2018, 02:29:30 by hasu »

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4771
  • Location: England
Re: Varmilo EC Switch
« Reply #1 on: Sun, 25 February 2018, 08:48:25 »
Thanks Hasu for an interesting technical review, I doubt many reviewers will get out the oscilloscope or measure the power draw :))
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod

Offline Findecanor

  • Posts: 5035
  • Location: Koriko
Re: Varmilo EC Switch
« Reply #2 on: Sun, 25 February 2018, 09:05:37 »
On the outside the switch looks very much like a Kailh switch.
Mine does not have the inner lip on the bottom housing but I think there might be other Kailh switches that do.

Offline Rob27shred

  • Posts: 1482
  • Location: Pittsburgh, PA
  • Insane in the Membrane! 👻
Re: Varmilo EC Switch
« Reply #3 on: Sun, 25 February 2018, 09:48:37 »
Thanks for the review! These switches are pretty interesting, although the tactile & clicky variants are of more interest to me. I wonder how Varmilo will over come the actuation point issues you ran into with the modded MX brown. I mean I get it was quick & dirty mod just to see if it would work, but I bet that issue carries over to their design as well since using a MX red stem fixed it.

Offline MajorKoos

  • Posts: 851
  • Location: Bay Area
  • 1 life please. Extra large.
Re: Varmilo EC Switch
« Reply #4 on: Sun, 25 February 2018, 11:01:44 »
Thanks Hasu.  That's an awesome review.
I dig how you made your own version of the switch for testing - uber cool.

Offline dfj

  • Posts: 171
  • Location: Canada
  • Visit our irc: #geekhack on libera.chat!
Re: Varmilo EC Switch
« Reply #5 on: Sat, 10 March 2018, 21:37:58 »
Sweet - nice review, and thanks for the experiments...

Did the keyboard work ok while you were scoping it? I Suspect that the probes might have been pulling the signal back towards it's mean value through their tip capacitance (or any other wires you might have needed to setup the tests)
 If the signal on the sense line actually looks like ----^--v---- then the best places the sense chip can test are directly after the strobe when the signal spikes or at then end when it snaps down. I expect it actually looks just like the strobe, though - ___/TTTT\___ (ascii has no overscore ;p ).

But yeah - if well tuned something like this could have an amazing scanrate... any idea what frequency the three line channel between the holtec and the sense chip is at? would be curious whether it is sending relatively raw results to the processor, or doing a bit of signal ops, or debounce - too many samples getting averaged together might reduce the scanrate...

The speed is interesting - I think I could get around a 500 microsecond scan using ARM ADC with 100MHz microcontrollers, but any faster would require using the comparators... mind, that still allows arbitrary thresholds per key since most of the microcontroller ARM have a fast internal DAC to compare against.

Personally, I'm hoping to use the ADC to autodetect keyboard sense levels some day, then do the main scanning with the comparators. Wish me luck making progress on it this spring. ;]

Thanks again for the sweet writeup,
dfj
Fave Switch manus: IBM, Topre, Matias, ...

Offline zslane

  • Posts: 2297
  • Location: Los Angeles, CA, USA
Re: Varmilo EC Switch
« Reply #6 on: Sun, 11 March 2018, 12:47:20 »
I am curious to know if these suffer from the same bottom-out and upstroke noise that conventional Cherry MX switches suffer from.

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Varmilo EC Switch
« Reply #7 on: Sun, 11 March 2018, 20:21:21 »
Hey dfj,
really glad to see you here other than IRC! :D

Sweet - nice review, and thanks for the experiments...

Did the keyboard work ok while you were scoping it? I Suspect that the probes might have been pulling the signal back towards it's mean value through their tip capacitance (or any other wires you might have needed to setup the tests)
 If the signal on the sense line actually looks like ----^--v---- then the best places the sense chip can test are directly after the strobe when the signal spikes or at then end when it snaps down. I expect it actually looks just like the strobe, though - ___/TTTT\___ (ascii has no overscore ;p ).

Yes, it works with scope probe attached, even if the prove is set 1x input. But it seems that x1 probe make actunation point deeper. My probes are cheap rigol ones(come with DS1054X) and rated 17pF on x10 input and 100pF on 1x. To reduce effect on I used 10x input.

Yeah, probe input capacitance affects the result without doubt but I don't know how. Active probe with low capacitance can help there? I don't have access to such $$ equipment and can't afford, though.


Quote
But yeah - if well tuned something like this could have an amazing scanrate... any idea what frequency the three line channel between the holtec and the sense chip is at? would be curious whether it is sending relatively raw results to the processor, or doing a bit of signal ops, or debounce - too many samples getting averaged together might reduce the scanrate...

It seems that one line is for interrupt,  other is clock and data, clock is 125KHz(i2c? but not sure). When no key is pressed down there is no communication at all, once any key is held down sensor chip sends interrupt and starts communiction and keep sending data packets in 9ms interval until all keys are released. It seems that the communcation always keeps 9ms interval to send packets so controller can't know key state so mucn in realtime manner.


Quote
The speed is interesting - I think I could get around a 500 microsecond scan using ARM ADC with 100MHz microcontrollers, but any faster would require using the comparators... mind, that still allows arbitrary thresholds per key since most of the microcontroller ARM have a fast internal DAC to compare against.

Personally, I'm hoping to use the ADC to autodetect keyboard sense levels some day, then do the main scanning with the comparators. Wish me luck making progress on it this spring. ;]

Thanks again for the sweet writeup,
dfj

Looking forward to your project progress! Keep us updated **in forum**, I hope :)

Offline tex_live_utility

  • Posts: 990
  • MX brown apologist
    • twitch.tv/salt_rock_lamp
Re: Varmilo EC Switch
« Reply #8 on: Tue, 13 March 2018, 00:41:01 »
This is really cool. How feasible would an "open" EC firmware be? The real dream would be something analogous to QMK, or even an alternate "backend" for EC boards that replaces the TMK core.

Now all we need is for someone to package up a Topre dome into an MX footprint...
Discord: salt rock lamp#0679 | Reddit: /u/nerdponx | Deskthority: autoload -Uz | Keebtalk: salt_rock_lamp
Twitch: salt_rock_lamp | YouTube: https://www.youtube.com/channel/UCd7YXZjilUutJ6ShZWrvQtg | Instagram: @salt_rock_keyboards


Offline dfj

  • Posts: 171
  • Location: Canada
  • Visit our irc: #geekhack on libera.chat!
Re: Varmilo EC Switch
« Reply #9 on: Fri, 16 March 2018, 18:31:05 »
tex_live_utility:
Very feasible - a number of people have been poking around at it for years: myself, hasu, xwhatsit, of course - but also a few others I know of.

There is an avr based one in Haata's kiibohd, along with a schematic and layouts for the pcb... but it's slow and expensive - so I've been focusing on ARM since.

Since hasu asked - I've been thinking of going back to my earliest prototypes where I just used a voltage divider to stabilize the sense line.

This seems to be what topre does, and it could easily be what is happening here with the varmillo.
With a very short lived strobe, it doesn't matter that the sense line is rapidly recovering towards it's stable value (say, 1v or similar) - because one can sample it directly after the initial pulse. If one is using comparators, or direct digital reads - one could read several lines during a 1 microsecond pulse.
  I'm going to need to do some experiments to see just how many one can reliably get - after all, if we want variable threshold, as is needed for F keyboards - then it requires the comparators to have their thresholds changed rapidly, or to be run in differential mode against a DAC - both take longer to stabilize, though nowhere near as long as an ADC.

Hasu:
  I just use a fet op-amp as a dirty little active probe when the big probes are messing things up... if it doesn't make a difference, I go back to the big probes.
I'm much more interested in the shape of things than precise voltages, so - decent active probes feel expensive to me as well.

Exciting times again, hopefully.
dfj
« Last Edit: Fri, 16 March 2018, 18:39:07 by dfj »
Fave Switch manus: IBM, Topre, Matias, ...

Offline dfj

  • Posts: 171
  • Location: Canada
  • Visit our irc: #geekhack on libera.chat!
Re: Varmilo EC Switch
« Reply #10 on: Fri, 16 March 2018, 18:38:34 »
Oh - and that's very interesting re: the 9ms report rate of the holtek... gives us lots of options to outperform everyone else with a stable, fast, gaming-style sense circuit.

;]
dfj
Fave Switch manus: IBM, Topre, Matias, ...

Offline dwarf.factory

  • Posts: 38
  • Hi Im Dwarf!
    • Dwarf Factory
Re: Varmilo EC Switch
« Reply #11 on: Thu, 31 May 2018, 05:26:35 »
so useful information. Im thinking about trying Cherry Silver speed, is it a good one?
My pure desire is GOLD

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Varmilo EC Switch
« Reply #12 on: Thu, 31 May 2018, 07:55:21 »
so useful information. Im thinking about trying Cherry Silver speed, is it a good one?

Thanks!
It depends on what you want with your switch.
I didn't know the Silver speed switch much and have to search but it seems to me it is very usual good ol' switch without any fun part compare to this switch. I for one have no reason to grab the silver speed switches but I might miss something.

Offline hasu

  • Thread Starter
  • Posts: 3471
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: Varmilo EC Switch
« Reply #13 on: Sun, 07 October 2018, 02:24:50 »
I found "Rose" variant of EC switch on Massdrop, it has also force curves of them. The Rose switch is linear switch with 55gf actuation force.
https://www.massdrop.com/buy/varmilo-electro-capacitive-numpad?mode=guest_open

Just added the forcecurve pics and info on first post.