Don't recycle your ePaper: repurpose that old eReader

Python on an eReader

The first Python test was to create a full-screen date/time app (Listing 1). This test app showed that fast screen updates were not possible and that it's important to use large buttons for any type of screen access (even to close the app).

Listing 1

Python Test App

01 # Simple Tkinter Clock
02 #
03 from Tkinter import *
04 import time
06 def update_clock():
07         now = time.strftime("%H:%M")
08         lbl_time.configure(text=now)
09         today = time.strftime("%A %B %d")
10         lbl_date.configure(text=today)
11         window.update()
12         window.after(5000, update_clock)
14 window=Tk()
16 lbl_time=Label(window, text="", font=("Helvetica", 128))
17 lbl_time.pack()
18 lbl_date=Label(window, text="", font=("Helvetica", 64))
19 lbl_date.pack()
20 btn=Button(window, text="Close",font=("Helvetica", 32),bg='grey', command=window.destroy)
21 btn.pack()
23 window.title('Kitchen Kiosk')
24 window.attributes("-fullscreen", True)
25 window.after(1000, update_clock)
26 window.mainloop()

Once the basics were worked out, we created a Python app that showed weather data from a Home Assistant node (Figure 7). It took a bit of time to play with font sizing and gray tones before we had something that we liked.

Figure 7: Weather data on an eReader.

Kiosk-Mode Browser

Another approach for viewing data is to use the eReader as a web client and use another node as the data collector and web server (in this case, a Raspberry Pi). To maximize the eReader screen, the web browser can be used in full-screen or kiosk mode.

To run Firefox in kiosk mode, enter:

firefox --kiosk http://mysite/thepage.htm &

For this project, we used Iceweasel, which is a lighter weight browser than Firefox; however, it does not support kiosk mode. A workaround for such browsers is to use xdotool to simulate mouse and keyboard actions. To install the xdotool utility on Debian and Ubuntu, enter:

$ sudo apt-get install xdotool

The following script opens Iceweasel and then sends the F11 key to open the browser page in full-screen mode:

# open a web browser to our page and go full screen
iceweasel http://our_webserver:80/ &
sleep 15 ; # wait for things to come up
xdotool key F11

The Kobo screen is 800x600, so we had to play with the presentation and font sizes. Figure 8 shows an example web page with local weather and stock market information.

Figure 8: eReader in Kiosk mode.

Final Comments

It's always nice to reuse or repurpose older equipment. We found that for projects that don't need a fast screen update, an eReader can be an excellent viewer for data fed from a Raspberry Pi or Arduino.

Battery life can be increased by toggling the WiFi on and off when you need to refresh the data.


  1. Home Assistant:
  2. Debian images for Kobo Mini:
  3. "How to Jailbreak Your Kindle" by Thorin Klosowski, Lifehacker, July 21, 2016,
  4. Awesome window manager:

The Author

You can investigate more neat projects by Pete Metcalfe and his daughters at

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.