How to build an OS like Android but for an e-ink e-reader?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
obicho
Posts: 1
Joined: Mon Feb 24, 2014 6:34 pm

How to build an OS like Android but for an e-ink e-reader?

Post by obicho »

I am trying to develop an operating system for hardware manufacturers who might want to use it to for an e-book device.
At the moment I have a prototype built using Raspberry Pi and a small 2.7 inch e-ink display.

I am able to write python programs that can parse a book in text file and write to the e-ink display using a python library that comes with the e-ink manufacturer.

My goal is write a simple GUI so that users can select books they want to read. I have looked into existing GUI library for python but they are too complicated for e-ink display. And, usually these programs are not written for an embedded system in mind. I'd like to write an OS that can go to sleep mode easily when the book is close. The OS also should have low memory, CPU requirement.

I think the Android OS is a good model to follow but maybe an overkill for what I am intend to do with my project. I am looking for suggestions on the approach. I also welcome any recommendations on existing framework, Linux distribution to look into.

Here is more info about my project on Github. Thanks.

https://github.com/obicho/ebook
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: How to build an OS like Android but for an e-ink e-reade

Post by Combuster »

E-readers have a much better battery performance because they can actually power down completely without spoiling the screen. The problem is that you want to preserve some background state so you know where in the navigation process you are. On a Pi, the only power-free way is the SD card, but that means a write cycle every button press. Also, the Pi has a relatively long startup sequence so instead you'll be stuck with having powered RAM.

What those devices typically end up getting is a kernel that's Linux in name only: you remove all the functionality except the ones you strictly need. You ditch the stuff like initscripts, X, and everything that will have background processes as well as everything that creates kernel threads. Then you start only one app: the UI, probably even as root, and have it repeatedly do blocking reads on an input device, and hope the kernel configuration you built is smart enough to always drop to the lowest possible power state the moment you do that.

Which is how most of these manufacturers work: take linux because it has all the drivers, then chop everything off until it basically becomes a glorified single-tasking system.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
bwat
Member
Member
Posts: 359
Joined: Fri Jul 03, 2009 6:21 am

Re: How to build an OS like Android but for an e-ink e-reade

Post by bwat »

This isn't answering your question but..... if you're serious about this then I think you'll end up wasting your time. I've got the cheapest ebook reader I could find (Bookeen something) and it has the most amazing battery time and it runs Linux. Something like this running the most energy-optimised OS possible wouldn't make much difference, I change pages between 50-100 times a day on mine and I can't remember the last time I charged it, or if the battery level has been anywhere near as low as 25%. I maybe charge it once every two months.

Personally, I would forget about power savings and maybe focus on integrating a fingerprint reader into a ebook reader and making sure everything is encrypted so that non-technically minded people can physically move documents with them from A to B in a secure manner.
Every universe of discourse has its logical structure --- S. K. Langer.
Post Reply