Dec 29, 2023

The power of prototyping

I wrote a lot about prototyping in P2PPCB NTCS ReadMe. So I'll leave the example of prototyping over there, and praise prototyping here.

I am old enough to have been through the dot-com bubble. I read the bubblehead writers of pulp magazines wrote about "idea". In the age "idea" looked enough to make a success. Do you remember "business method patent"? Hahaha... Yeah "business method patent" was a superior idea to make money for the patent firms! But, of course, the patent firms did their jobs to make money by the idea. Their jobs were excellent. Otherwise, who would have taken such an idea seriously?

Today we re-realize the fact that a good idea is a shadow of good jobs. Someday we may forget the fact again, but so far, we know it.

I cannot list sufficient conditions of a good job. But I know a necessary condition of it: high quality interaction.

  • Just imagining: no interaction
  • Talk to someone: poor, but something is there.
  • Make figures and descriptions: so-so
  • Make a video: good
  • Make a presentation like a TED Talk: great, maybe you can find someone to invest in it.

The list above is a kind of quality. I guess that you are thinking "this is just a kind". Yes, the list above lacks the interaction with physical reality.

  • Just imagining: no interaction
  • Draw something on a piece of paper in pencil: poor, but you might find some contradictions in the idea.
  • Make a blueprint: good, you might find that the manufacturing cost is too much.
  • Make a product: great, maybe you can make money.

The list above is another kind of quality. This is also just a kind.

Make a prototype: good, 

  • your body might say "this is no good".
  • try lending the prototype to someone and letting them use it. The person might say "this is no good".
  • in response to these voices, make a next prototype with improvements.

If your idea is something like "business method patent", you don't need to make a prototype. Otherwise, if it has something to do with physical reality, prototyping will give you irreplaceable quality of interaction.

Prototyping is iterative. As you iterate, you will find a better idea than the original one. A good idea is a shadow of good jobs.

My Golden Fleece

As discussed in the previous posts, the best one-size-fits-all keyboard is chiclet style. For XXS for XXL size person, one-size-fits-all is not the best. Let's define such a body size for me.

Able-bodied. The hand size is normal. Not required to type super-fast. A heavy user of keyboard shortcuts. Required to type symbols much (i.e. hit number row keys and Shift keys often). No need to read the keytop legends.

The features for the body size:

17 mm key pitch

Shorter key pitch makes the keyboard smaller. Hitting number row keys is also easier. Many studies suggest 17 mm pitch doesn't harm speed or error rate compared to 19 mm.

2.0 mm travel

How many millimeters should the travel be? Long travel like traditional 4.0 mm is a bad habit from the non-electric typewriter era. Recent traditional looking keyboards have shorter travel than 4.0 mm. Long travel worses finger interference and typing speed. However too short travel causes poor experience. Where is the best?

Most chiclet style has 1.2 to 2.5 mm. Apple makes around 1.0 mm and I hear constant complaints for years. The best number should fall in 1.5 to 3.0 mm. A study suggests 2.0 mm. I think this is true from my experience.

Stepped like Cherry profile

R4-R3 has long step, and R3-R2 and R2-R1 has short step. R0 (nearest row) keytop angle is quite steep. Like the figures below:


I love the undulations of the step and keycaps. Chiclet style looks dull.

My Golden Fleece will have these features.

You might notice my Junana keycap cannot do 2.0 mm travel yet. AFAIK on the market there is no switch that has MX stem and 2.0 mm travel. I believe that the market of low profile switches will go to 2.0 mm travel soon. 3.2 mm is apparently too long for ergonomics yet.

Dec 28, 2023

Chiclet style is the end of keyboard evolution

In the recent posts, we saw many parameters of keyboard ergonomics.

  • key pitch
  • keytop size
  • step
  • travel
  • readability of legends
  • footprint of whole keyboard

These parameters relates each other. Some parameters are irrelevant for heavy users.

From these parameters, I reached a conclution that recent chiclet style is the end of keyboard evolution. We will never see any next style in fashion while we are alive. This is just like IBM Model M layout. If you want the best one-size-fits-all style, chiclet is it, and this will be true after a hundred years.

I want to point out the readability of legends. The age of professional typists is gone. Most people have to read legends of keytops very often. The keytop width / depth of MacBook is 16.5 mm. As mentioned in the previous post, mechanical keyboards' keycaps have much smaller keytops, and the smallness is inevitable for ergonomics.

(BTW I don't believe large keytop is good for heavy users. If so, IBM should make Model F keytops larger in 1980. Large keytop is good for readability, and this is a decisive factor.)

Of course chiclet style is good for laptops, and a human being is an animal of habituation, we are comfortable with the same style between laptop and stationary. Why do we want different thing?

The answer is simple. Because we are perverse, weird, attention seeking geeks. Comfortable? That is for couch potatoes. We can't stand one-size-fits-all keyboards and overcome any hardships to seek the Golden Fleece! We are Jason!

Calming down...

The quest of the Golden Fleece is not comfortable, but the Golden Fleece itself should be comfortable (just for the owner), hopefully more comfortable than one-size-fits-all things.

I don't expect we will reach the same conclusion about what is the Golden Fleece. If I expect so, I'll produce and sell my Golden Fleece instead of P2PPCB components. However I believe we are curious with the Golden Fleeces of others and use as references for the quest of ourselves. In the next post I will describe some (not all) features of my Golden Fleece.

The comparison of keytop sizes of common profiles

In the previous post I told the importance of the keytop depth size. So let's compare the keytop depth sizes of common profiles. I made 3D models of them for P2PPCB. The figure and numbers below are the projection to the switch mounting plane.

  • XDA: 13.7 mm
  • DSA: 12.7 mm
  • OEM R3: 14.3 mm
  • Cherry R3: 15.0 mm
  • Model M (not very precise because no 3D model just a caliper): 14 mm

As the theory which is described in the previous post, uniform profiles should have short keytop depth because they (usually) lack the step. XDA and DSA follows the theory. 

Larger keytop size is better to make legends readable. But smaller is better for reducing finger interference (it occurs between left and right keys too). From this viewpoint, I think Cherry profile does the best. It has long depth but the step makes it harmless. Short width is good for reducing finger interference between left and right keys.

I want you to pay attention to Model M. It has smallest (depth and width both) keytop among the stepped profiles. In 1980 IBM was a giant of the industry and invested much to keyboard ergonomics. The glory of Selectric typewriter was not long ago. To be honest, I think that the decline of IBM begun with Model F, especially Olympic-podium style wide keys. However it came from cost pressure, and the knowledge of R&D was not marginal. The keytop size of Model M might be best for professional typists (in 1980 they are still primary customers). Professional typists never look at keytops, so readablity is irrelevant for them.

So my Junana profile? Shorter than Model M, 13.1 mm. The requirements of 17 mm pitch and dye sublimation (five sides at once) was strict...

Dec 27, 2023

The relationship of step, keytop depth, keytop height, and switch travel

Aside from XDA and DSA (uniform profiles), common keycaps are designed like the figure below (Cherry profile):

The green arrows indicate "step". This gives keyboards beautiful undulations. The origin of the step is probably non-electric typewriters like this:

The purpose of the step is to avoid finger interference while pressing:

Old non-electric typewriters have long step, and recent chiclet style keyboards have zero step. Non-electric typewriters have long travel so they require long step. Recent chiclet style keyboards are the opposite.

Keytop depth (near to far) also plays a role. You can avoid finger interference by reducing keytop size of depth direction. This is a big reason why chiclet style keyboards have gaps around each key.

Finger angle also plays a role. The step is useless if the finger is perpendicular to the switch. Therefore R4-R3 step should be larger than R3-R2. The Cherry profile figure above follows the theory. However R1-R1 step doesn't. In this case, another phenomenon is in play. See figure below:

This layout has zero R1-R1 step, and in my experience with many prototypes, this is a bad idea. I felt my fingers cramped in this layout. I felt much better below:

In near rows, the step doesn't play a role. Instead of the step, keytop angle plays a role. The keytop height should be flat in near rows. I have no idea about the theory behind the phenomenon.

BTW all the figures above are created by P2PPCB Composer F360. This is also good for making figures.

Dec 26, 2023

Usual prototyping cost with P2PPCB

Prototyping is absolutely essential to design workable and suitable products.

You can design beautiful products just with PC screen. Beauty is mainly about eyes. However workability and suitability is about hands.

Prototyping cost of flat (usual) keyboards is not expensive compared to other common gadgets. I think that the cheapest way is:

  • design and order PCB, not assembled
  • hand-solder switches and female headers for pro micro or something
  • to save time and effort, no matrix diode
  • after the evaluation, remove the switches by a solder sucker and reuse them to the next trial

The monetarily cost per iteration will be around 25 USD for 60% keyboard. The time and effort depend on the skill and equipment of hand soldering and solder sucking. Five seconds per through hole will be a good estimation for a mildly skilled and equipped person. For 61-key, ten minutes. About the initial cost, a good solder sucker is imperative and available from 150 USD. (You already have a good soldering iron, right?)

P2PPCB platform can be close to this. For example, 3D printing service cost of a 60% frame:

32.30 USD including the shipping cost. A matrix wire is 6 or 7 USD. Assembling and disassembling time per switch is about ten seconds. About the initial cost, P2PPCB starter kit is 139 or 149 USD. And matrix diode is for free!

Of course, P2PPCB is for 3D-shaped keyboards. The estimation above is valid as is for 3D-shaped design.

Dec 25, 2023

Usual footprint and profile of P2PPCB naked style keyboards

P2PPCB platform is mainly for rapid prototyping, so the products are usually naked style like starter kits.

The design of P2PPCB doesn't much focus on smallness. If you need really small keyboards, the versatility of P2PPCB is unnecessary burden (however it is a good idea to make a prototype and verify the function and suitability before consuming much for smallness).

Although sometimes smallness matters.

Bespoke / handmade keyboards are (usually) covered style and elaborate thing, so the story is quite complex. Let's put that aside, I'd like to give you a rough estimate of common naked style keyboards.

Flat, 60% layout, 19 mm key pitch, Gateron Low Profile, Junana MX

Junana is for 17 mm pitch, but I guess that you are not familiar with 17 mm pitch keyboards (the footprint is really small), so I chose 19 mm pitch. 

P2PPCB is for 3D-shaped keyboards. But the example here is to show the limit of smallness.

The overall picture:

The design is an hour job and printable / assemblable actually. No elaborate thing but workable and reliable. P2PPCB adjustable foot kit provides tilt angle as you like.



The width is 297 mm, the depth (near to far) is 132 mm, and the height is 19 mm. The 19 mm is competitive value as a mechanical keyboard.

Side walls get in the path

P2PPCB covered style keyboards have frames like this:

The cover consists the side wall and the bottom. The frame is top only. However in common sense, top side part should consist almost everything, and the bottom side is just a lid to avoid dust. Why P2PPCB covered style keyboards become like this?

The answer is component insertion path and tool path. Contact-to-socket asssembly should be inserted to a hole through a path, and single IDC contact press tool should reach the contact through a path. The video below shows the pathes by green solid:

Not frames but covers should have walls to make assembly easy.

How to fasten a cover with the frame, or how to make feet coplanar?

First, in P2PPCB, keyboard cover is lower and frame is upper. In covered style keyboards, a cover keeps feet. See P2PPCB NTCS keyboard.

Second, keyboards have feet, and they should be "coplanar". If not, the keyboard rattles on your desk top because one of the feet is shorter than others. If all feet have the same height (no rattle), they are "coplanar".

Let's get down...

3D-printed parts are always warped. Everything in the real world is always warped mathematically, of course, but the degree of 3D-printed parts' warp is often larger than your desk top. Rubber feet is indispensable to cover the warps (including your desk top's). But large keyboards may require more warp correction.

I found that MJF warps much more than Somos Ledo 6060. This is a big reason why I switched from MJF to Ledo 6060. I think that you don't need additional warp correction as far as your products are in your hand or laboratory, not very big, and you use Ledo 6060.

Out of the laboratory, you will need covers, and may need additional warp correction. This is the story of them.

Pole clamp structure

We see pole clamp structure everywhere. A pole (cylinder) and a clamp which keeps the pole, that's all. By loosing / tightening the clamp screw, you can move the clamp steplessly.

P2PPCB NTCS keyboard adopts the pole clamp structure to fasten the cover with the frame and make the feet coplanar. The video below shows one of the clamps of NTCS keyboard:

Pole clamp structure is good for covering the difference from the design to the real thing, because it has adjustment margin. But, how does it make the feet coplanar? See the figure below:

When you are tightening the screws, keep the parts deformed by hand. If the deformation is a good balance, the feet become coplanar. Usually a frame is stiffer than the cover (NTCS cover is limply when it is not assembled) so just forcing the cover flat is enough. Theoretically the cover doesn't become flat after releasing the hand, but usually enough.

Dec 23, 2023

P2PPCB mainboard mainly for bespoke / handmade keyboards?

P2PPCB mainboard Bob / Charlotte are mainly for prototyping. We can imagine mainboard mainly for bespoke / handmade keyboards. I think it should be wireless and small at any cost.

About small, I have an idea. Bottom entry surface mount female header is it (http://www.yinghuachina.com/Products/973.html). The header is 2 mm height and this is nearly equal to the height of Bluetooth module. The mating connector is 5 mm height from PCB surface. Surface mount header is fragile, but low profile worth the price in this case. Soldering IDC connector to PCB is an option, but I feel it doesn't worth because such IDC connectors have 2 mm through hole wire leads (I haven't seen surface mount IDC connector with 2.00 mm pitch) so the actual saving from bottom entry surface mount female header is just 1 mm if the PCB thickness is 1.00 mm.

About wireless, this is much harder problem than everyone expects.

The stumbling block 1: shipping

Bespoke / handmade keyboards should be shipped as complete products. Li-ion battery is almost impossible to ship with air service. NiMH battery is not impossible but notorious. Non-rechargeable battery is preferable.

The stumbling block 2: battery enclosure

We need an embedded-style battery enclosure. It should be 2xAAA and single row. Sadly, there is no such product on the market now. All available products are two row and it makes keyboards unacceptably bulky. Bespoke / handmade keyboards should not be cumbersome.

How about integrating battery enclosure to keyboard's cover, just like common products? IMHO there is little hope to make it durable, reliable, compact, toolless, rattle-less, and easy-to-use. 3D-printed resin is much more fragile than engineering plastics (usually ABS).

If 2xAAA, single row, embedded-style battery enclosure once becomes available for purchase, I will return to the idea of mainboard mainly for bespoke / handmade keyboards.

Oh, one more problem...

The stumbling block 3: first touch lag in power saving state

This is unacceptable for bespoke / handmade keyboards. I believe Bluetooth 5.3's connection subrating resolves this problem. But the majority of PC now don't have Bluetooth 5.3 yet.

Dec 22, 2023

Design of mainboards, or thank you Raspberry Pi Foundation!

P2PPCB platform is mainly for prototyping, partly for bespoke / handmade keyboards, and never for mass production. So the production quantity of P2PPCB components will be quite small. It makes the cost math very different from mass production.

The symbol of the small quantity cost math is Raspberri Pi Pico on mainboard Bob / Charlotte. It may look odd from the viewpoint of mass production, but it is reasonable for P2PPCB.

The unit price of Raspberry Pi Pico is 4.00 USD (Digikey). It has micro USB type B connector, tactile switch, 2MB external flash memory, power regulator, LED, and RP2040 (MCU). The BOM cost exceeds 4.00 USD for small quantity production.

Another merit is 2-layer PCB. Mainboards of full size keyboards require a lot of matrix wires. 12 wires for column and row each at least. More wires can be required for many reasons. So mainboard Bob / Charlotte have 12 and 16 wires for normal column and row. And such many lines often require expensive 4-layer PCB. To accommodate such many wires in smallest 2-layer PCB, we must have careful planning and clever hacks. Raspberry Pi Pico helps the job much because it shoulders USB and power regulator circuits. Thank you Raspberry Pi Foundation!

The figure below shows a hack.

74HC164 is an 8-bit parallel-out serial shift register. The order S6-S4-S2-S0-S1-S3-S5-S7 looks odd. This is for minimizing PCB. The figure below tells it.

As you can see, through hole connector header is not very good to minimize PCB. However surface mount connector header easily comes off when you pull a connector.

Dec 20, 2023

I2C split of P2PPCB mainboard Charlotte

QMK split keyboard interface is usually UART except AVR. But I chose I2C to mainboard Charlotte.

Qwiic (3.3V 4-pin I2C connector) is necessary for many accessories like OLED display or rotary encoder. If I adopt UART, the mainboard should have another connector. The connector occupies a certain area and makes the mainboard bigger. But mainboads should be small, really small, and of course, really really cheap (this is a big lesson of mainboard Alice).

This is a story of I2C split implementation on RP2040.

Structure

I2C is a protocol between single master and multiple slave. Master-to-master is not available. So a hand (usually connected to PC via USB) should be a master and the other hand should be a slave.

P2PPCB mainboard Charlotte has RP2040. QMK on RP2040 uses ChibiOS. ChibiOS doesn't support I2C slave. So the implementation of I2C slave is inevitably a dirty hack.

ChibiOS build system has "Community HAL" mechanism. "keyboard/p2ppcb/charlotte/hal_community.h"  (https://github.com/hajimen/qmk_firmware/blob/p2ppcb/keyboards/p2ppcb/charlotte/hal_community.h) can be included from the tail of "hal.h"  (https://github.com/qmk/ChibiOS/blob/0062927e3058a8b5ef587234bbd98d42fb4e595e/os/hal/include/hal.h#L344). The "hal_community.h" includes "charlotte_i2c.h" (https://github.com/hajimen/qmk_firmware/blob/p2ppcb/keyboards/p2ppcb/charlotte/charlotte_i2c.h). "charlotte_i2c.h" includes "hal_i2c.h" (https://github.com/hajimen/qmk_firmware/blob/p2ppcb/keyboards/p2ppcb/charlotte/charlotte_i2c.h#L61), but it is already once included in "hal.h"! (https://github.com/qmk/ChibiOS/blob/0062927e3058a8b5ef587234bbd98d42fb4e595e/os/hal/include/hal.h#L313). Yeah, this is a dirty hack.

"charlotte_i2c.c" and "charlotte_i2c_lld.c" structure are mimics ChibiOS's. "keyboards/p2ppcb/charlotte/i2c_master.c" (https://github.com/hajimen/qmk_firmware/blob/p2ppcb/keyboards/p2ppcb/charlotte/i2c_master.c) is not far from "platforms/chibios/drivers/i2c_master.c" (https://github.com/hajimen/qmk_firmware/blob/p2ppcb/platforms/chibios/drivers/i2c_master.c). "keyboards/p2ppcb/charlotte/i2c_slave.h" is almost a copy of "platforms/avr/drivers/i2c_slave.h" (https://github.com/hajimen/qmk_firmware/blob/p2ppcb/platforms/avr/drivers/i2c_slave.h).

In short, the structure is a patchwork from existing codebase.

Hardware

RP2040 has dedicated hardware for I2C. It is IP of Synopsys, DesignWare DW_apb_i2c. This is a big state machine and (needless to say) the states can be changed by inputs from I2C lines. Writing bitbang I2C code is a piece of cake because the states never fluctuate unless CPU changes them. But DW_apb_i2c is... a hell. Of course it raises interrupts too. ISR is another hell. "__not_in_flash_func" macro is fatally important to make ISR efficient enough.

Synopsys DesignWare DW_apb_i2c Databook describes everything in 292 pages PDF. If you need to debug "charlotte_i2c_lld.c", you should fully know the 292 pages. It might look roundabout, but "Haste makes waste" in this case.

Other MCUs

DW_apb_i2c may be used by other MCUs someday. Actually this post is mostly for the day and for the person who is going to implement I2C split.

The code in keyboard/p2ppcb/charlotte itself is dedicated for RP2040. But the dependency is not deep. Just find equivalents of "I2C_IC_*", "PAL_MODE_*", and "GP*" and replace. ChibiOS dependency is deep. In this case, it might be better to consider bitbang I2C. I haven't seen non-blocking I2C code of DW_apb_i2c except mine.

Dec 19, 2023

Tidbits of Junana

1u / Convex 1u can do 16 mm pitch

The figure below is the footprint of Junana 1u. Yes you can make 16 mm pitch keyboards with Junana 1u.

Common 1u keycaps' width is 18 mm. 1 mm gap is normal. Junana's 1.7 mm gap is large. This design is partly for 16 mm pitch, and partly for ergonomic-looking keyboards. You can rotate neibouring two 1u keycaps up to 10° on 17 mm pitch keyboards.

Why 17 mm pitch?

It comes from the stiffness of P2PPCB frame. Narrower pitch means less stiffness. With Kailh Choc V2 17 mm pitch, the gap between switches is 3.05 mm. It is almost the limit. So you can make 16 mm pitch keyboards by common way (steel plate or PCB mount).

Spheroid-ish top

Have you carefully looked at common keycaps? Sherlock Holmes said "You see, but you do not observe." Please pick up an Cherry or OEM profile ZXCV row keycap, and look at the left / right sides. Is it straight? No, it is curved. Have you ever recognized it?

Keycaps' shape is a large and deep domain.

Cherry and OEM profile has cylindrical top. It is good for dye sublimation (IBM Model F is the earliest one). The trend went to cylindrical top in 1980s, and 40 years later (now), spherical top is in fashion.

If you have cylindrical and spherical ones both, please compare the curve. Cylindrical top has much larger curvature than spherical top. It comes from the shape of human fingers. Human fingers are alike cylinder. If spherical top has large curvature like cylindrical top, the near edge of keytops bites your finger.

Is small curvature OK? Almost everything is OK in this industry because you will adapt almost everything soon, hahaha... Yes, OK, but I am not happy enough with it. It makes the look of keyboards dull.

The top shape of Junana is not spheroid, spheroid-ish. It has another long story. BTW in P2PPCB parts model it is modelled as spheroid for faster computation.

Dec 18, 2023

The objectives, achievements, and pros / cons of Junana

Junana is not an one-size-fits-all thing.

Making PBT keycaps requires injection molding. The technology is for mass (usually several millions) production. The molds are quite expensive. By producing millions of pieces from a set of molds, the price per piece becomes quite cheap. So we live among billions of one-size-fits-all things which are produced by injection molding.

In most cases, it makes us happy enough. In some cases, not. I was not happy enough with one-size-fits-all thing in this case.

The objectives of Junana:

  • 17 mm pitch
  • low profile
  • dye sublimation printable on all sides (except bottom) with reasonable price

These objectives have a price. Not only money, but also the feeling of touch and look. Honestly speaking, Junana keycap is filmsy. Low profile unavoidably results low stiffness. Sink mark is visible. It comes from thin top.

I will explain why these objectives worth the price.

17 mm pitch

Narrow pitched keycap is also good for common 19 mm pitch keyboards. The figure below shows a common case when you are making ergonomic-looking keyboards:

The center-to-center distance is 19 mm, but the keycaps interfere with each other.

Of course 17 mm pitch keyboards are also good. 19 mm pitch comes from the age of non-electric typewriters. In the age, professional typists should hit keys with adequate and even force. 19 mm pitch is good for such pianist-like manipulation. Many studies suggest a bit narrower pitch is better in current situation. Moreover, 17 mm pitch reduces the occupying space 20%!

Other cons of 17 mm pitch:

It looks sparse on 19 mm keyboards. On 17 mm:

On 19 mm:

Low profile

Smaller, lower, cheaper... They are good things as far as they don't cost much.

Low profile switches are available on the market. Kailh Choc V1 / V2, Gateron Low Profile, etc. But I didn't have white blank PBT keycaps to fit with them!

Many low profile switches have manufacturer's own mating system. Such system lacks an ecosystem which is large enough to pay the initial cost of injection molding. But Kailh Choc V2 and Gateron Low Profile have Cherry MX stem, so the keycaps fittable with them are also fittable with Cherry MX compatible keycaps. This is the choice of Junana.

(BTW I didn't check Cherry MX Low Profile yet)

Other cons of low profile:

It is irrelevant on Cherry MX compatible switches, and they are the majority of the market now.

Dye sublimation printable on all sides (except bottom) with reasonable price

I have ran DecentKeyboards for years. Again and again I asked white legends on colored keycap. You may not be interested in such thing, but I know the value.

With usual way (double shot), it requires 20,000 USD as initial cost. 3D dye sublimation can print on all sides, so it can make white legends on colored keycap. But the price per piece is 10 USD at least (if the keycap is common thing and the misalignment tolerance is under 0.5 mm).

Junana is carefully designed to achieve the objective.

Junana's height is low. This is partly because the low profile switches, and partly for the objective. Higher profile requires higher running cost.

The price of achievement is not limited to money. The feel of use can be a sacrifice. Junana has long skirt on the front side. This is for the feel of use. The figure below is a cross section of a keyboard with Junana:

When your finger moves from near to far (from left to right in the figure), sometimes your fingertip rubs the front side of keycap. I tested many 3D-printed prototypes and found the phenomenon. Without the skirt, the fingertip rubs the edge of a keycap and it is uncomfortable. If the keyboard is flat, it may be not a serious problem. But my P2PPCB is for 3D-shaped keyboards!

Moreover, the skirt is good to show front side color or legend, instead of showing switches. I am a maker of keycaps, not switches:-)

Other cons:

Front side printing is not very accurate. Look at the photos below:

It is the balance of accurary and running cost. If you are willing to pay much, I can do much better.

New products from DecentKeyboards

I am excited to announce the new products from DecentKeyboards.

Brand new and original profile keycap, Junana

I am a big fan of low profile switches. But on the market before, there was no suitable keycap for me. So I decided to produce one myself. It is Junana.

The main features of Junana MX:

  • MX stem
  • fits with Cherry MX compatibles, Gateron Low Profile, and Kailh Choc V2
  • PBT
  • designed for 17 mm key pitch
  • spheroid-ish top and geeky look
  • convex and concave
  • width variation: 1u, 1.5u, and 2.25u
  • dye sublimation printable on all sides seamlessly (except bottom)

Blank and printed Junana MX keycaps are now available for purchase!

Keycap set design tool, keycap-designer

The design process of keycap sets has some unique problems. keycap-designer offers the solution. Junana is of course the main target. XDA (9.5 mm height) is also available.

The learning curve is a bit steep. If you are not going to design a keycap set or very elaborate thing, not worth a look.

You can order custom printing by just sending me the preview PDF of keycap-designer.

Windows PC or Mac is required.

Download from here: https://github.com/hajimen/keycap_designer

Software / hardware complex for rapid prototyping of 3D-shaped keyboards, P2PPCB

P2PPCB platform helps you to create 3D-printed 3D-shaped keyboards.

The main features of P2PPCB:

  • all softwares are open-source or charge-free for hobbyists
  • hand-soldering free
  • MX / Choc V1 / Choc V2 / Gateron LP switches are available
  • XDA (9.5 mm height) / DSA / Cherry / OEM / Kailh Choc V1 / Junana MX keycaps are available
  • switch LED available
  • the firmware is QMK
  • Windows PC (recommended) or Mac is required

This is an example of P2PPCB artifact:

Start from here: https://github.com/hajimen/p2ppcb_software