After over a year of using Alicja, my prototype keyboard, it is time to build a new one: Alicja v2.

Experiments

Since building Alicja v1, I have been trying out a few design ideas. Some were intended to make the board sturdier, such as 3D printing a far better plate for another handwired build.

I tried different layouts. 3D printed a case for Redox keyboard, built one half and tried to use it. Not my style as it is too far from typical pc105 layout.

Created the H261 keyboard as some kind of orthogonal Alicja but it was too awful.

KLE NG to the rescue

I used Keyboard Layout Editor (KLE) with several of my keyboard experiments. And one day I got info from Adam Wysocki (adamws) about his KLE NG online tool. Which changed everything…

You see, with previous tools, designing a keyboard was a lot of work. Now, with KLE NG, it is a matter of creating a design and pressing some buttons. The result consists of PCB files for KiCAD and plate files for CAD software.

KiCAD

I loaded files created by KLE NG and it turned out that making a PCB for a new keyboard is quite simple:

  • add MCU (I used RP2040 Stamp from Solder Party)
  • add encoder
  • add whatever else
  • route everything
  • define PCB edge
  • generate gerber files
  • order PCB

During the whole process I learnt a lot, mostly from my friends in the retro community.

I ordered PCB in China, the process and shiping took about two weeks and I had five PCBs ready for soldering:

Changes since the first Alicja keyboard

As you may see the main change is the PCB. Handwired keyboard had its own value but in the long run was a source of problems and frustration.

I changed the MCU board, as RP2040 Stamp allowed me to put USB signals on a connector instead of having it on MCU board. It will help when I add USB hub to the keyboard.

The whole keyboard uses Kailh MX hotswap sockets to make it easier to play with different switches. At the moment I am using some brown ones I got for free at the Mechanicon 2025 event.

I kept only one encoder — the one for media control. By default it changes volume level (and mutes on press). With the Fn key I can change to next/prev song and play/pause it.

There are some more keys — I added right Control key as I missed it several times. The whole Home/End/Ins/Del/PgUp/PgDn block is present. In a different setup than usual so adapting to it will take some time. And I have now F13 and F14 keys (not decided yet what to define on them).

The space in the middle got one of those funny 5-way switches. I have not decided how to use it yet. Maybe it will be some kind of silly mouse.

There is a connector with some free GPIO lines and power. Who knows, maybe one day I will decide to make a hole and add a trackpoint from some old Lenovo laptop.

I also have stabilisers for all 2u+ keycaps. Finally ;D

And the last change: a simple, 3D-printed case. Mounted on a few M2 screws (I used M2 threaded inserts). Will be replaced with a better design one day.

Mistakes

Of course, I had to make a few mistakes.

The main one, visible in the picture above, is the left space key. I used a 2u size for it instead of a 2.25u one. As a result, I had to choose some non-blank keycap from the Akko WOB MDA set instead of using a 2.25u blank one.

The other, not visible one, is the footprint of the 5-way switch. It does not work as expected. However, I might just need to re-solder the diodes the other way round, and it will work.

The connectors on the bottom side (both for the USB+buttons and the expansion port) are a bit bulky — I used JST XH 2.54 ones here. They were supposed to be used as THT rather than as SMD, so they take a lot of space. Anyway, those are inside the case, so no one can see them.

Plans for changes

I need to design a proper case. With space for USB ports (two at the back, one on the left) and an internal USB hub.

I also need a way to attach feet so the keyboard angle can be adjusted (now I have 4 rubber feet attached).

And I plan to use it for quite a while. Which will not stop me from working on some other designs.