Touch, Type and Sketch on the Go With KeyMo

by NuMellow in Circuits > Raspberry Pi

92 Views, 2 Favorites, 0 Comments

Touch, Type and Sketch on the Go With KeyMo

20250413_192052.jpg
20241023_211259.jpg

Hello, and let me introduce you to KeyMO, a portable computer that you can use to write, sketch, code, and compute on the go!

I have loved the idea of a portable, but full fledged computer for the longest time, and even though smartphones and apps may be may be more refined for the on-the-go experience, I still think it's good to explore other mediums. For instance, this device gives me a better coding experience than if I were coding on my phone, one because of the physical keys (and no auto correct) but also because I can run desktop programs and have unrestricted access to storage.

Aside from the cool factor, I also had a practical reason to make this: I sometimes travel pretty far to visit family, but would still be working, so I end up traveling with both work and personal laptops. It gets pretty cumbersome, especially given the fact that I usually never end up doing anything really demanding with my personal laptop. Tasks a raspberry Pi could probably fill up: some light coding, maybe some video watching. (I can sacrifice the gaming for more family time or maybe do retro gaming)

In this instructable, I'll walk through how I built it, some design decisions and how it's been using it.

Supplies

20250428_214519(1).jpg
  1. Raspberry Pi 4B (3B shown in image)
  2. PiSugar 2 Pro/Plus
  3. 4 inch waveshare touchscreen
  4. Rii Bluetooth keyboard
  5. 3D printed casing
  6. 4 M2.5x4mm Screws
  7. 3 M2.5x16mm Screws
  8. 4 M2.5 Nuts
  9. mechanical pencil
  10. stickynotes
  11. Super Glue

KeyMO?

20241023_212012.jpg

In case you were wondering "Why 'KeyMO' (or KMO for short)?" Most of the coding I'm doing on this is for the BMO project I made a little while back. It gave me a more accurate feel of how the programs would run on it, compared to my beefed up laptop. So BMO now has a new (non canon) little brother, one that has a keyboard.

Inspiration and Design Decisions

Screenshot 2025-04-25 164649.png
Screenshot 2025-04-25 165007.png
20250425_165158.jpg
20250425_165207.jpg
20240925_200237.jpg

I was inspired by the Hackberry pi as well as the T3rminal cyberdeck. Both of these devices are amazing in their own right, but there were things I wanted to do differently in both cases:

The hackberry pi is the closest thing I've seen to what I've always imagined for the phone sized PC, but it uses a raspberry pi zero, which for my use cases would likely not be quite fast enough. I decided I wanted to go with a pi 4 (or 5)

The T3rminal was just what I was going for. The only reason I didn't build it is that it did not have a touch-pad and I felt that the touch screen alone might not be a good experience on the Raspbian OS. So my version would ideally have a touch pad as well. I also wasn't feeling very confident in ripping out the Pi's USB ports to make it slimmer.


Design

With those starting points, I began to window-shop for parts as well as sketch out what it might look like. I already had a 4inch display lying around so I came up with an interesting design where I had space next to the screen and I imagined having a notebook that I could also make physical notes and sketches on. As far as user interfaces go, this gave me a little bit of everything: A touchscreen, a keyboard as well as the good old pen and paper, complete with a pen mount as some modern tablets have :D

Tradeoffs and Changes

Since I was keeping the USB and Ethernet ports intact, I needed another way to keep the device from being too chunky. Inspired by, slim raspberry pi cases, I decided to have the ports pop out of the case. This also meant that the screen would pop out as well. While it kind of looks cool as a floating display, it also means it's more exposed to the elements and thus need to be mindful how I'm handling it. In the future, I may make a casing for the screen as well, but since it's not pocket-able, I've been using a small pouch bag which has worked pretty well.

My original idea for the "stylus" holder was that it would magnetically attach to the side of the device, but as I was modelling the case, I saw that I would have a decent amount of space in the case and opted to make a slot similar to the Samsung note and tablet devices. This would also end up simpler than attaching magnets to the side of my pen/pencil as I had originally planned.

The keyboard also came with remote control buttons on the backside which you could program. I thought this might be cool so included holes in the back of the case so I could flip the device and use the remote for the tv or lights. Though I found not a lot of my devices use infrared so didn't find much use it it.

First Print and Iterations

The first version of had the keyboard sit at the very bottom of the case, and while it worked out okay, I found that it was strenuous on the thumbs to reach the keys on the bottom row and needed you to readjust how you held the device. I went back to the drawing board to see if I could raise it higher. Fortunately I did have quite a bit of extra room. I thought that I'd probably need to move the stylus holder to below the keyboard but found that I still had space beneath the screen.

I used fusion 360 to model the case and found that making changes like this was much faster and less error prone than if I was using TinkerCad. This is was because with fusion you have a timeline of your changes and you can make tweaks to a specific change and have the whole design update from it.

In any case I was able to place the keyboard higher which did make it a lot more comfortable to type with. I also removed the holes at the back for the remote control buttons as I realized I didn't need them.

Specs, Pros and Cons

20241023_211305.jpg
20241023_211652.jpg

Specs

One thing I always wonder when I see other cyberdecks is how long the battery lasts, so here are a few specs of KMO

Battery life: My tests involved watching live streams on YouTube and leaving it idle with the screen on max brightness and min brightness. (Min brightness had the screen basically off)

Max brightness YouTube: 3.5 hrs

Max brightness idle: 5 hrs

Min brightness YouTube: ~7.5hrs

Min brightness idle: ~9+ hrs


Pros

Some Pros.

Thin: The body is 18mm thick which makes it pretty hold-able for typing.

Multi-modal: Apart from the keyboard and touchscreen and all, I have enjoyed the pencil and paper. I'm all for anything that's encouraging me to sketch a little more

Floating screen?: I kind of like the look.


Cons

A couple of cons of this design:

Top heavy: most of the components are placed in the top half of the device and so, even though not very heavy, you can notice it after extended use

Exposed screen: Like mentioned earlier, the exposed screen makes this device more fragile

micro SD card location: I thought it could be cool if you easily swap the micro sd card that way you could have different operating systems on the go too. With this design you'd need to unscrew the case.

Build

20250428_221529.jpg
20250428_221321.jpg
20250428_221400.jpg

The build and assembly is fairly straight forward as it's mostly attaching the components to the pi and placing them in the case. Even adding the threaded inserts in the case (which was a first time try for me) went pretty smoothly.

The only thing that required particular attention was changing the filament in the middle of a print. I don't have a multi-filament printer, so in order to get the two-tone case, I needed to keep an eye on when the print reached a certain point, pause the print and quickly swap to a different color filament.


Print cases

I've attached the files below. These consist of a back and front plate, the stylus holder, as well as a back cap that covers some wires that the Pi sugar battery pops out of the back. It's possible to remove the connector on the pi sugar board and solder the wires directly. This will allow the back plate to be completely flat. I attempted this but don't think I did a great solder job and the device would power off randomly. I've added a back plate file without the slot, if anyone would like to try this approach.

Word of caution: Be careful as there is risk of damaging the board when removing the connector, or shorting the battery when soldering the battery directly as the solder points are pretty close to each other.

If you're okay with having a little bump at the back of the case, then use some super glue and place the back cap in the slot.


Add pencil holder

As for the pencil holder, I opted to using a mechanical pencil so that I didn't have to worry about having different sized pencils unable to fit. With the attached files, any cylindrical pencil, mechanical pencil, or pen with a diameter of 8mm should fit. That said, if you're familiar with tinkercad I've also added a link to a TinkerCad project so you can make your own edits. It also provides steps you can follow to make your own sized stylus holders up to 10mm, the size of the hole on the case. https://www.tinkercad.com/things/a2tIlZLNaRi-stylus-holder-for-kmo

Once printed, these will also go in the slots on the back plate. Friction will secure them in, but I still recommend some super glue for good measure, especially as the holder will be very grippy initially.


Add threaded inserts

The threaded inserts allow the case to be screwed in more tightly. In previous projects I have been able to get away with simply adding holes in the case and screwing into those, and while it did hold the case together, they could be pulled apart without a lot of effort. This makes it so you would need considerably more effort to force it apart.

I used a soldering iron to heat the threaded nut which would allow it to sink into the case (as the case begun to melt). To make sure that the nut would lie flat and also that melted filament wouldn't fill in the nut, I heated it with a screw screwed in and made sure that the screw pointed straight up as the case cooled off. Once the case and nut had cooled off I then removed the screw.



Assembly

IMG_eqmssh.gif
IMG_0zdazg.gif
IMG_urt0en.gif
IMG_1upxtl.gif

Connect Pi Sugar battery

I only used one of the original screws of the PiSugar to attach the board to the raspberry pi. I used the M2.5x16mm ones to screw in the rest as they will be screwed from the back plate and also screw the screen in.

I aligned the pi and battery along the front and back plates, ensuring the the screw holes aligned and then closed the case and added the screws.

Add screen

The screen could then be attached on top and secured with the two top,M2.5x16mm screws.

Lastly, I added in the keyboard, pencil and stuck on some sticky notes

Uses

IMG_hgakbx.gif
20241023_211448.jpg
20250303_215727.jpg

While I haven't had the chance to travel yet and visit family, I have taken it with me to work, coffee shops as well as using it while lazying at home. As far as it's original use case, it definitely trims a lot of weight from my bag and makes it easier to move around. I've also found it's been pretty nice to lie down on the couch and able to code a small script or two.

So far I've mainly used it to code some programs, write some stories and posts (including most of this instructable), sketch on the go and play some games. But I've also been experimenting some other uses. Some particularly interesting ones have been:

Remote Pi Hub: Using KMO to remote into other Pi's especially if they don't have an easily accessible application, for example in robotics

Making music on the go: I have a small midi keyboard and found out that I can power it using KMO via USB and wondered if it can be used with some midi software to make music. Indeed you can. I used LMMS which is a music production software on linux and it was plug and play! While the screen size can make it hard to navigate around the software, it can be nice for making music sketches and the like. Or connect it to a monitor for the full experience.

(Also with them having the same color scheme, it's like they were made for each other :D)

Docked mode: Since all the ports are intact, you can connect to external monitors, a keyboard and mouse for a full desktop experience. This is how I intend to use it when I do travel.


Overall I'm really happy with how it came out. It has a few cons as well as some further improvements I intend to make but for now I'm pretty happy. Hope you enjoyed reading along and hope it inspired you to build one of your own.