Kindle Dashboard

I’ve set up a kindle to be an always on weather and calendar dashboard, perfect for quickly glancing at before you leave the house in the morning.

The weather and calendar dashboard

The weather and calendar dashboard

This consists of:

All code is available at rhyst/kindle-weather.

Kindle Set Up

Acquire a Kindle

I bought a second hand Kindle Touch, from the first generation to have a touch screen, from eBay for ~£20. In hindsight getting a slightly later model, if you can find a cheap Paperwhite for example, would be better as they have better and more useful power saving modes.

Download software

There is a large community dedicated to Kindle and ereader hacking and for the Kindle they have helpfully compiled all of the useful software into one forum thread on mobiread. The following is a list of packages I used and you should ensure you download the correct version for your kindle version.

Jailbreak the kindle

In order to run custome code we need to jailbreak it.

  1. Extract kindle-jailbreak-1.15.N-r16256.tar.xz (or whatever your jailbreak version is)

Install Dependencies

The dashboard relies on some other Kindle applications. Kual is an application launcher and adds a menu UI for new applications to your Kindle. It is the standard and most Kindle apps will integrate with KUAL. MR Package Installer is a package installer that some applications are installed with. USB Networking allows us to SSH into the Kindle when it is plugged in via USB.

  1. Extract KUAL and put KUAL-KDK-2.0.azw2 somewhere in the documents/ directory tree

USB Networking

With everything installed above you should be able to turn on USB Networking on your Kindle. This will allow you to SSH in to the kindle which is useful for debugging and necessary for the final steps of installing my own kindle weather app.

On the Kindle

You can toggle USB Networking on and off via KUAL. Whilst it is on your Kindle will not mount as a USB storage device, but you can SSH into it.

  1. Go to KUAL -> USBNetwork -> * Toggle USBNetwork *

On your PC (Xubuntu)

I only have instructions for Xubuntu linux. This is possible on most other OSs but you’ll have to google. I also found that doing this via the Network Manager GUI was much easier than command line as modern Ubunut no longer assigns nice names to USB networking interfaces.

  1. Ensure USB Networking is on on the Kindle and plug it in via USB

Server set up

A server application needs to be setup to query weather and calendar APIs and generate a dashboard image from that data. As this will depend heavily on your server setup the instructions are less prescriptive.

Prerequisites:

Instructions:

  1. Clone repository.

Run the kindle app

Finally we need to get the Kindle running an application which will regularly request and display our dashboard image.

  1. Ensure that your Kindle can connect to a local wifi network, from the standard Kindle UI.

That should do it! The Kindle should display and regularly update the dashboard image. Tapping the screen switches between the available actions (WiFi toggle, Refresh Image, Exit to Kindle UI) and pressing the button activates the action.