Amazon Kindle is well suited to be upcycled as a fridge messaging display due to its low power consumption.
The main idea is explained here and below are all the technical details:
All the source code below is in this repository.
Step 1: Send Email to email@example.com
First you need to create a new email account for your fridge kindle on gmail.com, e.g.,
firstname.lastname@example.org. Whoever sends an email to
email@example.com will get his email displayed on your fridge.
Step 2: Email Arrives into firstname.lastname@example.org Inbox
There is not much to explain here, all the hard work is done by the google team :)
Step 3a: Install Dependencies on Raspberry Pi
You can use any server you have, many people have a Raspberry Pi running on their home network. Our webserver app to fetch emails and render them to html is written in Ruby.
First we install ruby and its gems (libraries):
and we checkout the server app source code (alternatively you can just wget this file):
Step 3b: Fetch Last Email to Raspberry Pi
3c only explain in detail the what is inside
email-to-kindle-webserver.rb. If you are not interested in details you can jump to step
3d to run the webserver.
We are about to gather last email from
We use ruby-gmail gem which is designed to interact with gmail inbox via IMAP.
We establish connection with our gmail account:
and gather the last email:
Step 3c: Render Last Email as Webpage on Raspberry Pi Webserver
We use sinatra ruby gem to help our ruby script act as webserver.
We want to achieve that when we visit in web browser
http://rpi_ip_address:1212/email we will see the last email.
Step 3d: Run the Webserver on Raspberry Pi
Now we launch the webserver on our Raspberry Pi. Webserver’s source code is stored in file
email-to-kindle-webserver.rb. For debugging purposes we can run it as following:
Once all tested, you rather want to start the webserver automatically (e.g., after RPi reboot). You can use supervisord to automatically start the webserver by putting following content into
Step 4: Display Last Email on Kindle
First we to connect kindle via wifi to the same network where Raspberry Pi is running.
Next we disable kindle’s screensaver as kindle will automatically enter sleep mode after 10 minutes:
- Press the Home button to go the the Kindle home screen
- Press the keyboard button to display the virtual keyboard
- Type following string:
;debugOnand press Enter button (not the Done button)
- Type following string:
~disableScreensaverand press Enter.
Now we launch kindle’s web browser by pressing Menu > Experimental > Web Browser.
You have to enter the url address
http://rpi_ip_address:1212/email. I advise you to save the address immediately as a bookmark to prevent entering the address in future which is painful on the kindle’s virtual keyboard.
Step 5: Add Custom Paper Stripe
It seems is is not possible to enter fullscreen on the kindle’s web browser. To hide Kindle’s top system bar and web browser address bar we cut a stripe from paper using a blade cutter machine.
In my case the headline
/etc/motd refers to unix’s Message of the day.
- you can use IFTTT recipes to integrate services like weather forecast to send messages to your kindle (you may need to adjust the rendered html content).
- I put this magnetic Self Adhesive Magnetic Strip on backside of kindle to keep it attached to the fridge.
- You may be tempted to use native Gmail API to check emails instead of using IMAP, but the official Gmail API is super overengineered and overcomplicated and you will probably spend few hours trying to achieve the same you can do in five minutes with IMAP.
- I received a suggestion to allow browsing the arrived emails instead of displaying newest email only. Unfortunately, the large next page/previous page buttons on Kindle 4 emit no signal to web browser and thus cannot be used to easily switch between email messages. I guess the touchscreen kindle’s are better suited for this purpose.
- It seems to be useless to install Duokan OS for the purpose of this project – Duokan has no web browser (at least in v2013 for Kindle 4).
- Andrew Jones