Keyboard Builders' Digest / Projects
Cocot46plus
Aki27's cocot46plus is a monoblock angled mechanical keyboard with a beefy 34mm trackball, rotary encoder, and OLED display.
Published May 30, 2022
I'm always glad to see a cool project evolving, and after @aki27kbd's original cocot51, cocot46, and the low-profile cocot46-lp variant, the cocot family is growing with the cocot46plus these days.
(Btw the name "cocot" is derived from: Combined Corne with Trackball.)
The cocot46plus is a compact column staggered keyboard equipped with a trackball and a rotary encoder. By arranging two keys and an encoder under the central trackball, it is an "all-in-one keyboard that can also cover mouse functions".
Unfortunately, just like most Japanese models, the cocots' source files are not available (yet?). However, this one has some neat features you may find useful or which could inspire your next project:
Specs
- Compact layout with 46 keys
- 34 or 25mm trackball (ADNS-5050 sensor), with adjustable North position, CPI, etc.
- OLED indicating layer and trackball status
- rotary encoder
- Undergrow LEDs and indicator LEDs
- Optional acrylic laminated case
- Pro Micro
Background
Aki27 works as a building designer/engineer in his main business, and working on keyboard designs is one of his hobbies.
I started to use DIY mechanical keyboards with Corne Cherry in June 2021 first. It was a great stuff and I really love it now. However, an integrated board would be preferable in my use case, which made me interested in designing a keyboard – aki27.
Another driver to design his own keyboard was his dream to properly integrate a pointing device into a keyboard.
While typing on keyboards, shifting my hand from a keyboard to a mouse/trackball was so frustrating that I wished if a trackball were integrated with a keyboard. As long as I researched, there were few products which integrate a keyboard and a trackball, and none of them satisfied me at that moment. So I started to design my own keyboard in July 2021.
Trackball
While earlier models sported a small pointer (7mm), two larger types of trackball cases are compatible with the cocot46plus. The 34mm ball is one of the most popular trackball sizes with good usability and availability. "The 25mm ball is a bit tricky but still interesting as to its compactness".
By being able to mount a large ball, the feeling of maneuvering has been greatly improved compared to the conventional cocot series – aki27.
With regards to firmware, you get some handy custom keycodes to configure your trackballs: like adjusting the sensor coordinates in 15 degree increments (clockwise or anticlockwise), CPI/resolution, scroll modes, etc.
As the trackball is positioned at the center of the board, the hand direction is shifted from the true North while you put your hand on the ball. You can customize the trackball motion coordinate with the custom keycode ROT_R15 and ROT_L15 – aki27.
With the default firmware, trackball mode is predefined by the layer status. E.g. the base layer indicates cursor mode but lower-raise layers default to scroll mode.
Display
To keep track of all the important parameters, they are displayed on the OLED screen:
Duplex matrix
If you are wondering how all the features listed above are driven by a single humble Pro Micro, the answer is: duplex matrix.
Indeed, this is a good example of the Japanese duplex matrix (introduced in KBD#75). So this is not the more common Western duplex but the one utilizing the voltage drop across diodes to avoid ghosting – and to spare on GPIO pins to be able to cram more functions into the same controller.
Some exclusive stuff for ya (click to enlarge):
So that's how the key matrix part is done with only 10 pins.
Some diodes are added for the columns to prevent key ghosts which were observed in the duplex matrix – aki27.
In the run-up to the cocot46plus being about to reach the market, Aki27 already prepared a detailed build log, and the firmware and product pages are ready as well.
The cocot46plus will go on sale in the BOOTH in June.
Published on Mon 30th May 2022. Featured in KBD #80.