Keyboard Builders' Digest / Advent Calendar
2022 Roundup: the year of EC
Cipulot sums up his journey in the field of designing electrostatic capacitive PCBs.
Published December 14, 2022
Ohayo y’all, Cipulot here!
Today’s reading is about my efforts in making EC (electrocapacitive) PCBs. My main areas of interest are Topre boards, them being Realforces (called RF from now on), HHKBs or more intriguing ones like the SONY BKE Series and μTron.
A little bit about myself
I’m an Italian industrial technician in electronics and automation turned embedded PCB designer.
During my career, I had the opportunity to come in contact with both local and international players in the semiconductor industry, who sparked my interest in embedded design and ultimately made me take this path as my career.
Currently working as a freelancer, I offer both design and consulting services for professionals in industry fields. Along with that, it has been some years since I’m involved in the custom keyboards scene, in particular the Topre subcategory (who would have guessed).
Why do I focus on EC PCBs so much?
Simply put, as it was printed on the Realforce boxes:
I like and enjoy using Topre boards, from the classic HHKB layout to the full-size variants of RF, independently of the domes weighting and localized layout (I’m an eager user of both the ANSI and JIS layouts). The more I used my boards the more I started to realize that I wanted more from them, capabilities that the stock PCB couldn’t offer. This feeling wasn’t only mine, as I watched fellow Topre users complaining about key remapping limitations and other problems.
Therefore I decided to put my experience and passion to work and make my own lineup of replacement PCBs for the major Topre keyboards, namely the RF R1 series, HHKB Pro2 / Classic / Hybrid series, 23U numpad, and many others. In the meantime, interest grew so much from members of the Topre community (thanks to you all for the support btw) that I thought about doing a separate EC PCBs family intended as a reference design for designers to build new boards around them. An EC equivalent of the H87/88 and H60 PCBs for the MX switches so to speak.
Along with PCBs developed for my personal interest I have designed multiple EC PCBs for commissions that are either in IC/GB or under development still. Some examples will follow.
All these PCBs are powered by QMK and support Vial out of the box for an easy-to-use experience for the end user. Power users can go a bit further and work with the firmware code by themselves and compile it, making changes and additions as they please.
Drop-in replacement PCBs
As the name implies these are PCBs meant to be a replacement for the OEM ones.
The idea that sparked my interest in the development of such boards was the massive harvest happening (and to be honest, still happening to this day) of the RF 91U keyboard.
This is because for aftermarket cases the Topre parts that compose the switch (housing, slider, springs and domes) are generally not included and need to be sourced by the user. Topre doesn’t sell them as a product by themselves and the only way to get them is to either harvest them from another board or resort to DES (Deskeys) parts which, in most cases, turns out to be more expensive than buying a used board all together.
This higher cost situation, combined with the insanely low prices, high availability, high quality and well-maintained/kept status of second-hand products in the Japanese used market, made harvest the de facto option for most people.
RF R1 8-9Xu
GitHub: https://github.com/Cipulot/RF_R1_8-9Xu
Replacement PCB for the Realforce R1 family of keyboards.
The main design goal of this project was to offer a single PCB for every layout supported by the R1 family and add some features that people wanted to have for their personal build. Specifically PC case enjoyers wanted a more streamlined way to have RGB support, therefore I added an onboard RGB header for addressable RGB strips, which can be controlled through Vial. Another addition I made to this board is multiple connectors for USB. I thought that case designers that want to use this PCB might want to move on from the OEM cable, therefore I added a USB-C port, JST SH 1.0 (the standard JST connector used by the majority of custom keyboard PCBs) along with the OEM JST EH connector.
Here’s my personal unit used for a Realforce 91U:
EC Pro 2 / EC Pro X
GitHub: https://github.com/Cipulot/EC-Pro-2
Replacement PCB for the HHKB Professional 2 and Classic/Hybrid series.
This was the project that lasted the most in terms of planning, research and prototyping this year.
It all started when a friend from Sapporo messaged me about someone who was selling a box with multiple HHKBs. Being a Topre lover of course I asked him to immediately proxy the entire lot to me. In there, to my surprise, there were a couple of HHKB Pro 2 US-ANSI layout. Contrary to what someone might think, the sales of ANSI HHKB in Japan aren’t low.
I immediately looked online to buy a replacement controller to have Vial support for them but the stock was nonexistent at the time. Meanwhile, some aftermarket HHKB cases started to pop out of Taobao and other websites so I thought to myself: “All these cases will need the PCB and parts to be built, which directly implies harvesting fully working keyboards.” Those of you that know me either IRL or online are well aware of my thoughts on harvesting.
That’s when I decided to make my replacement PCB kit, which comprises a mainboard and 2 controllers with USB-C (technically they are more like supersized daughterboards rather than controllers like the OEM one since the whole circuitry is hosted on the mainboard).
The mainboard has the same PCB outline as the OEM PCB and boosts some additional layout options. These will not be usable in the original case but I thought that in custom cases it would be nice to have them, and since a lot of users have PC cases, just like myself, RGB was a must. An addressable RGB header allows for some pretty interesting lighting options.
I’ve made 2 controllers, one with a USB 2.0 hub and another with the bare minimum ESD and EMI protection. The previously mentioned aftermarket cases usually don’t have cutouts for the USB-A ports like the original case, so it would be just a waste of money and materials to use a USB hub-equipped board in one of those.
The kit received incredible support, almost on par with the RF R1 8-9Xu, so much so that I started to think about reworking the board to make it compatible with the newer models (Classic/Hybrid series). To distinguish it from the EC Pro 2 kit, I decided to deviate from the Revision X scheme and go for a new name altogether: EC Pro X.
To do so I had to make the mainboard compatible with both cases and create a new controller board with an updated outline. Both are pretty straight forward processes and I have no shortage of boards to take measurements from. Some minor additions like holes here and there for alignments pillars were added but for the rest, the mainboard remains pretty much unchanged.
GitHub: (coming in Q1 2023) https://github.com/Cipulot/ec-pro-x
As of now both the EC Pro 2 and EC Pro X series are wired model only. I’m developing a wireless solution but some roadblocks regarding power management need to be resolved before I am confident to release it. Better not to release than release half-functioning designs.
EC23U
GitHub: https://github.com/Cipulot/EC23U
Replacement PCB for the Realforce 23U numpad.
As for the RF R1 8-9Xu, I started working on this for multiple reasons, mainly the fact that not everyone liked the default layout offered by the OEM board and some problematics related to the HID codes sent by the board not being OS agnostic. This made some features unavailable to macOS users.
The timing on this was perfect, since a fellow Topre lover and case designer, Sho, was running a GB for a custom Alu/PC case for the numpad.
I was lucky enough to pick up a PC unit and the result is truly amazing, especially with the addition of RGB and NumLock indicator:
Reference Designs
EC60
GitHub: https://github.com/Cipulot/EC60
This has been the first reference design that I worked on. The idea was to make a 60% with the highest possible layout options so that I could determine how far I could push the design features in a small package. Mandatory meme on the PCB included.
The result was far better than what I could have hoped for and the fact that it shares mounting points for tray mount and USB-C port placement with the GH60 made it even better.
By looking at the board it’s pretty clear that this was not intended as a final revision at all, the bazillion of screw holes on the board which makes no sense is proof of that. I included as many as possible to test different configurations in the various supported layouts.
There are a couple of quirks here and there, especially if using a “normal” OEM stabilizer instead of something like the RF RGB ones. This is not the case in layout configurations like split spacebar or JIS. Apart from that, the board saw great feedback from users that got a unit and used the repository as a starting point for their personal projects.
Once both the hardware and firmware have been tested with this board the following projects saw a vast development time reduction, since the underlying core system was validated.
Some fellow designers have already started to use the board as the baseline for the case design process. One of them is Andreas, a very talented designer, who’s Project URSA has over time gathered more and more attention.
He took part in the EC PCB Round 1, which happened in early September over in my discord server, where some of the PCBs shown in this article were sold to users. Being the amazing designer he is after some time since receiving his order he worked on an HHKB case using the EC60.
Here is a collage of pictures he shared:
The dedication and positive reception from the user base are probably the best feedback I could have hoped for, especially since I wanted this board to be a reference design to build around.
ECip TKL (alpha revision known as EC87)
GitHub: (coming in Q1 2023) https://github.com/Cipulot/ECip-TKL
The second item in the reference design series, features multi-layout support and it’s designed to incorporate every major feature that the rest of my PCBs have. 2 versions have been developed, one with USB-C that can be snapped from the board and one without it all together.
As for the 60%, I wanted to have the highest level of compatibility with the Mx counterpart (Hiney’s H87 to be specific) to allow for minimal redesign and headaches for designers that want to feature the board in their creation.
This time I wasn’t as lucky as with the EC60. Key spacing and relative placement of the USB-C to the key clusters remained the same, the board outline on the other hand needed to be enlarged both length and width-wise. It’s a minimal amount, although that minimal amount would have prevented the housings and domes sheet from properly compress on the edges.
The first revision is still in the works to fix some bits here and there but expect the project to go live in early Q1 2023.
What is now the ECip TKL, in the beginning, was meant to be Revision 2.0 of one of the earliest EC PCBs I worked on: the EC87.
GitHub: https://github.com/Cipulot/EC87
As for the EC60, the EC87 was a test bench for larger matrix and debugging but it’s one of the factors that boosted the development and interest in the EC designs. I brought it with me at the 2022 Barcelona Meetup in May and a lot of people were interested in it. Great feedback and feature requests shaped the feature set and options that are now a standard for my offering.
The EC87 is deprecated since I started developing the ECip TKL so stay tuned for the release.
Commissions and various
Lilium
I cherish this project for a multitude of reasons. It's not that often that I get to work on Alice boards, especially for EC designs. I worked with such layouts in the past but only in the MX scene, so the Lilium represented a nice change in phase.
The bottom row is a direct reference to the HHKB bottom row, being organized in a 1U | 1.5U | 3U ||| 3U | 1.5U | 1U configurations, effectively splitting the iconic 6U spacebar to adapt it to the ergo needs.
Caps lock indicators, as well as layer indicators, are placed in the bottom right corner of the board in an elegant way that integrates very well with the rest of the board.
Revisions and improvements will come with time so keep an eye out.
Theca Topre TKL
The design process saw some iterations dictated by multiple factors so it was interesting to see how the board evolved the more the project progressed. PCB design wise there was a small testing phase to validate some design choices and elements but those got the green light as soon as I tested them.
The artwork on the back of the PCB truly brings an interesting touch to the otherwise boring-looking black PCB that basically everyone knows and uses.
The GB ended recently with good interest from the community and buyers for the EC option, further proof that users want to have Topre-like assembly and feel in boards that aren’t necessarily Realforce or HHKBs. And this is not only coming from people that already have tried Topre in the past but new adopters that are intrigued by the design and feel. This demonstrates that the interest is there, we just needed that small “kickstart” that will put the scene in motion.
(Picture courtesy of densusdesign.)
Raita EC
This was a small project that I participated in, collaborating with Ankit (runner) and Sleepdealer (MX version PCB designer). It ran as a private GB and received nice feedback. Lots of people wanted to have a small EC macropad but didn’t want to resort to buying a Topre 23U or NIZ numpad, given the higher cost and lack of proper remapping.
Thanks to the low key count the PCB was simplified compared to the other designs and therefore cost went down as well, allowing a higher buyer count.
is0Topre
GitHub: https://github.com/Cipulot/is0Topre
is0Topre PCB and plates, part of the very first run delivered to owners of an is0
is0Topre was conceived as a meme conversion kit for the is0 keypad (see Geekhack post here).
This small and fun project saw great success too despite the modifications and unusual specs of the kit. Given the difference in assembly compared to the MX kit that came with the is0 space constraints dictated the need for a 1.2mm thick PCB and a dangerously thin 0.6mm plate. Despite that tho, I managed to make it compatible with the original case. (It wouldn’t have been a great conversion kit if it wasn’t compatible with the original case, wouldn’t it?)
Buyers of the is0 liked it and we managed to give a unit to Simon too to convert his own is0. Follow the following link to see a small Twitch clip from the build stream showing off the tap dance feature implemented thanks to Vial: thocc
What’s ahead
During Q1 2023 I plan to close up the projects that I have in the works and keep expanding the catalog to cover the needs of even more users. This will be achieved in a multistep process:
- wrapping up the projects that are currently in the works
- expand the reference design EC PCB catalog with new layout options
- move from a P2P order approach for the PCBs that I provide to users to a vendor based one
- keep working on newer boards with designers I already collaborate with
- further expand the collaboration with fellow designers, both in the PCB and case space
Participation in meetups is also very important in my opinion, not so much to see the keyboards, but rather to meet IRL those we chat with, talk to new people and make friends. The social component of the meetups is far more important, especially after the rough years that had because of COVID. As soon as I was able to attend one I jumped in right away and I don’t regret it at all, more followed and more will come.
That’s pretty much it from me. Hope y’all enjoyed the admittedly long read and will consider joining future rounds of PCBs or maybe start designing a case or board of your own. Feel free to contact me if you have anything you want to talk about or if you want to maybe collaborate on a project.
Cipulot | |
Location | Italy |
Occupation | freelancer PCB designer and firmware developer |
Niche | EC PCB design |
Fav. switch | Topre and IBM ‘buckling sleeve’ (vint tactile) |
Fav. profile | MT3 |
Links | https://linktr.ee/cipulot |
Published on Wed 14th Dec 2022. Featured in KBD #107.