I am happy to announce that this article got publish in Hacker montly
We left our little studio in the Kootenays last July to travel throughout Europe, traveling to discover about new media, spiritual centers, art, design and open source initiative. I decided to go really minimal on the computer gear stuff, so I only packed my Kindle, a camera, an android phone and of course my Raspberry Pi!
The KindleBerry Pi!
The Raspberry pi, although a beautiful project and quite an electronic feat, it can be a bit limiting as a main production machine, but I convinced myself I could use it as my main traveling computer.
The plan was, using a Kindle as a screen, connecting it to the processing power of the Raspberry Pi while using an external keyboard to work comfortably. Since connecting an external keyboard to the Kindle seemed impossible at that point, I needed to use the Raspberry Pi as the ‘hub’. The tinkering started and the KindleBerry Pi was soon to be born.
Although I ended up buying a laptop while traveling, all that dreaming and tinkering ended up working nicely, creating a really portable development platform. At the least it has become a proof of concept that could be used for other similar projects. So here is how you can create your very own KindleBerry Pi!
Lets get started
What you will need to do this hack:
- a Kindle 3 ( 1 or two, if you end up breaking the first one)
- a Raspberry Pi
- 2 micro usb to usb cables (one for power and one to connect the Kindle to the Raspberry Pi)
- One keyboard connected to the Raspberry pi
- Optional are a kindle stand (you can use an old audio tape box)
- Optional again is a usb hub since the KindleBerry pi has both port in use when assembled
Hacking the Kindle
DISCLAIMER – you can brick (render unusable) your Kindle doing so, these are just pointers and I take no responsibility whatever you do with your kindle, or your life…
The first part, connecting the Kindle to the Raspberry Pi is simple enough. Jail break the Kindle , install a terminal emulator like this one and then install UsbNetwork. Make sure the usbNetwork is enable, Connect the devices trough USB, do a quick ifconfig usb0 192.168.2.1 and Voila, I can login into the Raspberry Pi with no problem, using the great display of the Kindle but sadly also using it’s limiting keyboard.
The main challenge now is to use the keyboard connected to the Rasberry Pi instead of the Kindle’s. This is where the magic of gnu screen comes in play! Screen is a terminal multiplexer, if you don’t know what a terminal is, well, I am not sure why you are reading this article in the first place, but let say ‘screen is a terminal on steroid’. One of the nice function of screen is that you can be multiple user on the same ‘screen’ session, for lets say you want to monitor what people do when they connect to your computer trough ssh, or if you want to… well… screencast in a terminal environment (whatever enjoyment that would give you). Anyhow, I am not sure why there is a multiuser mode, but it is that ability that make the KindleBerry Pi possible.
So what happen here, is that using the keyboard connected to the Raspberry Pi, you will login into the Raspberry pi with the Kindle and then share the same ‘screen’ session so that you can use the keyboard connected on the Raspberry Pi. You will still need to use the Kindle keyboard to create that first connection, but once your connected, you can use your mail keyboard.
Although gnu screen come and save the day, to automate the whole process there are few more steps to be done.
Usb network for the Raspberry Pi
First we want to be able to use UsbNetworking when connecting Kindle. When the Kindle is on usbNetworking, it assign the ip 192.168.2.2 to its USB port. Whe then need the Raspberry Pi to assign its USB port the IP 192.168.2.1 and that has to be automatic. To do so, the first step is to add to your /etc/network/interfaces :
[prettify]
allow-hotplug usb0
mapping hotplug
script grep
map usb0
iface usb0 inet static
address 192.168.2.1
netmask 255.255.255.0
broadcast 192.168.2.255
up iptables -I INPUT 1 -s 192.168.2.1 -j ACCEPT
[/prettify]
Automatic login on the Raspberry Pi
Now we need the Raspberry Pi to 1) make sure one user login automatically and 2) have a screen multiuser session started at boot time. We will be using the same user for the login at boot time and login with the Kindle.
For the automatic login on boot, on debian (which is one of the main build of the Raspberry Pi) you have to ;
[prettify]vim /etc/inittab[/prettify]
(or using any other editor) and comment out:
[prettify] #1:234:respawn:/sbin/getty 3840 tty1 [/prettify]
and then add :
[prettify ]
1:2345:respawn:/bin/login -f YOUR_USER_NAME tty1/dev/tty1 2< & 1
[/prettify]
My code prettifyer adds some #038; code that you can omit
EDIT: Some reader have mention that using this code instead work for them:
[prettify]1:2345:respawn/sbin/agetty -a YOUR_USER_NAME -8 -s 38500 tty1 linux [/prettify]
That should do the trick, now lets make sure screen start automatically, when the Raspberry Pi starts and whenever you login from the kindle.
Bashrc
We now have to make sure that the user which is automatically logged in will starts a screen session, but we also have to make sure that when you login with the Kindle, you don’t start another screen session but actually join the already started screen session. Mileage might vary depending on your system here, so experiment with the code, but most of it should be in the .bash_profile. There is probably many other ways to go about it (use the bashrc and bash_profile or have more than one user etc…) but this is one of the solution that I came up with.
Here is my .bash_profile:
[prettify]
if [ -z “$STY” ]; then
exec screen -xR
fi
[/prettify]
So once it’s all in place, you should be able to fire up your KindleBerry Pi, once the boot sequence is done, you can connect the Kindle in UsbNetwork mode trough USB, moving into your shell and ssh into the Raspberry Pi. From there you should be able to use the keyboard connected in the Raspberry Pi, and see the result on the Kindle! For some reason sometime I have to fiddle with the screen session, killing the extra one and the connecting to the main one.
You probably can work some simple passwordless ssh with authentication key, to save some time and add some cute scripting to simplyfi the whole connection process, but once you are connected you can then start using the Raspberry Pi keyboard. There is actually a lot of improvement that could be done with this hack, so feel free to send your ideas!
Here is a quick video showing the refresh rate:
It was really fun to create the KindleBerry Pi and I even started using that setup for few weeks. But I quickly realized that if I wanted to do anything productive at this point it was better to get myself a computer. My skill in command line and programming might have been too low to completely move to a shell only lifestyle. So sadly the KindleBerry Pi at this point is only a proof of concept and could probably be really neat in a ‘end of the world’ scenario! There still might be some minimal hardcore coder out there who would enjoy such a platform!
My next project, using some of the learning from this project, is to do some portable music platform with the Raspberry Pi, pureData and my minimpk! Stay tuned!
If you like what you read and feel generous click on buy me a beer!
Curious, how’s the refresh rate? Does the e-ink display refresh fast enough to make typing bearable?
It’s definitely usable. There is an obvious delay, but since it’s all process on the Raspberry Pi everything gets typed.
I always wanted a keyboard directly connected to the Kindle as it would be a really nice writers tools, in between the typewriter and the laptop, but this is pretty much as close as it would get.
I don’t see why the fact it is running on the Pi is important to avoid dropping keystrokes?
That said, I think is a pretty awesome project.
Well I just made the superfluous assumption that running a full keyboard, typing at full speed connected to a kindle directly might somehow create dropped keystroke… but that was without even comparing the RasPi to the Kindle processor and architecture.
I admit to having no idea how the kindle works particularly but I would imagine it would use buffered IO that would be relatively immune to this?
I remember reading that it is basically a bog-standard linux system underneath, so yeah, it probably has buffered IO. Still, I’ve found when typing quickly on the built-in keyboard it drops keys all over the place. This might me mechanical rather than software though.
FWIW screen’s multiuser mode is super useful for instruction and collaboration on servers, esp rescue scenarios where two people need to work closely and not step on each other’s toes. Fire up a speakerphone and a shared screen, and you can go far. 🙂
Yes I think the screen multiuser is wicked – I was half joking here in this article, since in these days and age a terminal is already quite an obsolete technology for a majority of computer user, so a shared terminal connection is probably classified as an oddity by most of them!
I use many terminals for most of the day. Supporting and building servers for web apps etc. Maybe for “users” terminals are dead but anyone not using Windows should be able to do everything they need to do from the command line. And if they can’t, they shouldn’t be doing it because they probably don’t understand what they’re pointing and clicking on.
FYI, your diagram is off… it shows the keyboard and kindle running out of the RJ45 network jack , not the two usb ports. 😉
hehehe thanks – all fixed !
This is a giant step down from what you did here – but it’s something that various people have discussed on the kindle hacking forums: Can you turn the Pi into a controller for an external page turning device? Like, for people who are disabled and can’t hold a Kindle in their hands, or need a remote (like piano players turning pages with their feet). I think it’s an obvious “yes” from your config, but it’s also a concrete extension to other hardware that you might consider.
The answer is indeed yes, but you can also go a lot more low end,with simply an arduino or a teensy – you can read more here :
http://breadboardconfessions.blogspot.de/2011/08/frankenkindle-prototype-demo.html
Very cool project! Thanks for sharing it!
Thanks for the post – if nothing else it shows how to do USB networking (which has been annoying me for about a month!)
Just FYI, in the “Automatic Login” section your code snippets plugin has htmlencoded the 2>&1 bit
Thanks it’s fixed now!
WordPress, or the code plugin I use seems to dislike that part of the code – trying to fix it now, but 2>&1 is the right code, you have to drop the #038;
Hello damaru, I’m still not able to get this thing to work I’ve been working on this for a couple hours. I’ve tried so many iterations, is it literally supposed to be this?:
“1:2345:respawn:/bin/login -f YOUR_USER_NAME tty1/dev/tty1 2&1 without success, and doing “/dev/tty1 2>&1 tty1”, “tty1 /dev/tty1”, and a variety of variations. I’m just not sure how the system is interpreting the redirect.
Any assistance would be awesome, I feel like I’m so close but I can’t get the terminal to autologin and accept keypresses on boot.
So you replace YOUR_USER_NAME by the username you are using on the raspberry pi? (just want to make sure here). You can type ‘last’ to see who are connected and if the automatic login works you’ll see it on that listing. (I guess you can also use w or who).
Are you on Debian or Arch ?
Yes, I’m able to connect to the multiplexer on a separate terminal from the R-Pi, and I’m able to see that the multiplexer is successfully up by connecting from the Kindle as well. I just can’t get tty1 locally to echo anything, let alone redirect.
After looking at ‘last’ though, I think I see that when I connect from the kindle it’s on a different terminal: pts/0. Do you know what I might be able to do to get this redirected correctly?
Thanks so much this has been an awesome morning. 🙂
If you ‘top’ can you see that screen is started ? If you type screen -ls do you get an error message? this will list all the screen session running. You might want to try screen -x -t pi, or simply screen -r to try to connect to the session. This part is the most finicky so you might need to adjust your bashrc – let me know what works for you! y c
Damaru, I already had that fixed. Actually I got it all set up using a different method:
1:2345:respawn/sbin/agetty -a kindle -8 -s 38500 tty1 linux
note: ‘kindle’ is the username for the kindle user script I have set up 🙂
I got it all working. I made this video for you right before I found the solution so I might as well post it: http://www.youtube.com/watch?v=KUbDSAE4ZbY
Great that you got it working, and thanks for the code, it might be helpful for others too!
Dude, The script is not working. I am having massive issues.
My RPi SD card won’t get past the Starting SSHd. It gives me an error message:
/bin/sh: 1: exec: /sbin/login: not found.
HELP!!!
did you try to other code provided by the other user :
1:2345:respawn/sbin/agetty -a kindle -8 -s 38500 tty1 linux
Are yo uon debian ? depending your distro you might need to search for a different way to auto login – make sure also you replace the your user name by your user name that you want the device to login with
I have not tried this yet but if you would post the correct code on your’insturction’ that would be good.
I found another user who tried this code and it worked for him:
1:2345:respawn:/bin/login -f pi tty1/dev/tty1 2>&1
I am running raspbain (debian)
the code I posted is the code that works for my setup, like I said you can try the other users have been able to use.
I tried pasting the code but you’re going to have to look over here for more details, because WordPress strips things out of the code that you need:
http://www.reddit.com/r/raspberry_pi/comments/zoivv/kindleberry_pi/c66ty0k
See the first post by Waynix
Oh, and I’m on Debian, sir!
Very cool hack!
why not use the keyboard on the kindle?
Because it’s a bit sh!t. Fine for filling in a short form but no good for typing lots of text.
yes the keyboard on the kindle is ok for search and url, but that’s it. Not to mention that the letters are fading out quite quickly on the keyboard.
If you want to actually work, code, write emails, then a real keyboard is definitely needed.
I am wondering if you can hook a bluetooth device into a usb hub to control a keyboard and a mouse (andor a joystick)?
Most probably, the Raspberry Pi should be able to handle that
What about Andberry/Droidberry Pi ?
Indeed trough VNC on the android that would work nicely and under X window too! My android phone is quite small though…
works also under ssh.
Protip: USB Tethering can be used to simulate a tcp/ip connection over usb.(Tested with my Galaxy S II)
I LOVE YOU
I’m going to try something similar with my sony erader, which is already rooted.
Never thought of this solution. This is really clever!
Thanks
Ok, stuck already…can anyone give a suggestion (an app, I’d say) for non-kindle users for networking the e-reader and the raspberry pi via USB?
Thanks and cheers
Hum, I am not sure what OS the sony e-reader uses. Does it have a wireless connectivity to the network ? Do you have some sort of shell or terminal emulator on the device ? If so you could start by trying to ssh to the raspberry pi, that would be a good first step.
I was slightly vague, I recognize…
Sony PRS-T1 e-reader has a modified Android 2.2which I have rooted of course, therefore I have the market and also f-droid installed, form the last one I installed a terminal emulator, which works good.
I’ll try to ssh the raspberry as soon as I’m home, but I see no reason
why it shouldn’t work, so I’m faithful to ssh my raspberry.
I forgot to mention that the reader has a wi-fi connection, but it automatically disconnects after a couple minutes and the raspberry has no wifi connection, so I would like to use the usb connection to keep the connection (and battery) up.
Do you think that using some usb tethering or reverse tethering application would do the job?
In this case, almost every android device would be suitable for this task allowing a really convenient way to get a monitor for the raspberry devices (maybe with vnc, too)
Thanks and regards
It is indeed easy to put the Android on USB networking, I think you can simply activate that in the settings if I remember correctly. You will have to find out which IP it gives itself (ifconfig) and make sure to confirgure the raspberry pi to have it’s usb port to the right IP
This looks pretty sick!
Do you think it is possible to record a demonstration and upload it to YouTube/Vimeo? I’d kill to see this thing in action.
I’ll see if I get to it, I wanted to make a video, but it’s actually quite boring since it work just like a normal computer, you type on the keyboard and it appears on the screen. But it would give a good idea of the refresh rate. I’ll see if I can get something tonite, thanks for the idea
Quite boring? Mate, it’s a Kindle showing the Raspberry Pi’s output! There’s not boring thing about it.
There are a couple programs you could put on the demo video, like htop, typespeed and… don’t know, with typespeed would be fancy enough 🙂
yeah htop would be nice! maybe also mocp to play music.. (can’t remember if that one worked ok…) I’ll see what I can come up with 😉
ok got some example here :
http://youtu.be/Ny6mZi_fRJg
It was an old system so there wasn’t much install on that box!
Damaru, thank you very much for your creation and for the extensive explanations. Indeed I have been researching for such an “ewriter” solution since quite a lot of time, but I haven’t your knowledge nor inspiration.
Pure genius!
The other actual possibility is connecting a B&N touch to a powered USB hub and to a keyboard. But touch is android-powered, and it uses the keyboard on this hack in a USB Host mode, so it is fairly unstable and maybe even proner to bricking or other failures (battery drainage beyong recharge, I have readed).
But a Raspberry Pi is more useful as CPU for an ewriter rather than the CPU . Besides, a CLI environment is just perfect for distraction-free writing.
I’m going to try to follow your document. Besides, I want to use an external battery for the Pi in order to make the kindleberry fully portable. Finally, I plan to put all the components inside a waterproof box, filling the unused space with poliuretane.
Thanks a lot again. If I put this idea into action (I hope so!), I’ll make you know
Thanks! Yes a battery for the Raspberry Pi is good. I had one to complete the setup, but since the voltage could be hard to balance (I had a hard time powering the USB network and the keyboard at the same time for some reason) I mostly experiment with the Raspberry Pi connected. You will just need to have the right amps coming out of the battery, but I am sure that over the Rpi site you can find plenty of info about user testing battery!
I have been reading about battery powering of Rpi. It seems to be feasible. Besides, it should be possible to use either:
a) a battery powered USB hub
b) a self-powered USB keyboard (I have one, an AlphaSmart Dana)
As some other people, I would REALLY appreciate a video from you, the KindleBerry creator. I do want to compare refresh rate with hacked nook touch connected to a usb keyboard.
Do you think that kindleberry would be an acceptable text editor?
Thanks again, pal
Regarding battery-powered Pi being “feasible” – I have been running mine from a battery pretty much since I got it. This is the one I use – it’ll run for 5 hours or so depending what you’re using it for.
http://www.amazon.co.uk/gp/product/B005VBNW2G/ref=oh_details_o00_s00_i00
Thanks for the link with the battery! I used an old Arduino battery pack, which wasn’t really doing the trick. It was ok to run the Raspberry Pi as an internet web server and ssh server but nothing else.
For my own usage, and I do a lot of journaling, it was a nice text editor. For actualy vim hacking, well since you only have about 16 colors it was a bit limiting, but still usable for css and php. But for email, irc, bboard and other shell usage it was great!
Well ok I’ll try to put something up in the next day or 2. I was already working on another project with the Raspberry Pi to create a portable programmable synth so Iw as using a new OS, but I still have the OS I used for the Kindleberry pi 😉
So demo of the refresh rate – I made the video 1080p so you can see all the pixels in glaring details!
http://www.youtube.com/watch?v=Ny6mZi_fRJg&feature=youtu.be
Juan, this is very interesting. My only concern is that if you plan to operate your set-up inside the box how will the heat be removed?
Kindle is not going to generate any heat. I don’t have a Rpi, but I guess that an ARM11 cannot generate much heat. What do you think about it?
Besides, I plan to use a big box in order to contain both kindle, Rpi, batteries and external keyboard. A proper keyboard indeed
Hummmm maybe I have an elegant solution: I have a briefcase for my alphasmart dana, so I can attach Rpi, batteries and kindle in one side
I agree, Juan, that a Kindle does not heat up (mine doesn’t anyway), but my Pi does, and I would hate to see you go up in smoke!! Certainly the briefcase may provide some passive ventilation – probably worth a try.
Thanks for sharing, Norman. I guess I’ll put the Pi in its own enclosure, just for being sure. Any recommendations?
Sorry Juan, not really. I use a commercially produced plastic case (£10.00) to keep most of the dust out and avoid physical damage.
Will this work with kindle touch
I am not sure if the touch works with this hack… if it runs the same kindle os and can be hacked the same way I guess you should be able to get it going. The hard part is when you need to use a terminal emulator to connect to the PI since you don’t have a keyboard on the touch. You can browse trough mobile read forum to find out how hackable is the kindle touch!
I don’t own a Kindle Touch, but I searched and found some things. It seems that it could work, because you can get a working terminal, with an onscreen keyboard. I think I might buy a Kindle Touch, Pi, and a battery pack so I can code on the go easily.
Great idea! But what happens if you press ^a-c? AFAIK screen opens a new “window” but the attached clients will not move automatically. Can screen be forced to keep all clients on the same page? I use this feature extensively to multitask on a single SSH connection.
Well I can’t say I am screen genius, I mostly discovered screen to create this hack! There is probably a way to make that happen but that’s beyond my gnu screen wisdom!
Great proyect!!
May I ask you or anyone who knows… given you’ve been able to do so with a kindle wich, if i understand correctly, is a more closed device than common android phones… do you know if it will be possible to do the same with an android terminal or is there some sort of problem wich will prevent anyone from trying it?
Thanks!!
Should be pretty similar on the Android – as long as you have a terminal emulator, and that your PI start a ‘scree’ session at boot up you should be able to use the keyboard on the PI.
You can also use conspy (sudo apt-get install conspy) to control any of the virtual consoles.
This would allow you to connect as a non root user via ssh, from the kindle, and then from that session, control the console session of the pi.
This has the advantage that there are no auto login sessions on the pi.
With conspy you see exactly what was on the post boot up screen and a login prompt.
Again, it is text only, but in theory you can ssh -X to the pi and then fire up X apps on the pi, with the output running on the kindle. Sadly I dont have a kindle to try this with.
Thanks – I’ll check out conspy – which is nice to see in action anyhow !
.. and obviously once you have the conspy package running on the pi, you can ssh, run a creen, *then* run conspy and pick up where you left off at any time…
There’s so much awesomeness in this… I might try and fiddle with my Nook Classic. It uses Android and has two screens (a color, touchscreen one and the eInk screen).
This is crazy and awesome.
I once used my “hacked” Kindle Touch as an alternate monitor for my laptop by running a VNC viewer on it: kindle touch runs an X server, so you just have to install a vnc viewer on in, run a vnc server on you laptop (either x11vnc to show your session, or Xvnc for a new session) and display the contents on your kindle (it was very nice to do simple text editing in direct sunlight on the computer ;).
The same should be easily done from r-pi (you can just run the “headless” Xvnc on r-pi and show its ‘output’ on kindle).
I think there may be HTML rendering problems with the /bin/login line. ”/bin/login -f YOUR_USER_NAME tty1/dev/tty1 2< & 1". Also, it's unusual to re-direct stderr as input. My login(1) doesn't describe the single argument "tty1/dev/tty1".
yes the code plugin is messing up with the code- I tried to fix it – I should add some note in the body of the text (silly code display plugin 🙁
I’m just passing through here, but I have to post to tell you that your bashrc test is wrong.
[[ “{STARTED_SCREEN:-No}”=No ]]The variable does not start with an $, and there are no spaces around the equals, so it’s treated as a simple text string, which always evaluates as true. Here’s the correct syntax:[[ ${STARTED_SCREEN:-No} == No ]]( Quotes are optional around simple variables in double-bracket tests. )
Thank you – you are right! I’ll update the code in the post, somehow it got mangle from my bashrc!
beautiful hack!
now i know a bit more about screen too.
i will test it with my android tablet and dlink nano wifi adapter for RPi.
wonderful, have you posted it to mobileread.com? my Kindle is jail broken already so will be trying this out over the next week – if nothing else you can use the Pi without having to have access to a screen and keyboard, if you’re traveling! thanks very much.
ren
ho my – I forgot my friend at mobileread!!!
Ingenious! Thanks for sharing. Do you know if this is possible with other Kindles (like the 4G without a keyboard, or the Fire)?
HEHEHE. That only thing that let you down was the KB, i have that exact model. “double presses” and “doesn’t press” all the time 😉
Nice work you!
Does it have to be command line based or would a linux icon based programme work well?
It’s only text based, probably if you use VNC you could have a graphic base usage of the raspberry pi…
Hi, thx for sharing this. I try to do rebuild it, but I must missing something.
As soon as I login it starts login in until i get a “no more screens” error.
when I then check users I have my user endless times logged in.
I have a small problem. I already had my kindle jailbreaked. Did start the debug Modus and usb Network. After connecting the Kindle it did not show up on lsusb and usb0 wasn’t found.
I restarted the pi and got the message when booting that he did find the Kindle etc. When the kindle boots the screen of the Kindle is switching permanently from the usb network screen to the home screen.
When the pi GUI is loaded the pi is completely freezing and I can’t do anything.
Maybe you have an idea?
Thanks in advance. Regards, Rob
In this version I don’t use the X gui, so I am not sure what freezes in the Raspberry pi.
You will not see the kindle with lsusb but you can check the usb0 port with ifconfig.
Try to launch the raspberry pi headless – and make sure you can ssh into the raspberry pi first.
hmmph… can you switch beetween ‘kindle’ & ‘display’ modes?
Wit the term emulator I am using I can go back to the kindle mode with the (page back) button on the kindle, going back in the term with SHIT T Y, probably different if you use another term emulator
Amazing! 🙂
Will this all work with the kindle touch? Sorry if this was already posted, probably didn’t look far down enough :/
Most probably, if you can find a term emulator (Which makes it hard a little bit with the touch screen at first). I read some people where able to use a web base term which is not the best.
Check out mobile read forum for everything hacking your kindle !
I suggest using tmux, a terminal multplexer. It has more features than gnu’s Screen, such as vertical/horizontal slice, which allows you to have more than 2 terminals in 1 screen.
Yep, I generally uses tmux but, although I didn’t research much, I couldn’t find the function to share the terminal session with other user, so I ended up using screen.
Umm, I believe GNU Screen has slices and multiple terminals.
Hey – I’m not experienced with bash – how would I go about changing the bash profile?
Thanks,
Tamsyn
Edit ~/.bash_profile ?
May have to try this once I replace the screen on my 3g keboard.
Has anyone got the kindle to share the wifi with the RPi?
I suppose I might try swapping out the sim card to a pay as you go tmobile one I have lying around (no abusing the Amazon unlimited 3g connection deal) and see if I can share the 3G connection as well. I know the speakers aren’t too hot but does anyone know how to share these with the Raspi?
So that would be a screen, wi-fi, 3G connection, 4gb data storage all from one usb port (and possibly some travel speakers).
For the battery I have one of these, which will powery the rasi and a powered hub no problem
http://www.amazon.co.uk/gp/product/B0063AAIRG/ref=oh_details_o00_s00_i00
and the keyboard I have one of these http://www.amazon.co.uk/gp/product/B004FSFYG8/ref=oh_details_o05_s00_i00 (although I ma update to a bluetooth version so that the dongle can also connect to other devices)
Rather than the command line, I think I’ll try vnc as it’s been a looong time since I used a cli on a regular basis. http://wifi001.com/wifi/index.en.jsp
Now I also have to figure out how to do this on the Kindle Fire HD 🙂 VNC’s a doddle as I’ve already been using my windows and mac laptops from my ebook (!?!)
Thanks for a great article
coding debugging using kindle screen is good idea to lessen strain on eyes.
so cool!
好主意。
I am planning to build a similar system but using an android phone instead: I’ll used vnc to display the raspberry pi’s screen on the phone.
Is there any package like USBNetworking available for Android?
Yes there is, and it’s already built-in on the android. It’s called USB Tethering, and it’s found under settings.
did you ever get around to building this? I’d love this so much but I’m not technologically capable enough to do it on my own…
Yep it was build played with and it was fun for the time being. I find it a bit bulky to carry around, so it’s not something that I would use on a daily basis. It was more a proof of concept – but I still dream of a digital typewriter with a epaper screen 🙂
I built one using android and VNC: http://blog.mohammedlakkadshaw.com/Android_as_display.html#.VSdU0xOUevU
I don’t get the significance in this. I would probably just use ssh. When traveling I would use raspberry pi, wlan, ssh, wlan tethering on my phone. And hook up either a usb-keyboard or bluetooth-keyboard to my phone and then ssh to the raspberry.
Well, you don’t need an extra WLAN (wireless router) to ssh on RPi as you can ssh on it through USB. Now this is very helpful if you RPi is battery powered (as opposed to a wireless router needing a wall socket [unless you are using those small router by TP-Link], and requires less setup).
*Why use WLAN tether when you can tether over USB directly?
In addition to my last comment, your phone’s internet connection is going to be shared with your pi.
could you use an ipad 4 screen ?
yes, just install a terminal emulator like Prompt
Thanks for this article! I was able to replicate the same thing using my android. I also installed tightvnc server for other uses.
How about kindle fire, Can i turn a raspberry pi into mini computer with kindle fire
Hi all, I have a Kindle touch with a 5.1.2 fw + Jailbreak + KUAL + USBNet + kterm installed on.
I note that the ssh client is missing (only server sshd is present on Kindle)… then I can ssh to Kindle but not the viceversa…
Can you suggest me how to go on in the hack ??
Thanks
is can kindle 4?
Its bery interest!
OH good!!
Should be working if you can jailbreak it and use a teminal
Could you go into more detail about the terminal editor and USBNetwork setup on my kindle2? I am following your links but they don’t explain things well enough for me to follow.
Were you able to jailbreak your kindle? Once it’s jailbreak then the USBnetworking is really simple, the terminal would need to be installed like the jailbreak. Let me know where you are in the process
there is a app called links or lynx, depending on prefs…pico and nano /viM can do the rest. were on flash, but I supposed someone could hack the C64->IDE connector to run SPI bus…if they wanted. Not bad for a pinch if you have these two. Never thought ov USBNet..hmm.
How bout a psp screen, gameboyscreen, or android tablet screen? Please help 🙂
quite interesting! I have two extra points to note:
– “shell only lifestyle”? but with this setup you can run emacs, who needs anything else? 🙂
– your setup, but in general eink monitors, are wonderful in bright sun.
now my problem is, can I hack a medion ebook reader, or must I switch to kindle?
I don’t beleive the medio runs linux? If it does then you are ok, if not, yes you might need to move to kindle. Linux is the secret sauce in there 🙂
you might be correct assuming that this medion thing uses something else than an operating system (it’s a quite buggy thing according to me). for some reasons I always assume that computers run Linux! 😉 I actually also own an “icarus sense G²” tablet, which definitely runs Linux, but on which I wouldn’t know how to install a terminal emulator.
thinking further on the Linux point and the SenseG², I just downloaded the 350Mbytes of the firmware that can be uploaded to the reader, it’s mostly just a zipped filesystem, with everything you would expect in a linux system, but again I don’t think I would dare change much more than just the var/www/html/index.html !
WOW! I didn’t see this kind of device before. What is this?
Is kindle paperwhite work?
cool!
If you use only the shell, you can use gnu screen (kindle + raspberry and keyboard)
http://www.mobileread.com/forums/showthread.php?t=216501
Can you post the link to the screen binary for k3?
Can someone tell me if this is prossible.?
Using similar hardware as mentioned in the article above, would it be possible to use the kindle as a touch screen to control the Raspberry Pi that is running ubuntu or something similar?
I installed all of the things, plugged the kindle into the rpi, and on the rpi typed:
sudo ifconfig usb0 192.168.1.2
and that didn’t work, so I rebooted the rpi with the kindle plugged in from the start this time, then on the kindle’s terminal emulator I typed:
ifconfig usb0 192.168.1.2
and on the rpi:
sudo ifconfig usb0 192.168.0.1
and that didn’t work!
What should I do to get this to work?
Sorry for the late reply, are you still having trouble with this?
Does this tutorial support kindle paperwhite 2(5.4.0) ?
It would be a bit different for the kindle paper white, there is also other script that would work really well for it, as far as I’ve hacked the paperwhite it would actually be easier.
wesh les gens
Does the Kindle work like a normal monitor? So I could use this as a normal computer monitor alternative. .
That looks great. I think I’m going to have to try it. I’m posting, though, in case you might find an idea I had interesting enough to try, or have an idea on how I might be able to try. Do you, or any others out there know of a way that the screensaver could be set to take a screenshot, and post the screenshot as the screensaver? I have often wanted to leave a technical diagram up for reference, and far from worrying about it falling asleep, actually welcome it for the power saving, without losing access to the diagram/s.
How bout turning this into a word processor?
You could certainly use wordgrinder instead of vim, for a more user-friendly word processing program with italics, bold, etc.
Clicking he’ll ha I just want to put a ducking soapbox app on this shifty kindle the wife’s a barnyard 🙂 not buying u a beer come my house I’m get kettle on duck 🙂
I need a link button to press am a ducking idiot some shot about 0.6N
Would like to know if you could “hard-wire” the kindle and skip a router, as well whether or not the kindle’s keyboard is usable while driving the pi? Also can the kindles 3g still be accessed while operating in this sort of setup?
Hard wiring would be the best solution, and you could probably hack something inside the Kindle for that. I’ve research about the usb port and if it could be modify to receive keyboard input, but didn’t find anything. Yep I don’t see why you wouldn’t be able to access your 3g while in usb-networking. Might need some figuring in out though!
unfortunately it’s very inconvenient. The real the state of the art here is how to make pi automatically connect to kindle as soon as (pi is loaded of kindle is pluged), got there, lunch tmux, and do something like this “/mnt/us/extensions/kterm/bin/kterm.sh -k 0 -o R -e “tmux attach” &”. so you can just play and play this to Pi as a Display, no ssh every time there.