Here’s a quick tutorial for turning an old Nook into a passive display. This is an update to my 2013 post

End Result

An eInk screen which displays the trains I can catch from my local station.

It shows the next few available trains, and whether they’re delayed. It also shows how long until the next local bus to the train station.

Updating the Nook

Before doing anything, manually update the Nook’s firmware. You can download the latest version from Barnes and Nobel

Copy the .zip file to the root directory of your Nook via USB. Unplug the Nook and turn it off. After a few minutes, it should detect the file and perform the update.

Sadly, it’s only Android 2.1 – and the TLS implementation is artificially restricted. More on that later!

It’s worth deregistering your Nook and then resetting it. You have to press a few buttons to use the Nook without a B&N Account.

Rooting the Nook

Download Nook Manager (or compile it yourself from the open source code).

Unzip the file. It should just contain NookManager.img . Write the disk image to a microSD card. Follow the instructions on XDA Developers to root the device.

Changing the Launcher

I used ReLaunchX which is an eInk optimised Android launcher. Download the latest Android version from F-Droid.

With the Nook connected to your computer by USB, run:

adb install com.gacode.relaunchx_200105000.apk

That will install the launcher. When you hit the Nook’s home button, you will be able to select it as the default launcher.

Electric Sign

Running a modern web browser on the Nook is close to impossible. So I recommend using Electric Sign. It’s an open source Android app which periodically calls a URl, turns it into an image, and then uses it as the Nook’s screensaver.

You can download the latest version from APKpure.

Again, install it using:

adb install Electric\ Sign_v1.0.3_apkpure.com.apk

Launch it from ReLaunchX and follow the setup screen. I set it to reload every 5 minutes from 7AM until 9pm.

TLS Woes!

Here’s where life gets complicated. The World Wide Web is changing to become more secure. Sadly, this means older browsers simply cannot access modern web servers. Even though B&N have updated the Nook to use TLS 1.3 – it only works with their own servers. Trying to access modern https:// sites just won’t work.

So, you will need to point Electric Sign to an unencrypted website.

Train API

UK trains have an open API, the snappily named Live Departure Boards Web Service (LDBWS). You need to register for an API key, which is pretty much instant.

There’s a great PHP library for OpenLDBWS. You can also find libraries in most popular programming languages.

I created a quick little page which displays the trains that either my wife or I can catch to get to our jobs. When we’re sat eating breakfast, we can see if our regular train is delayed.

Bus

I have an Alexa skill to tell me the bus times – but listening is much slower than reading. So I also added bus times.

You can also see that I’ve only included trains we can actually catch. There’s no point showing a train leaving in 5 minutes if it takes 10 minutes to walk to the station. The train API shows the departure time of delayed trains, so the code takes that into account.

Physical Install

I used a double-sided 3M sticky pad and plonked it on the wall. No fancy hooks, screws, or magnets. Just glue.

It’s conveniently close to an electrical socket. But having a trailing wire looks messy. So we’ll only plug it in when it needs a top up. I replaced the Nook battery a few years ago so it should last several days without a recharge.

Code

All the code – plus backups of the binaries – are available on GitLab.

What next?

I don’t really care about the weather or the news, and there’s limited screen space. But if you have any suggestions for what it could display, do let me know.

Hope you found that useful!