Author Topic: PiKeeb - all-in-one cyberdeck/digital typewriter with new and improved design  (Read 4748 times)

0 Members and 1 Guest are viewing this topic.

Offline ILWrites

  • Thread Starter
  • Posts: 20


Foreword

Hi, geekhackers!

As some of you might know, my name is Ilya (aka ILWrites) and I'm the creator of PiKeeb - the portable digital typewriter.

Since the last appearance about two years ago, I've been very busy iterating both the electronics, the functions and the looks of this project.

Many things have changed since the last post and, let the almighty mods forgive me, I decided to make the entirely new post.

Please, note that this is not an Interest Check nor a Group Buy (yet) and, therefore, you won't be able to make the pledge towards production (which is planned down the line). However, if you really like this project and want to contribute to its creation, I have a Patreon where you can do just that. It'd be really-really appreciated if you consider to support this project!

So here we go.


What is PiKeeb?

PiKeeb is the open-source SBC-enabled battery-powered portable digital typewriter/computer (or, if you will, a cyberdeck) with the hot-swappable fully mechanical switches. The name "PiKeeb" originates from the "Pi", as in Raspberry Pi - the most famous brand of single board computers for students and hobbyists alike, and "Keeb", which is the short way of saying "keyboard".

Why?

You see, this project was born out of pure curiosity and a will to make something truly unique and mine. It was a way to test my skill set in electronics, modeling, and programming. I also work with texts a lot and am always on the go. I needed something portable, capable, expandable and mechanical. And a combination of laptop + mechanical keyboard simply did not cut it for me, was too bulky and inconvinient. That's how the initial idea of PiKeeb came to be.


What does it do?

PiKeeb can do many things. It can function as a standard 60% fully programmable keyboard for any Windows, Mac, Linux PC by connecting via either Bluetooth or USB. It can also function as a stand-alone mini-PC that is capable of working with texts and running not-so-demanding apps (such as retro gaming, simple programming and debugging systems via ssh). The versatility of ARM-based Linux distros makes it great for customisation not only from visual standpoint but also in functional aspects by having nearly all of the functions of a normal PC shrunk down into the miniature keyboard-size case.

As they say, a video is worth a thousand pictures, so here is one:


Let's talk functionality!

As this is very complex project that can do a whole lot, let's divide the functionality into several categories: layouts, keyboard, compute, expansions and design


Layouts:

There are two PiKeeb versions: ortholinear and staggered. There are several layout options for each one:


Here, RE stands for the rotary encoder. You can install up to two rotary encoders per board that can be programmed to do whatever you want. Examples include controlling volume, brightness, navigating menus, and even playing mini-games on the keyboard status display.

Main Keyboard functions:
  • Full programmability - thanks to the dedicated Atmel chip running QMK, the functions of every key can be reprogrammed and tweaked
  • MX hot-swap sockets - every key can be hot swapped without the need of desoldering the switches
  • Control the functions, see the change - PiKeeb lacks RGB backlight, but makes up for it by having the status display that shows battery and SBC status, active layer and so much more!
  • Wireless mode - thanks to the support for Bluetooth Low Energy module, PiKeeb is also good for typing on tablets and phones

Main Compute functions:
  • Support for several SBCs - PiKeeb supports two types of SBCs: Raspberry Pi Zero (or Zero W) and Compute Module 4 with the expansion board called CMM (more on the CMM below)
  • Displays - you have a choice between the 7" TFT LCD and the 7.5" ePaper display. Ether one is connected directly to the SBC and does not interfere with HDMI output, giving you the option to connect the PiKeeb to the external monitor
  • Portability - 5000 mAh battery should give you 3-5 hours of on-the-go typing, depending on the SBC loads
  • Multi-modal experience - As well as intended function of on-the-go typing, PiKeeb is also capable to work as a regular USB keyboard for any PC

Expansions:
  • Built-in USB hub - you can connect up to two USB devices with the USB type A ports to expand the functionality of the PiKeeb. These devices will be shared between the connected PC and internal SBC when you switch the mode
  • CMM - While being super small, sometimes Raspberry Pi Zero is not enough. That's why CMM was born. It's capable of driving the Compute Module 4 and have a couple features of its own:
    • Sound - the built-in stereo speakers and headphone jack paired with the onboard DAC+AMP makes the PiKeeb not only a good keyboard but somewhat capable portable media player
    • Storage - CMM also has the M.2 slot for NVME SSD of 2230 and 2242 form-factors
    • Extra USB port that is not shared with the PC and is for CMM only
    • Ethernet port for connecting to that mainframe

Design:
I'm not gonna lie, designing the PiKeeb was't easy. I didn't want to settle for another laptop-like device. The whole design was inspired by the typewriters and the old PCs like Amiga, ZX spectrum and Commodore. So from the beginning of the project I've settled on the couple design principles:
  • Portability - the device has to be portable to be tucked away in a bag. Hence, the 60% layout was chosen as it provides the portability and functionality
  • Screen should not obscure the view when in PC mode. Because of this, screen has to go underneath the device. The idea to make it hinged came with the need to incorporate sliding mechanism.
  • Versatility - it has to be a versatile device that I can use at home (PC mode) and away (SBC/Bluetooth mode), thus making PiKeeb the only keyboard I'll ever need

That's why the PiKeeb looks and functions the way it is.

Project status: active! Prototype is enroute!

As you can see from the picture above and from the video, I've already build the functional prototype. But there are a couple of little fixes that needs to be addressed.

Hopefully, soonTM I'll have a fully functional prototype looking as good as the intended finished product. Until then, I'm not thinking about IC/GB/CF. Prototype first!

Where to follow the project:
If you want to follow the project, I have a few social media accounts dedicated to it:
Reddit - https://www.reddit.com/r/PiKeeb/
Twitter - https://twitter.com/pikeeb
Discord - https://discord.com/invite/f4JB7nH

I'm mostly active on Reddit and Discord.

Once again, if you like what you see here and wish to support me and the project financially, you can do that by becoming the patron on Patreon:

https://www.patreon.com/pikeeb

Patrons get the exclusive updates on the project, the access to a special Discord room as well as my eternal gratitude.

Thank you for considering supporting and following the project! It means a world to me!

Let me know what you think of the project. Is it interesting to you? Is it relevant? What are the things you'd like to see?

So... Back to work!

Offline fpazos

  • Posts: 122
Wow. That's a really nice project. One of the bests I've seen. I hope you find a nice future to your pikeeb.

Edit: people from r/cyberDeck will love this
« Last Edit: Wed, 24 March 2021, 11:44:43 by fpazos »
 

Offline parablol

  • Posts: 97
WOW!

Thank you so much for offering it with an otholinear PCB.

Thank you so so much for providing the option to use 2x 2u space keys on the ortho PCB.

This is already a whole lot of AWESOME, so I hesitate to ask... but would you consider adding the option of 1.5u+1u+1.5u outer bottom row mods as seen with nasp's Plexus75? See: https://m.imgur.com/5M5RLER

Offline nevin

  • Posts: 1284
  • Location: US
looks absolutely fantastic! :thumb:
it's come a long way... WOW. very polished (final product looking) love the details on the forehead.

just dropping in to say nice work & i'll be keeping an eye out for it.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline ILWrites

  • Thread Starter
  • Posts: 20
Wow. That's a really nice project. One of the bests I've seen. I hope you find a nice future to your pikeeb.

Edit: people from r/cyberDeck will love this


Thanks for the kind words! ;D Yes, r/CyberDeck people are loving it!  :thumb:

WOW!

Thank you so much for offering it with an otholinear PCB.

Thank you so so much for providing the option to use 2x 2u space keys on the ortho PCB.

This is already a whole lot of AWESOME, so I hesitate to ask... but would you consider adding the option of 1.5u+1u+1.5u outer bottom row mods as seen with nasp's Plexus75? See: https://m.imgur.com/5M5RLER

Hmm...  :rolleyes: Hmm.....  :-X Hmm...  :eek:

You know what? I'm DOING IT! ;D

Thanks for pointing that one out! I've been looking for ways to offer more options to the ortholinear layout!

looks absolutely fantastic! :thumb:
it's come a long way... WOW. very polished (final product looking) love the details on the forehead.

just dropping in to say nice work & i'll be keeping an eye out for it.

Thank you for your continuous support! ;) I appreciate it a lot!

Offline nevin

  • Posts: 1284
  • Location: US
Quote
Thanks for pointing that one out! I've been looking for ways to offer more options to the ortholinear layout!

the 1st version of keeb.io's viterbi had the option to use 4x 1.25u mods instead of 5x 1u keys..... it has since been removed from the rev2 pcb's but was a neat option especially if you have a handful of novelty 1.25 mods    ....just for another example
265224-0
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline kidviddy

  • Posts: 89
  • Location: California
    • 駄日記
This looks really coolÖ Iíve toyed with the idea of having a mini portable E-Ink machine on hand for a while, and I love the fact that you have staggered and ortholinear options!  Definitely interested :-)

For your staggered layout, I have two suggestions:

  • Add a split 1.25U/1U left shift. This seems like it might be an oversight as apart from this you have good ISO support, but itís missing this one key for ISO layouts.
  • For your split right shift, you currently offer a 1.75/1U split, which is a sensible and popular option.  Would it be possible to include the reverse option as well, i.e. a 1U/1.75U split?  This would allow for JIS layouts, and coupled with your bottom row configuration which has space for the extra JIS mod keys either side of the space bar, would make this keyboard a really great option for people looking for JIS compatibility ó not to mention bluetooth and the fact that thereís a whole computer in there as well!

Offline ILWrites

  • Thread Starter
  • Posts: 20
the 1st version of keeb.io's viterbi had the option to use 4x 1.25u mods instead of 5x 1u keys..... it has since been removed from the rev2 pcb's but was a neat option especially if you have a handful of novelty 1.25 mods    ....just for another example

That's interesting indeed! I'm not a huge ortholinear aficionado (yet, anyway), so I don't really know all the stuff and layouts. However, I'm fairy limited in my ability to offer variants by the fact that I use hot swap sockets. They are large and affect the PCB layout by some significant margin. But I'm not objecting. So thanks for your suggestion! I'll see what I can do.

For your staggered layout, I have two suggestions:
  • Add a split 1.25U/1U left shift. This seems like it might be an oversight as apart from this you have good ISO support, but itís missing this one key for ISO layouts.
  • For your split right shift, you currently offer a 1.75/1U split, which is a sensible and popular option.  Would it be possible to include the reverse option as well, i.e. a 1U/1.75U split?  This would allow for JIS layouts, and coupled with your bottom row configuration which has space for the extra JIS mod keys either side of the space bar, would make this keyboard a really great option for people looking for JIS compatibility ó not to mention bluetooth and the fact that thereís a whole computer in there as well!

Thank you for your interest! It's nice to see like-minded people around!

As for your suggestions, yeah, not adding split left shift was an oversight. Thanks for pointing that one out! Regarding JIS support, as I've said to nevin, it'd be difficult to modify the current PCB layout as I'm using the hot swap sockets, and they are not as flexible.. But I'll try to include this anyway!

Offline nevin

  • Posts: 1284
  • Location: US
i was just giving you an example of one of the few ortho boards that had "unique" layout options. i ran it with mods for a while but recently switched to 5x 1u keys and shuffled the keymap around a bit so it was easier to chord modifiers with my thumb.

yes, being hotswap does limit your layout options but hotswap is what should be used for the demographic you're probably going for. the ortho or staggered options (and good staggered layout options) is already more than anyone could ask for.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline ILWrites

  • Thread Starter
  • Posts: 20
i was just giving you an example of one of the few ortho boards that had "unique" layout options. i ran it with mods for a while but recently switched to 5x 1u keys and shuffled the keymap around a bit so it was easier to chord modifiers with my thumb.

yes, being hotswap does limit your layout options but hotswap is what should be used for the demographic you're probably going for. the ortho or staggered options (and good staggered layout options) is already more than anyone could ask for.

Yeah, having more keys for mods, macros and such is something I adore orthos for. You can never have enough keys. MOAR KEYS!!!!111! :D
Though, I understand that stagger is more of a "comfort zone" for many, including myself.

Certainly. there are some gotcha's when working with hot swap sockets. But hey, it's a challenge. And I love myself a good challenge! haha... ;D

Offline nevin

  • Posts: 1284
  • Location: US
well 5x14 ortho (or split 5x7's) is about as close to a standard 60% qwerty as you can get without having a bunch of extra keys, and only moving like one or two keys on the right side which "most" don't use much anyway. it's enough keys to keep a normal number row and gives you that little bit of extra room on the right side so you don't have to relocate the brackets, -,=, etc...
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline roostrc0gburn

  • * Esteemed Elder
  • Posts: 1383
  • Location: Oregon
  • its just plastic
i love this project. very cool to watch the progression over the years. i look forward to purchasing a kit when/if they ever become available

one point that i dont see mentioned (and i might be blind or lazy) but will it function as just a keyboard? i assume the answer is yes, but just checking

Offline nevin

  • Posts: 1284
  • Location: US
What does it do?

PiKeeb can do many things. It can function as a standard 60% fully programmable keyboard for any Windows, Mac, Linux PC by connecting via either Bluetooth or USB. It can also function as a stand-alone mini-PC that is capable of working with texts and running not-so-demanding apps (such as retro gaming, simple programming and debugging systems via ssh). The versatility of ARM-based Linux distros makes it great for customisation not only from visual standpoint but also in functional aspects by having nearly all of the functions of a normal PC shrunk down into the miniature keyboard-size case.

Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline ILWrites

  • Thread Starter
  • Posts: 20
i love this project. very cool to watch the progression over the years. i look forward to purchasing a kit when/if they ever become available

one point that i dont see mentioned (and i might be blind or lazy) but will it function as just a keyboard? i assume the answer is yes, but just checking

As nevin quoted, yes, it's possible. PiKeeb has the USB switch IC that lets you choose what you want to type on, SBC or PC. Plus, there is always Bluetooth option.

Offline ILWrites

  • Thread Starter
  • Posts: 20
Ok, guys. How does this layout combo look?

Offline kidviddy

  • Posts: 89
  • Location: California
    • 駄日記
Ok, guys. How does this layout combo look?

Amazing! This is perfect for my needs :-)

Offline ILWrites

  • Thread Starter
  • Posts: 20
Thanks, kidviddy!

Now... Adding a couple of holes for 3U spacebar-weirdos on ortho should not be hard... I mean, I have the space (pun intended) :D

What do you think?

Offline Vibex

  • Posts: 920
  • Location: Cambridge, MA
  • Love y'all
Ok, guys. How does this layout combo look?
Show Image

Only thing I would think about adding is an offset right shift so that there is an option for having arrow keys. 265893-0
I hope y'all appreciate my beautiful drawing

Offline nevin

  • Posts: 1284
  • Location: US
The default 1.75 right shift can be used as up arrow. I used it that way for years when the 60% were just becoming a thing. I got a kbtalking (vortex) pure 60% which had a 1.75 right shift.
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline kidviddy

  • Posts: 89
  • Location: California
    • 駄日記
Thanks, kidviddy!

Now... Adding a couple of holes for 3U spacebar-weirdos on ortho should not be hard... I mean, I have the space (pun intended) :D

What do you think?

Very cool  :D

Offline ILWrites

  • Thread Starter
  • Posts: 20


Only thing I would think about adding is an offset right shift so that there is an option for having arrow keys.

Thanks for the suggestion! But I don't think that's possible. That corner already looks like a Swiss cheese.  ;D


I mean, adding 1.75U "?/" key is not an issue, but I may (and probably will) run into trouble of socket pads colliding with each other when adding two 1U buttons.

Plus, in order for this to work the end user would still need to solder some of the sockets, which is the exact thing I try to avoid... I mean, what is the point of having the hot swap, if you still required to solder some of the sockets?...

Offline Vibex

  • Posts: 920
  • Location: Cambridge, MA
  • Love y'all
Thanks for the suggestion! But I don't think that's possible. That corner already looks like a Swiss cheese.  ;D
Ah thats to bad, but totally makes sense! I use fn layer nav keys anyway so doesn't effect me to much.