e-ink writing 201: NST 1.2.1 rooted with usb host

May 31, 2015: I have updated the root + usb host enabling once again! Please visit my new blog site for the newer instructions and a few awesome app recommendations that I’ve missed all this time.

La Push's 2nd Beach all to ourselves as the sun sets.
La Push’s 2nd Beach all to ourselves as the sun sets.

With mysterious charging issues I decided to try upgrading my Nook Simple Touch (NST) to the latest OS (1.2.1) before rooting. Now there exists a graphical program to root the Nook, making it easier than ever to do. NookManagerΒ is loaded onto a microSD that the Nook (upgraded to 1.2.1) will boot from. A few straightforward prompts later and the Nook is rooted (with optional backing up, advised as always).

Steps to re-root:

  1. Restore Nook to factory settings, through Settings in the Nook OS, or using NookManager’s Restore (“Restore Factory.zip”).
  2. Boot with NookManager on microSD in the Nook.
  3. Optional: Backup.
  4. Root.
  5. Next: to get the keyboard working again. Connect via ADB as in my instructions in my first post (e-ink writing 101), to install USBMode 1.7 and Jota (this time I installed from the apk directly), and to push the modified uImage and uRamdisk binary files.

So far, the keyboard input to Jota is smooth. Saving is mysteriously only to microSD card, but that’s alright since I just repurposed the install card. The charging issues are at bay but possibly that’s because I threatened to replace my Nook with a new one.

Big tree in Hoh Rainforest.
Big tree in Hoh Rainforest.

34 thoughts on “e-ink writing 201: NST 1.2.1 rooted with usb host

  1. Hi Lara, interesting to read about your experiences with the NST. Could you comment on what kind of battery life you end up with while typing with an external keyboard? If you were to sit down and write nonstop how many hours do you estimate it would last for? Also, with the set of mods that you did does the entire screen flicker when you enter each character or does it just update the area where the character appears? Thanks!

    1. Hi Evan. Sorry for the delay (holidays!). I have a refurbished Nook, notorious for battery problems and that I’ve already resurrected with an operation. That said, around an hour or two of typing with the setup I described drains my battery through the first 30%, aka, much faster than reading but hopefully slowly enough to last the day (unless you can write non-stop for many hours, then — kudos — you’ll have to take a lunch break to charge in between). Happy New Year!

  2. Hello,
    I managed to get my keyboard working thanks to this and your other post and it is awesome! However I can not seem to charge my Nook anymore ._. first it would go into usb mode and i would be able to get through the internal storage and the extra sd card but it was not charging and now its basically doing nothing ._. I wonder if you know a quick solution to this or would i have to go back to factory settings everytime I want to charge ?

    Thank you so much I was looking forward to use the external keyboard instead of the touch keyboard (mainly because of the shadowing)

    1. I’ve had two separate charging issues with a Nook and both were solved by disconnecting and reconnecting the battery inside the NST. To open the Nook, there are good instructions out there, but essentially there’s one torx screw behind the power button (that pops off); the whole back plate of the Nook slides up and free. The back plate has the battery on it and is tethered to the main board on the screen side. I just unplugged waited a minute and replugged, and, voila, my nooks would charge again. I thought the first time was just because I bought a refurbished one, but the second one was relatively new and well loved, never rooted or anything. I think possibly its a NST issue all around. Anyway, I hope that helps and do let me know if it does! I’m surprised that resetting to factory settings works for you actually. Good to know.

  3. Hello Lara, converting the Nook into an e-ink keyboard is a fantastic idea, one that has been on my mind now for several months, and I was very happy, after hours of browsing for such an invention, to find your blog posts (both 101 and 102) on doing just this. Despite not being an expert with these devices and coding, I easily managed to root my Nook using the NookManager method. But now my lack of experience with ADB has me stuck at the next stage. I installed the ADB software without any trouble, and connected my Nook wirelessly using a convenient app from the Market, before attempting to patch and push the binaries and install UsbMode etc. My first problem was that bringing up my Nook series number (with the ‘$ mkdir’ commands) didn’t work (something involving an error regarding ‘read-only’, I should mention again, that I am completely new to this coding business).
    Therefore I moved on to the next stage after trying several times and failing, thinking that perhaps it wasn’t that important. I went on to patching the binaries, this I managed to do, although I’m not sure whether I did it correctly. (I wasn’t sure what ‘boot’ folder you were referring to, or whether this folder was supposed to be located within my Nook or my PC, I read about created binaries and directories, but could not understand anything clearly, being new to this, and created a boot folder in my PC nevertheless, placed uImage and uRamdisk inside, yet ADB replied, after I typed in the command you mentioned, ‘adb push uImage /boot/’, that boot was a directory. I should mention that I believe the commands in the ADB shell went fine) Eventually I got to a stage where I appeared to have done the job to some extent, not sure whether installing UsbMode BEFORE patching and pushing the binaries had any significance (again, errors), perhaps it had, because once my device was rebooted, and I connected my keyboard using my otherwise working OTG cable, I could not type, even after changing some settings in the UsbMode menu on my Nook.

    You appear to be far better at coding than I am, and so I am asking you for your help, as I am really determined to make this keyboard work, even if I have to start this process all over again (I backed up everything before I started). Could you please reply with some instructions or help for someone who is entirely new to this, as I don’t really know what I did wrong, although am convinced that it was something in the coding area.

    I would be very grateful, thank you!

    1. The mkdir command is not for the serial number. When you mount the device with ‘adb devices’ you should get the number there.
      In order to patch the uImage and uRamdisk files you need to create the boot directory (with mkdir, meaning make directory btw) and mount the appropriate files for editing into it (with the next mount command). I’m not sure why you got a read only error — I never did. From what you describe, I don’t think you managed to patch the two files.
      One problem potentially is that the program you installed to make it connect wirelessly doesn’t mount the nook with write access that you need to make directories and patch files. If I were you I’d get rid of it, and restore usb host files to connect with adb and then try again to patch the files. I haven’t had to re-root my nook in a while (which is a good thing! It’s stable) so this isn’t all fresh in my mind. I don’t remember what stage you’ll be after going back to the first usbhost files. It might be surest to just start fresh. Let me know if this helps at all and good luck :).

      1. Ah, thanks for replying so quickly =) Oh, I had no idea that the mkdir command meant ‘make directory’. Your reply was very helpful of course, I think I shall start once more from scratch, but just to make a few things clear if you have the time; if I restore my Nook to factory settings, does it erase everything and rectify my previous errors? And also, in the ‘$ mkdir -p ~/.android && echo 0Γ—2080 > ~/.android/adb_usb.ini && adb’, command, is the ‘$’ symbol required in a normal ADB command, or is it used to signify that it is a command in the ADB shell? And finally, does the make of the keyboard that I connect to the Nook matter at all, or can anything be used? Thanks again for replying so quickly, I’ll certainly will be very thankful if this second attempt works at last, I might ask for some more advice later, in case I encounter a problem with the commands I mentioned, if that is all right too; and good luck to you in real life endeavors =)

      2. You’ll lose all data with a factory reset and indeed, it should undo everything you’ve done (mistakes or not). The ‘$’ denotes the prompt within the adb shell; it isn’t part of the command itself. Any usb keyboard should work in theory but I’ve only tested the one I have. According to other instructions I’ve found, the exact usb adaptor (OTG) is important. Presumably this has to do with how certain usb cables are charging only.

  4. Hi Lara!

    Thank you so much for this 101 and 201 series.

    I just rooted my Nook Touch through NookManager, and is really determined to figure out a way to attach the external keyboard to it. For me, having this as a temporary e-typewriter will truly save my eyesight as a young writer.

    The current issue is that I have no experience with coding or anything like that. I am currently stuck at “Connect via ADB USB.” I apologize for my novel questions in advance.

    First, is this where we download the ADB (for Mac)?

    Second, do we type in the mdkr codes in the SDK Manager or in Terminal?
    I have the Eclipse app, which SDK Manager is in it.

    Third, can you do a break down for a non-techie in how to patch the binary files?
    (I have no idea if uImage and uRamdisk and USBMode is one step or several steps.)

    Perhaps if you have time, you can do a part 3 for the non-tech savvy people?

    I’m not so familiar with coding, but I am a smart kid and willing to learn. If however, you think this is far beyond the non-techie, please share your thoughts on that as it may save my time.

    Thank you so much!



    1. I think it may indeed be time for a more non-tech version. Also, it seems certain links may have changed. I’ll see if I can get that up soon. In the meantime, sdk tools are at: http://ady.my/viewer/platform-tool.html
      mkdir (and all other commands following the $ sign) are in terminal, not within the adb shell (there, the commands follow the # sign). When you ‘adb push’ the uImage and uRamdisk you are in effect patching those files (into the right location mapped locally onto /boot). I hope that all helps. Good luck!

      1. HI Lara,

        Still no luck (when I plug nook into Mac, I open up Terminal, and try to type into those [[ $ mkdir -p ~/.android && echo 0x2080 > ~/.android/adb_usb.ini && adb
        $ kill-server && adb devices ]] but it doesn’t do anything, so I’m stuck at that point (unless I’m supposed to install something else?). And after that step, I’m not sure would be my next step. I guess all I can do at this point is wait patiently for your new write up!

        Thanks so much!


      2. Those steps won’t work if your Nook isn’t rooted and if adb didn’t properly connect first (in terminal, it will list your device serial number). Did those work? (Also, don’t type the $ or # signs of course…)

      3. Hi Lara,

        I already rooted the nook with NookManager.
        I just want to confirm the steps with you:

        1) I connected the rooted nook via USB.
        2) I open Terminal and enter the provided codes.
        I feel I’m missing some sort of steps with the adb steps you’re mentioning about… Perhaps you might be able to break down the process in that regards?

        Thanks again as always for your prompt response. I don’t want to give up just yet!


  5. Hello Lara,
    This is a brilliant invention; I was originally browsing the internet looking to convert a Kindle into an e-ink typewriter, for the obvious benefits of battery life; being better for the eyes, not being back-lit etc., but evidently a Nook was better suited to the task and I purchased one not long ago (looking back, a Nook is better than a Kindle anyway). Thank you for this helpful blog-post, I honestly could not have discerned all the loose pieces of information across the web like you did, and I’m sure I’m not the only one who found this very helpful. But unfortunately I’ve hit a dead-end at this point, I’m not a very good hand at coding and computing, although I did succeed in rooting my Nook, but got no further. I haven’t managed to do much more than this, everything seems to go wrong no matter what I try, I’ve read the previous comments and nothing seems to work. As I said, I’m not really a technological person and don’t want to delve much further into this, but I don’t want it to be a wall between me and this using my Nook for my writing, I’m a student you see and have been looking for something like this for ages.
    I thought that perhaps I could send you my own Nook (restored to factory settings) to you in some secure form via post, along with a microSD card, and perhaps you could set it up and send it back to me, I am willing to pay for it of course, again, in some secure form.
    I would be very glad if you considered it and would be immensely thankful πŸ™‚

    1. Technically there is always a risk of bricking a device when doing this sort of work and I don’t really want to get involved toying with someone else’s nook! I’m not sure from your description where you’ve gone wrong, but I think in at least one comment I’ve gone into micro detail that anyone with a prompt in front of them should be able to get working. A far better plan for you if you aren’t comfortable with that would be to find a local friend/contact that is. It would save you postage too! Best of luck.

      1. Thank you for the reply! πŸ™‚ I suppose that’s true, but the chance of bricking the device isn’t very high, and if it occurs, it wouldn’t be a huge problem for me, I can always purchase a new one, I’m just really determined to succeed. As to the problem, it’s the commands that have been causing them, when I type ‘adb devices’ into the command window, my Nook does not come up on the list, it’s simply empty. When I try the first two commands in your 101 post-
        “$ mkdir -p ~/.android && echo 0x2080 > ~/.android/adb_usb.ini && adb
        $ kill-server && adb devices”
        – it returns with ‘The syntax of the command is incorrect’. I’ve checked the driver settings and it says that I have all the correct drivers installed for my Nook and there are no problems with the device itself. Are first two commands in your 101 post, preceded by the $, in the adb shell or just the command window? (adb shell doesn’t work either, it returns with ‘error: device not found).

  6. Thanks a lot for the quick reply! πŸ™‚ I suppose that’s true, but the chance of bricking the device isn’t very high, and if it occurs, it wouldn’t be a huge problem for me, I can always purchase a new one, I’m just really determined to succeed. As to the problem, it’s the commands that have been causing them, when I type ‘adb devices’ into the command window, my Nook does not come up on the list, it’s simply empty. When I try the first two commands in your 101 post-
    “$ mkdir -p ~/.android && echo 0x2080 > ~/.android/adb_usb.ini && adb
    $ kill-server && adb devices”
    – it returns with ‘The syntax of the command is incorrect’. I’ve checked the driver settings and it says that I have all the correct drivers installed for my Nook and there are no problems with the device itself. Are first two commands in your 101 post, preceded by the $, in the adb shell or just the command window? (adb shell doesn’t work either, it returns with ‘error: device not found).

    1. “The $ denotes a prompt in the terminal on your computer; # denotes the prompt within the adb shell” — yeah, $ is for commands in the command window.
      If your device isn’t visible, then nothing with adb will work. The first thing I can think of is that you’re adb driver that you rooted with is usb/wireless and you’re trying to connect with the opposite (wireless/usb) and then of course it won’t see it. The command to connect will be ‘adb connect your.Nook.IP.address’ (replacing with the actual IP address of course).

      1. Thanks for the suggestions, but I didn’t root my device using adb, I used the NookManager application. I’m not sure what the problem could be, but as I said before, I would take the risk and would happily try posting you my Nook using a secure method – (even if there is a chance of it being ending up bricked), and if you do not mind, I certainly wouldn’t; as to finding someone local, and finding a specialist in this area, it would be a bit of a hassle; I’m not acquainted with anyone who is familiar with this kind of thing either. So what would you say to that?

  7. I’m offline for the next week, but I think I’ll still have to say no. You should also remember that using the keyboard on a rooted nook is not so straightforward, so if you aren’t good with the code to install the driver you may not enjoy the interface you have to use after. Good luck! I’m off climbing!

  8. Lara, when you use the external keyboard with your nook, does the nook activate and bring up the soft keyboard on the screen? If it does, that will reduce the usable screen space by about a third.

    I have seen two videos of a nook with an external keyboard. The first showed the soft keyboard activated (with jota I think), reducing the usable screening to about 2/3. The second video showed the same process, but without the soft on-screen keyboard showing. It looked to be using some form of open office. It was in Russian so it was hard to know their process.

    1. Yes, I get the on screen keyboard in Jota. I haven’t tried any other apps to get around it since screen issue was never a big problem for me. Do share if you find one! Also… doesn’t auto translate help?

      1. The video where the user is able to use the whole screen is here:

        At 3:49 he removes the on-screen keyboard and continues to input text with the external keyboard. He is able to use the whole screen. He is using an app called office suite, though I don’t know if that is what allows him to turn off the on-screen keyboard. I will try to check that functionality on a tablet. Sadly auto-translate is yet to work with youtube videos.

        Would you consider trying vimtouch? It is an open-source touch version of unix vi for android. If it works, it would allow superior text manipulation (select, copy and past) using only the external keyboard.

        I expect I’ll set up the external keyboard to test it, but there’s not much point if it always brings up the on-screen keyboard. I need to edit text, and not simply input raw text to be edited later on a computer. The Nook screen is so small that I need all its real-estate.

      2. I’ll try installing the two text editors this weekend and report back.
        Wouldn’t auto-translate on youtube be nice? They should really get on that…

      3. Also I suggest Textwarrior. Under settings, there is an option to not turn on the on-screen keyboard when the screen is touched. There may be a similar option in Jota. I prefer it to Jota. It has better on-screen editing for e-ink, but it’s still very basic.

      4. If you want to try it, in textwarrior, bring up the soft keyboard, click the X key in the bottom left to turn of the soft keyboard, then go to options / more / settings and uncheck the box to auto turn on keyboard when you touch the screen. That should do it. Hopefully…There is probably a similar option in Jota.

        Ideally Vimtouch would be better if it works because Vi was designed for a non-touch interface, though Vimtouch supports the touch screen too. It requires Android 1.6 so it might work.

  9. TextWarrior definately installs. I’d like to know if one could type on a full-screen.
    Not sure about Vimtouch. That’s something else. I’ll test it later. I think the idea of typing on a Nook has potential, but only if one can navigate and edit in the same way one would on a wordprocessor on a computer. For my purposes anyway.

  10. Yeah, it’s definitely my nook somehow. I can’t install anything (haven’t needed to for ages!). I’ll take this “opportunity” to reinstall and test out one of the newer hacks. I’m honestly amazed with the little nook: I got my refurbished in 2011! I hope it keeps it up…

  11. Indeed. I have two. I think using it with a keyboard will burn up the battery, but batteries can be replaced. Vimtouch does not work. It’s open source so maybe I’ll recompile an earlier source, but I fear it won’t work. I might you try getting an apk of Textwarrior. It’s free so there’s no legal / moral issue. It might be your googleplay that is the problem.

    1. No no, my nook is claiming lack of memory but even uninstalling and reinstalling the same app isn’t working. It needs a fresh wipe! (Alas, rebooting wasn’t enough).

      1. Hats off to you. I’ve thrown everything at the Nook St and it refuses to crash, never mind run out of memory! I suppose I’ll set this thing up, but I just don’t if it’ll be worth the time and effort with such a small screen. Only one way to find out, I guess.

    2. Phew! Install all fresh and working. Vimtouch as far back as version 1.5 does not install. Textwarrior does but some of the functionality doesn’t work (no properties/word count). That said, I played a bit more with jota and you can easily hide the keyboard and keep typing with the keyboard (just press the Done button, bottom right). It’ll only reappear if you tap the screen but since shift key selecting is far better than touch-screen anyway that shouldn’t be a problem(?). Keyboard cursors will move the cursor around, but, alas, no Ctrl right/left to jump words, no end (that’s the same as pressing the power button!) and ditto no home (which acts as the n button/home on the nook). Jota has onscreen cut, copy, paste (and just pressing these after keyboard selecting text _does not_ bring up the keyboard again), not sure what else you were getting out of textwarrior?

Comments are closed.