QuestDeck
A writerDeck style Cyberdeck design specifically for TTRPGs
Total hours so far: 26
Day 1: 14th June 2025
Research
Planning
I did some research on r/writerDeck to see some existing designs, their use and the types of software they use. I was particularly inspired by this design, which makes me want to make something foldable and compact so that it is portable.
I'm not sure how possible it is to make a keyboard that is easily foldable like that. Maybe scissor switches would work but I don't think they are possible for DIY, or even a membrane keyboard but it doesn't seem very plausible either. I also really like this design:
Both the designs I really like are from Pomera. I think I will try using Low Profile keyswitches and see if I can make a case that accomodates folding. The overall design will be a lot thicker but I still think it could be really cool.
Research: +3 hours
I also want to have a slide out screen at the bottom which will be a 'dice roller', so one of the keys will activate it, and you can choose how many sides it has and roll it. I will make it run off a Raspberry Pi Zero 2 W or Zero W, and then I will have the custom keyboard connected to a Adafruit KB2040 (RP2040) using its USB Breakout.
I drew a rough design based on these features:
I also drew a design of the keyboard folding mechanism made for a mechanical keyboard thickness:
I think I will use Kailh Choc V1 switches and then I could use custom MBK keycaps from FK Custom.
Research: +2 hours
Planning: +1 hour
+6 hours
Time Spent on This Day: 6 hours
Research: 5 hours
Planning: 1 hour
Day 2: 15th June 2025
Schematic
PCB
I wanted to try and smash out the keyboard part of the schematic as I already have experience designing keyboard schematics so it shouldn't be too hard. First I decided where the keyboard would be split and what special keys (such as Roll for the dice roller) I would have for it. I used Keyboard Layout Editor to make the layout:
I then designed the schematic around this design. I named all the keys to make everythin easier to keep track of:
I decided to use the KB2040, an RP2040 based board, for my keyboard. This is because it has USB breakout meaning that I can pass the USB signal from the KB2040 to the Raspberry Pi through the PCB, rather than having to plug it in and manage those wires. This just helps with the size constraints of the project.
I will put the KB2040 on the 'Dice Roller Screen' PCB as there is not enough space on the keyboard. I can pass the row/column signals through an FPC cable from the keyboard to the KB2040. On that PCB there will also be a 128x32 OLED display which will display the dice rolling. I have also used this before in my Hackpad so it shouldn't be to hard.
I will have to use an IO Expander to handle all these signals as the KB2040 does not have enough pins. Again, I have used this before. Here is what the FPC to the 'Dice Roller Screen' PCB part looks like:
And the whole thing:
Next I will handle how the keyboards will be on separate PCBs. I can again use FPC cables to pass the signals to the centre PCB. Here is what that looks like:
Schematic: +4 hours
+ 4 hours
I decided to attempt the long process of putting all the keys in their correct spots with all the spacing for the PCB.
Because I decided to use Choc v1s there weren't good footprints in EasyEDA for the different size keys. I decided to instead use 1u footprints for all of them and manually calculate the spacings.
For the initial PCB placings I decided to just make it as one unified keyboard and then I can separate them after and add the board outlines for each. Here's what it looks like as the one part keyboard without the routing (ratlines hidden):
PCB: +4 hours
+ 4 hours
Time Spent on This Day: 8 hours
Schematic: 4 hours
PCB: 4 hours
Day 3: 16th June 2025
PCB
I first did the routing for the keyboard as well as splitting it apart and adding board outlines.
I made sure that on each split both FPC sockets were at the same height to make sure the cables will be able to connect:
PCB: +3 hours
I then routed the 'Dice Roller Screen' PCB which also has an FPC cable. This FPC cable was harder to route as it is much bigger. I had to also make sure that it was lined up with the Centre Keyboard FPC above it. Here's what the 'Dice Roller Screen' PCB looks like as well as the corresponding FPC on the Centre Keyboard:
PCB: +1 hour
+4 hours
Time Spent on This Day: 4 hours
PCB: 4 hours
Day 4: 21th June 2025
Schematic
PCB
I added the 'Top Screen' PCB to the schematic. The mainboard is the Raspberry Pi Zero 2 W and it is powered by a 2400mAh LiPo Battery. I am using a TP4056 for a charging module with USB-C, and also with a MT3608 boost module for the charging system. It is also connected to the rest of the PCBs through another FPC connector. Here is what that looks like in my schematic:
For the USB connection of the keyboard, I used the USB breakout on the KB2040 but on the RPi the USB breakout is on the underneath of the board. I don't think it is feasible to use the underneath of the board as it will be soldered to the PCB.
I have a makeshift solution that I just have to hope will work. I am going to use a USB breakout like this:
Plug it into the Pi and then run wires between the breakout and some pads I have put on the PCB. No idea if this will work but I suppose I will find out...
Schematic: +2 hours
I have wired it all up on the PCB and here's what it looks like:
PCB: +1 hour
+3 hours
Time Spent on This Day: 3 hours
Schematic: 2 hours
PCB: 1 hour
Day 5: 22th June 2025
Research
I did a whole lot of research on custom MBK keycaps and here's what I've figured out:
For my keycaps, I have some interesting sizes, such as 4.75u. Although 2.25u, 1.75u, and 1.25u are not considered odd sizes, the place I was going to get the custom keycaps from, does not have them. They only have 1u, 1.5u and 2u.
I can no longer use FK Custom for my custom keycaps, and as they are the only place I can find that do custom MBK keycaps, I am going to have to find another solution. I've looked for similar style Choc v1 low profile custom options but can't seem to find any.
My first thought is to change to Choc V2 which have a Cherry MX stem, as then there are many more options for custom keycaps. I don't particularly want to do this as they are slightly bigger, and it also just wasn't really my original goal.
I have looked for other low profile switch options so that I can get keycaps. I looked at Kailh X switches which are basically more DIYable Scissor Switches.
Although they have very mixed reviews about the longevity of the switch, and will also be hard to add as a footprint to my PCB. Although they seem super interesting so maybe I will try them out for another project. I also did research into maybe making a membrane keyboard as that gives the option for being super low profile. I pretty quickly realised this isn't really possible and it would be very hard to make, get produced, and very expensive.
So I guess it's back to the Choc V1s. I did some research into how to make my own custom keycaps with legends, but this involves materials and skills I don't have. But what if I just 3D print them?
I think this is what I'll do. I can use multicolour inlay on the top of the keycap (printing top down) to give the legends. This also means for the keys I have such as Roll, I can fully design what the legend will look like in Fusion.
I have found these keycaps which fit the vibe really well and are also flat on top making it much easier for the legends.
When I get to making the keycaps I can make the inlay legends in Fusion, which should not be too hard. But I'm not going to add them until later.
Research: +5 hours
+5 hours
Time Spent on This Day: 5 hours
Research: 5 hours