The Leyden Jar, a tentative PCB replacement for the Brand New Model F Keyboards

Hello! I have a few questions regarding this controller project.

Background: I have bought a Model F Labs’ new Ultra Compact Model F 104, and I would be interested in a way to add PS/2 support to my keyboard(*). So…

Am I reading this correctly that Leyden Jar could also work with my current Ultra Compact? If I understand correctly there shouldn’t be any major difference in the inner connections between these F104 and the upcoming Classic Style, right?

How far has the PS/2 daughterboard project advanced?

Also something which is not clear to me:
Would this be a dual protocol port? i.e. the controller is able to speak both USB and PS/2 over the same daughter board’s USB-C connector like a lot of older keyboard do? Or would the user need to switch the cable between the original USB-C port on the main Leyden Jar for USB only and the additional USB-C port on the daughter board for PS/2 only?

Thanks!


(*) I have posted a question on Model F Labs’ Q&A but I am not allowed to link it here.

Hello @DrYak,

The Leyden Jar controller is pin compatible with the currently used XWhatsit controller.
So in theory it can manage every Model F keyboards that @Ellipse is selling.
In practice, all keyboards are different and a specific firmware has to be developed. The most technical parts are generic though, adding support to a new keyboard could be possible by anyone versed in programming and QMK firmware.

As for the PS2 dautherboard, I unfortunately didn’t had time to test it yet. This will for sure require a significant amount of programming work.
The plan is (to be confirmed it works) to either plug the keyboard using USB and have access to VIAL configuration tool, or use PS2 connection on the daughter board and be able to use the keyboard on an old computer. Of course with the same QMK firmware.

1 Like

Great news everone !

I would like to let you know that the Leyden Jar Diagnostic Tool is now publicly available on GitHub under the MIT licence !
The GitHub link is:
https://github.com/mymakercorner/Leyden_Jar_Diagnostic_Tool

You will also find a Release V1.0.0 (available for Windows) in here (not really useful if you don’t have a Leyden Jar controller).

I can only provide a release for Windows myself but the project is cross-platform at it’s heart and should compile and work with little to no work.
I did my best to prepare the ground for Linux and MacOSX but if such OSes had to be supported someone should take care of that part.
I’d gladly check and potentially merge pull requests of anyone willing to do the work :wink:

See you !

2 Likes

Hello everyone,

It has been nearly one year without news on this project, time to rectify this.

A lot of things happened in fact, let me summarize everything in this post :slight_smile:

Leyden Jar Github project:

  • Readme rework to explain the whole project architecture.
  • This is the central hub of all Leyden Jar related development:
    • You can have access to my forked QMK Vial Github repository from there,
    • And there is also a link to the Github repository of The Leyden Jar Diagnostic Tool.
  • I added a Ko-Fi button, feel free to make donations to support the project :wink:

The Leyden Jar Diagnostic Tool Github project:

  • Added support to Linux platform:
    • Deskthority user idollar was able to make the tool run on Linux.
    • And he helped me do changes in the CMake build scripts so that the build process is painless.
    • A big thanks to him!
  • Also added a Ko-Fi button for people willing to make donations.

QMK Vial Github fork:

  • Added firmware binary releases for all supported keyboards:
    • The latest revision has early support to F62 keyboard (still untested).
    • Boards supported for now are F122, B122, B104, F77, F62 and F104.

Official Leyden Jar powered keyboards:

@Ellipse is using the Leyden Jar controllers for it’s next to be released keyboards.
For the moment all F122, B122 and last round of B104 are using this controller.
As for the F122 he should receive the first units at around March, with hopefully the first users having their F122 on hand not too long after !

Software related future

There will a point where using an XWhatsIt controller for Model F or Beamspring boards will be more difficult, notably sourcing the good old ATMEGA32u2 CPU will be either expensive or impossible.
So I am slowly working on adding support for currently released boards.
For this I use the incredible work that @nathana did for its XWhatsIt Vial firmware work.
Adding a keyboard is not a fully automated process but is fast enough for my taste and most importantly prevents me for doing conversion mistakes.
The first results of this porting work can be seen in a new F77 firmware using WCASS matrix mapping and an early version of the F62.
I plan to continue the porting effort based on user interest.

Future new features:

I will slowly resume my effort adding new features:

  • PS2 connectivity support.
  • Split keyboard support.

For this, and in order to not desolder my nice F77 again I designed a dev board to be used for the developement of both features.


But it not a capacitive PCB ???
Indeed it is not but key presses should be detected just as fine with the controller and the same code to detect key presses.
The goal here is just for me to have an inexpensive way to have a test jig for all the new features that I plan to add. I plan to order only bare PCBs as I have plenty of diodes and HS sockets at home.

See you !

2 Likes

Hello all !

Here is a bit of news on the Leyden Jar front.

First, let’s start with news that Ellipse gave not too long ago in Deskthority.
Yes, more than 130 F122 units, each using a Leyden Jar controller, have been shipped to customers!
After a bit of firmware tuning it looks like all the issues that customer found are solved and they look to be happy of their purchase :slight_smile:

I also could work on split keyboard configurations and managed to have something usable in the end.
For this work the dev board PCBs I showed earlier have been very useful.
Split management in QMK is a bit complex because there are a lot of ways to determine the left and right parts of a board, some of them are not easy to handle for end users and others are too limited or do not fit Leyden Jar controller inner working very well.
So I selected the option of determining left and right part with an IO pin and use another IO pin for serial communication. As for serial communication this is half duplex (full duplex not needed for speed as communication is mostly unidirectional), and the nice thing with the RP2040 is that this is done using PIO and you can select any IO pin for this :slight_smile:
This means that only two IO pins are used for split keyboard management :stuck_out_tongue:

So how does it works ?
Let’s have a look at the prototype with the left part connected to USB.

For the sake of prototyping I used 5V, GND and an IO pin from the right connector usually used for solenoid (and one day PS2 connectivity).
The black wire that runs on the front connector of the right part is the IO pin used for keyboard part detection.
On the right part it is connected to ground, on the left part it is left floating.

You can connect the USB cable to either the left or right part, this will work.

The part were USB connection is done will be the master.
You can use The Leyden Jar Diagnostic Tool functionnalities, but it will be effective only on the master part.

For example level detection will look like this with left part connected to USB.

And with the right side connected to USB.

I will soon be able to work on the PS2 connhectivity.

When this will be done, I’ll probably work on another revision of the Leyden Jar controller to better handle serial communication and maybe other stuff :wink:

See you!

5 Likes