Hacker News new | past | comments | ask | show | jobs | submit login
How to create a handheld Linux terminal (n-o-d-e.net)
169 points by bootload on Jan 13, 2015 | hide | past | favorite | 92 comments

I think the key point to efficient mobile linuxing is neither the hardware nor the basic software but the language input. I feel touchpads and mobile keyboards are both not handy to communicate with bash/vim in the subway. We need a better mobile keyboard for that. Does anybody know who's working on something in that direction?

How about a chording keyboard? Having one strapped to your thigh would be the wearables pioneer approach. The Twiddler3 is a modern one-handed keyboard product. There are also projected laser keyboards with a traditional layout; the projected keyboard takes up a fair amount of space and really needs a flat stable surface (not good for use on public transportation or while queueing) but the hardware is quite small.



The default layout for the twiddler is pretty awful. If anyone wants to try one of these, check out the TabSpace layout.



It's much better.

If anyone's interested, there's a typing tutor for it and I have files to modify it for use with TabSpace (I'd have to find them though)


I'm not a fan of the laser keyboards, but the chording keyboard looks nice. However, the thought of using either of those with Vim already makes my hands hurt...

The Twiddler looks interesting, but I think that I'd need to radically rebind emacs in order to make it usable. Maybe not though.

Macros can be mapped to specific chords.

That really looks like what I want. I'm looking into it, thanks

I was trying to find a small Blackberry-like keyboard for a side project I was working on about a year ago. Doesn't exist, at least not in a form-factor that is easy to integrate (USB, Bluetooth, etc). The best I could find is a USB wireless keyboard that they sell on Adafruit that really, really, really sucked and was still way too big.

Boxee was one of the first to do a USB wireless keyboard in a nice form factor, though it is primarily a remote. They are tough to find, especially the 'sold separately' edition with the USB dongle (instead of de-soldering the receiver from a Boxee). Here's one on eBay: http://www.ebay.com/itm/111569863840

There are a number of knock-offs now, such as http://www.amazon.com/dp/B0092KDSQW/

However, if the AdaFruit 'smallest wireless USB keyboard available' didn't work out then these probably won't either.

I've got this SMK-LINK keyboard [1] for my HTPC, and it has worked out well so far.

If I wanted a portable Linux computer (besides my phone), I guess I could design a bracket to hold a small tablet or similar.

[1] http://www.newegg.com/Product/Product.aspx?Item=N82E16823158...

Too bad a Blackberry can't function as a BT keyboard.

Nokia N900 and E7 had good keyboards.

I think this app: http://appworld.blackberry.com/webstore/content/38050888/?la... allows you to do just that.

This looks excellent, thanks much for the pointer.

Yup, it is. I use this to control my HTPC. It works very well.

It's not about size, but about the idea behind it. The basic keyboard is designed for people sitting in front of a desk and using both hands. Making it smaller is just not enough. In the subway I have one finger, my thumb. I want an input device designed with that in mind. E.g. the iPod sliding wheel was exactly a result of designing an input device for a single finger. We need more like that and less blackberry keyboards.

Weren't the blackberry keyboards also designed for use with thumbs? That's how I always typed with mine.

The Lenovo N5902 isn't too bad, but I don't think I'd want to type extensively on it. For short messages, URLS, etc. it works ok.

How about The Other Half Keyboard for Jolla smartphone? (Which incidentally is the continuation of the N900/N9 from Nokia)


My main computer now is a 7" Samsung Galaxy Tab 4 (Android) tablet. To work I use Juice SSH (Android app) to connect to a server (actually a Beaglebone Black in another state usually, sometimes my Linode). I use bash and vim in the ssh terminal.

I also have Debian Wheezy installed on this tablet through the GNURoot app so I can use vim and bash on here also. Although I really need to root it and use Linux Deploy or something because the new version of GNURoot has a lot of permission issues. Anyway ssh works great. I also have an X Server Android app if I want to run graphical Linux apps.

If I need to I can use an Android VNC client to connect to my Linode, but I don't usually need that.

As far as the keyboard, it works great. Its a little bluetooth keyboard plus folio case combo that I got for $20 from Walmart. Its my favorite keyboard ever. I am using it right now. I use vim all the time with this thing.

Frogpad used to make a nice (i never used it) one handed keyboard.

There have been some chording devices - "The Twiddler" is one. https://youtube.com/watch?v=QG3SPSzWUv4

Sadly there are a bunch of patents that hamper innovation and experimentation.

I'm typing this on a Frogpad now. Due to an injury I've used it as my main keyboard for years. Unfortunately the company is all but defunct and the layout is propriety. For years I've been meaning to write script to set the keyboard layout of a full size keyboard to it. That way I can stop paying hundreds whenever an old Frogpad appears on ebay.

I really wanted to try out the frogpad back when it was first released, but never bought one. If you handled the chording in software I imagine it wouldn't require wiring very different from what people use to make regular DIY keyboards: http://cubiq.org/build-your-very-own-pc-keyboard Given the heavy use of chording in a one handed keyboard, I'm guessing Topre keys might be a better choice than any Cherry MX variety.

Have you tried the cykey keyboard, from the original inventor of the Microwriter keyboard? I got one in 2012 but don't use it much.

Still on sale from http://www.cykey.co.uk/

Or, if you PM me I can send you mine for postage because I don't use it much.

true. that's why the way to go with portable is to put a beagle bone or a Chinese arm soc in a mechanical keyboard. add some small screen (though you will always use the bb video out or a makeshift gglass) and you got yourself a cyber punk deck, minus the neural interface :-(

You can also make your own EEG and train a classifier of your choice (heavily biasing the "do nothing" command) with sklearn or something. I've used off the shelf EEG's (emotiv epoc with the emokit library, there may be better options) to bind thought actions to moving a mouse, clicking, opening a web browser, but it was a bit noisy. I had to bind the act of clicking to the thought of a flavor, because it turned out I was thinking about "clicking" far before the mouse ever got to my intended destination. I didn't use it long enough to start thinking about the flavor before my mouse got there, but I'm curious if it would have turned into an arms race against my own mind eventually.

I don't have a lot of experience(nil) in EEG, but it seems like the way you're doing it is the "unnatural" way to progress. We move our body parts as if with no thought at all. It's more like we "will" them to move rather than think the command "move!" and they move for us. They're connected to a different part of our brain, lower on the cortical hierarchy.

Maybe you'd get better results if you instead pretended you physically were the computer, and the cursor was just an extremity that you could wave about and click with like one of your body parts. You'd bind the clicking and moving functions of the computer to this instead of verbal commands/thoughts.

Or maybe I'm misunderstanding how this all works, and it's already done like I described. :)

but input is handled beautifully with the mechanical keyboard already. the neural interface was for output.

One way to use an ARM board inside a mechanical keyboard without a screen would be to use text-to--speech output through an earpiece, e.g. with the Speakup screen reader for Linux. But probably the only people who would want to use that are blind hackers. For that setup, a Raspberry Pi would probably be better than a BeagleBone Black, since the Pi has built-in analog audio output (though it's kind of crappy). I guess some of the Allwinner-based boards would work too.

Lenovo Mini Wireless Keyboard N5901 (it includes trackball with two buttons as well, so it's basically a mouse too) really amazed me. In my opinion, it's definitely worth checking out :-)

There's e.g. the Chordite project (a chording keyboard), with plans and software available for DIYers. It's been out there for many years already, but as "wearable computing" didn't catch up yet, it didn't either. See:



Could you elaborate on what "better" would mean here?

It does seem like a software problem to me. Most of what we do in the bash/vim isn't "typing text" per se, it's executing commands and configuring things. Those things can be solved in other ways that isn' as mush reliant on text input.

Examples would be great. Replacing vim with something more efficient on touch pads etc would also be interesting in my eyes (flow programming is something I would think about)

This is truly one of the coolest things I've seen in a while. I can't help but think of the little Atari Portfolio John Connor has in Terminator 2.

> I can't help but think of the little Atari Portfolio John Connor has in Terminator 2.

Late eighties/early nineties seemed like an interesting period for these sort of handheld computers. Another great example is the HP LX series, eg 95LX or 200LX http://i.imgur.com/pHa8YWD.jpg

Also this little sony thing from late 90s:


I finally understand that funny feeling every time I carry a computer in my backpack. That exact scene. Thanks a lot.

That scene had a pretty big impact on me as a kid. Here was a movie with time traveling assassin robots, but that scene always seemed totally believable and possible. I think about it a lot, for whatever reason.

I upgraded my Portfolio by duct-taping an rPi to it. :)

Very cool and inspiring. I'm doing something similar [1] by replacing the guts of a Toshiba Libretto 50C (a tiny laptop from 1996) with a Raspberry Pi and upgrading its screen to a 7" widescreen. It's slightly larger than your terminal, but in my opinion, will be much more usable as a PC with the larger keyboard. But, to each his own :)

What kind of battery life do you get with your machine?

[1]: http://restoringmylibretto.tumblr.com/

Estimated 8.6h with idle CPU, based on my calculations. Raspberry Pi A+ 0.52W usage at 100ma 5.2V on CPU idle (http://raspi.tv/2014/raspberry-pi-a-how-much-power-does-it-n...)

Adafruit PiTFT - 2.8" Raspberry Pi Touchscreen with full-on backlight the current draw is ~100mA. (http://www.adafruit.com/product/1601) 0.15=0.5W

Powerconsumption of Rpi and TFT should be 1.02W at idle.

PowerBoost 500 Charger - Rechargeable 5V Lipo USB Boost @ 500mA+ (http://www.adafruit.com/product/1944) 2.500Ah 3.7V LiPo 3.7V2.5Ah=9.25Wh Boosted to 5V at 95% efficiency 8.79Wh

8.79Wh/1.02W = 8.6h

*Edit: I did a mistake when I calculated the Watt-hour. The Watt-hours of the battery can't increase just because the voltage increases, changed it.

You should let it run idle and see how long until the battery is depleted. I underestimated the losses due to efficiency with my Libretto project (boost converters run at different efficiencies depending on the power draw).

I was able to get about 4 hours on a 6600mAh battery pack powering a Pi and a 7" touchscreen with wifi and bluetooth enabled (the project draws about 8W when the screen is turned on, about 5W with it turned off).

The Libretto runs linux, or at least used to. I have a libretto 30 on a shelf somewhere :)

Indeed! But, a broken one does not :)

Reminds me of the Zipit Z2, which was a handheld messenger toy that could be hacked to run linux: https://mozzwald.com/zipitz2

Not as much power as an RPi though.

>Reminds me of the Zipit Z2

Yep. That, and Ben NanoNote (http://en.qi-hardware.com/wiki/Ben_NanoNote), which is another Linux device in the same size category as the Z2 and with similar specs. The notable differences between the NanoNote and the Z2 is that the NanoNote has a USB 2 host port and no Wi-Fi.

The Z2 is a wonderful bit of kit. A few years back I used one as my main "laptop". If you're a console junkie it's surprising what you can do on modern Debian with only 32 megabytes of RAM. Most software that'll run on it will also compile on it, as long as you stick to C and avoid C++. The sound chip is fantastic as well so it makes a great portable media player, and the keyboard is backlit.

I bought an original Zipit in college and loaded linux on it, it was a surprisingly useful thing. I wonder what happened to that.

Hey author, link to the parts, with a referrer id and monetize this stuff!

Powering this with something slightly more powerful than a Raspberry and it should completely be usable. http://socialcompare.com/fr/comparison/low-cost-arm-boards (from 2013, does anyone have an up to date comparison list?)

http://linuxgizmos.com/ringing-in-2015-with-40-linux-friendl... is one list, but frankly there are ridiculous number of these boards/modules available.

and the guy from novena laptop just posted recently that in china, you can get much more models with much more interesting hardware.

I love how the author found consumer components and put them together to build the handheld. Looks really good!

There are a lot of inspiring projects over the web, but very often they require tools that aren't available to everybody or they're not cheap for one-off projects (laser cutter, 3D printers, etc).

> There are a lot of inspiring projects over the web, but very often they require tools that aren't available to everybody or they're not cheap for one-off projects (laser cutter, 3D printers, etc).

This is why hackerspaces are a rising phenomenon.

A Raspberry Pi accessory similar to this would probably sell pretty well. It might make sense to use the Raspberry Pi "Compute Module": http://www.raspberrypi.org/raspberry-pi-compute-module-new-p... It would be cool if Adafruit made a PiTFT that just accepted a Compute Module directly.

I put together a Motorola Atrix Lapdock Raspberry Pi, like this, but it's pretty bulky: http://www.instructables.com/id/The-Raspberry-Pi-Lapdock-Con...

The end result looks nice, I'd say even surprisingly so all things considered. This sort of thing is something I have wanted to do for some time, but have been pushing back due lack of money/time/tools/skills. Albeit in my grandiose plans I was thinking of more "engineered" approach, using some nice ARM module[1] instead of stripped RPi, bare LCD[2], custom keyboard[3] etc.

[1] e.g. https://www.toradex.com/computer-on-modules/colibri-arm-fami... looks quite nice and so-dimm form factor is inherently relatively thin.

[2] e.g. http://www.ebay.com/itm/5-6-1280-800-TFT-LCD-HV056WX1-100-Lc... bit bigger than what OP has, but still should be very portable

[3] This is surprisingly something that seems quite difficult to do. Maybe I'll need to 3d-print some keycaps. Or use mechanical switches, like these ones https://www.e-switch.com/product-catalog/tact/product-lines/...

If you don't want to build your own, you can buy one:


Its not just a terminal, though .. ;)

Everything related to Pandora has seemed sketchy as hell from day one. For instance, right now, both of the resellers on that site that service the USA don't appear to actually sell the damned thing. I also recall stores of pre-orders not being served for upwards of a year with little to no contact by the seller.

Yeah those days are over .. the survivor of the OpenPandora project - EvilDragon/Michale Mrozek - is the owner of the DragonBox Shop, and he has been the only trustworthy guy in the project so far, which was severely hamstrung by the financial mis-management of the originator of the project, Craig Rothwell. That is all water under the bridge now - EvilDragon has been selling the OpenPandora through his shop, and he is the principle organizer of the sequel to the Pandora, called the Pyra.

(You can follow EvilDragon and see his involvement in the community here: http://boards.openpandora.org/user/1-evildragon/)

I'm the happy owner of two of the original first batch Open Pandora machines, and was lucky to get them (F5 for the win) .. I've signed up for the Pyra too, as I really believe that EvilDragon, and his minions, are a fantastic group of like-minded adventurers, and I have absolutely zero hesitancy in recommending him to anyone interested in this project. He has been a stable part of this whole party ..

This is great to hear - the Pandora is a cool enough device and really needs some more love, but the experience for a random person wanting to buy one is still fantastically bad. Opaque storefronts which lead to opaque "unavailable" messages (despite the previous page declaring "in stock now!"), a news page that looks like the default from some ecommerce package.

Let me give you my money! Please! :(

Yeah, the Pandora is a sweet little device. I love mine! I hope you tune in and get a chance to find yourself one - they do come up on the forums at board.openpandora.org fairly frequently. Or, just wait for the Pyra .. ;)

I have looked at openpandora on and off since... I swear I was hearing about it as a college freshman, in 2005-2006? It was interesting and promising then but they completely failed to deliver. It has NEVER been available for purchase, regardless of when I've checked. Looking at Wikipedia it appears that they've managed to finally ship a massive total of 6000 units... well, it only took them 8 fucking years! That's an average of about 750 a year... is he hand-soldering these boards?

Yeah I was going to say the same thing. Even comes with X-Windows. I've toyed with getting one to use as a portable terminal, but it's too pricy. I think right now they're working on the next rev and they aren't for sale.

(plus I've heard horror stories on long waits while the units were being produced)

Hm, the 'fi' & 'fl' ligatures seems to be replaced as a middle dot in the text, making it a bit funny to read at places.

Nice. I've been using a Ben Nanonote () for the past few years. It's a nice open hacking platform, not very powerful but very open and tweakable.

() http://en.qi-hardware.com/wiki/Ben_NanoNote

Mine is lying around, not much used for the past years (somehow I can't get it to run a debian image from SD, so I'm stuck with openwrt... Missing some interesting packages then). What do you use it for?

I managed to install Debian on mine without trouble. I've written a mostly-functional Apple II emulator (minus the graphics modes) and enjoy having an Apple II in my pocket. I also use it to learn Chinese by listening to audiobooks.

What I regret most about the Nanonote is the lack of wifi support (unless one buys an expensive and hard-to-find gizmo). With wifi, it would make a very useful ultraportable computing platform.

Would be great to see someone make a small keyboard/screen accessory that can have one of these plugged into it:


Maybe we'll see it this year, I predict ..

Ah, the good old Libretto[1] form factor.

It actually used to be moderately popular back before smartphones became ubiquitous. It's just amazing what you can build nowadays on a shoe-string budget with off-the-shelf parts...

[1] http://en.wikipedia.org/wiki/Toshiba_Libretto

Step 1: Get an N900

Joking aside, this is really cool, and I'm glad there are still people out there who recognize the value (and want it this badly) of a handheld Linux terminal. Meanwhile, the batteries on my N900 keep getting shorter and shorter charge cycles . . .

I would really liked to get an N950, too bad these are such rarity

the battery is cheap to replace. I stay with my N900. I did not see anything better.

It's getting harder and harder to find actual BL-5Js, not just cheap knockoffs that won't hold a charge. I've been through at least three already, still have about 4 left. But I'm with you on the "nothing better" front. The org-mode app on Android is a joke compared to having an actual full-blown emacs with org-mode on N900, not to mention how straightforward the FS layout is and the fact that git works nicely.

Bandwidth limit exceeded on the images.:(

Edit: He switched over to imgur and the images are now loading fine.

Very cool project! Would it be possible to upgrade the screen to a little larger?

From the conclusion:

> If I was to make this again, I would do a few things differently. First I’d probably add a slightly larger screen like this one from Tindie [https://www.tindie.com/products/hwlevel/40-ips-screen-for-ra...]

Yes, i saw that one as well - but the 17FPS update-rate was very small. I'm looking for more like 5-6" panel with faster updates.

Pretty neat. I still like the concept of the kindleberry a bit better though: http://maxogden.com/kindleberry-wireless.html

I love that this is totally self contained. Best of the best would be an e-ink version of this (using something like this: http://www.pervasivedisplays.com/products/74 )

OpenBSD (and Linux) runs on the Sharp Zaurus, they are neat little devices for carrying around an SSH terminal.


Despite the whole AlphaSmart thing, I still think there is a small market for the TRS-80 Model 100 or 200 style computers. I would love to have an OpenBSD machine in that form factor.

I think this is pretty neat, and I would have loved this 10 years ago. I now already have a handheld Linux terminal, it's called an Android smartphone.

I really don't feel that way about my Android smartphone. Mobile operating systems are an experience as far from the console experience of freedom as one can get. This looks like exactly the device that I'd like to carry around with me and I think I've finally found that project to use my spare Raspberry Pi for.

If I didn't want to make the occasional voice call, I'd be absolutely satisfied with replacing my smartphone with something like this.

Yes; and "terminalIDE" includes busybox to fill in the missing commands, vim, tmux, git, javac and gcc. It's fun, usable, but limited: you have to work around a few things.

Wintel is making a push, with extra cheap quad-core Atoms and Windows 8. I wonder if this might be easier to get full linux on?

BTW: The big problem with proper linux distributions on ARM/Atom is not not getting them to run, but power management.

There is also GNU Root and Linux Deploy/a few other ways to get full linux on Android devices after they are rooted.

Does it have a real keyboard?

Very cool! Also I love the design of your blog

I would prefer if I knew which sections were links without having to hover over everything.

I had one of these in 2001. It was called the Sharp Zaurus.

Please sell this.

Or you can get an Open Pandora :)

delightful font!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact