New keyboard: Alicja v2 – Marcin Juszkiewicz
After over a year of using<br>Alicja, my prototype keyboard,<br>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<br>intended to make the board sturdier, such as 3D printing a far better plate for<br>another handwired build.
I tried different layouts. 3D printed a case for Redox keyboard, built one half<br>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)<br>with several of my keyboard experiments. And one day I got info from Adam<br>Wysocki (adamws) about his KLE NG online<br>tool. Which changed everything…
You see, with previous tools, designing a keyboard was a lot of work. Now, with<br>KLE NG, it is a matter of creating a design and pressing some buttons. The<br>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<br>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.
PCB in KiCAD
I ordered PCB in China, the process and shiping took about two weeks and I had<br>five PCBs ready for soldering:
The physical PCB
Changes since the first Alicja keyboard
As you may see the main change is the PCB. Handwired keyboard had its own value<br>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<br>connector instead of having it on MCU board. It will help when I add USB hub to<br>the keyboard.
The whole keyboard uses Kailh MX hotswap sockets to make it easier to play with<br>different switches. At the moment I am using some brown ones I got for free at<br>the Mechanicon 2025 event.
I kept only one encoder — the one for media control. By default it changes<br>volume level (and mutes on press). With the Fn key I can change to next/prev<br>song and play/pause it.
There are some more keys — I added right Control key as I missed it several<br>times. The whole Home/End/Ins/Del/PgUp/PgDn block is present. In a different<br>setup than usual so adapting to it will take some time. And I have now F13 and<br>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<br>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<br>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<br>used M2 threaded inserts). Will be replaced with a better design one day.
Temporary case
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<br>size for it instead of a 2.25u one. As a result, I had to choose some non-blank<br>keycap from<br>the Akko WOB MDA set<br>instead of using a 2.25u blank one.
The other, not visible one, is the footprint of the 5-way switch. It does not<br>work as expected. However, I might just need to re-solder the diodes the other<br>way round, and it will work.
The connectors on the bottom side (both for the USB+buttons and the expansion<br>port) are a bit bulky — I used JST XH 2.54 ones here. They were supposed to be<br>used as THT rather than as SMD, so they take a lot of space. Anyway, those are<br>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<br>the left) and an internal USB hub.
I also need a way to attach feet so the keyboard angle can be adjusted (now I<br>have 4 rubber feet attached).
And I plan to use it for quite a while. Which will not stop me from working on<br>some other designs.
desktop<br>keyboard
Comments?
If you want to comment, head over to my post on Mastodon.
Related posts
I built my first mechanical keyboard
The end of the AArch64 desktop experiment
Arm desktop: so many cores, not enough speed
Arm desktop: emulation
Arm desktop: 2025 attempt, part one
Half my life ago "
About me
I work at Red Hat.<br>Mostly on AArch64 support in several projects.
I am also known as 'hrw' (/hʌ eə vʊ/).
Search
Privacy policy
This website does not use cookies. Server logs contain IP<br>address and user agent info. You can leave if you disagree.
GDPR information if you want to read such policies.
Useful tables
AArch64 SoC features
AArch64 cpu core information
Arm BSA/PC-BSA/SBSA checklist
FOSDEM videos
Linux kernel system calls for all architectures
Recent posts
New keyboard: Alicja v2
Half my life ago
The end...