Make your own open source e-reader

eBooks are a real thing, but if you buy a Kindle, you’re likely to get locked into Amazon’s DRM. What’s a person to do who wants to have an ebook reader that’s aligned with your own interests, rather than the platform owner’s?

Kindle is Amazon’s line of ebook readers. They tend to be very well made, and integrate with the Amazon book store. They sync your page, so if you also read via a Kindle app on a computer or phone, you can pick up where you left off.

And that’s fine, but it also locks you into buying books from them, not being able to easily add books from other sources, or take your books back out.

Years ago, Mark Pilgrim compiled quotes to form The Future of Reading, a Play in Six Acts. The first act said,

When someone buys a book, they are also buying the right to resell that book, to loan it out, or to even give it away if they want. Everyone understands this.

Jeff Bezos, Open letter to Author’s Guild, 2002

You may not sell, rent, lease, distribute, broadcast, sublicense or otherwise assign any rights to the Digital Content or any portion of it to any third party, and you may not remove any proprietary notices or labels on the Digital Content. In addition, you may not, and you will not encourage, assist or authorize any other person to, bypass, modify, defeat or circumvent security features that protect the Digital Content.

Amazon, Kindle Terms of Service, 2007

The Open Book Project sets out to change all that, by offering a PCB, components to solder onto the PCB, and load firmware, drivers, an operating system, and books so that you can read. The hardware has a D pad for navigating a list of books, and left and right switches for page turning.

Quoting from the hackaday.io page,

At the core of the Open Book is a SAMD51J19A microcontroller, a powerful ARM Cortex M4 with 512 KB of Flash and 192 KB of RAM. It has 51 pins of GPIO, and the Open Book uses all of them for peripherals and possibilities: 

  • A 400×300 black and white e-paper screen enables the core experience of, y’know, reading. 
  • A MicroSD slot allows for plenty of external storage for files. An offline copy of Wikipedia fits in 64 gigs — Hitchhiker’s Guide, anyone?
  • User input comes from seven buttons on a shift register, plus an eighth button tied directly to one of the SAMD51’s interrupt pins.
  • A dedicated flash chip for languages gives the book room to store glyphs and Unicode data for every language in the Basic Multilingual Plane (which is most of the languages in use today).
  • A 3.5mm audio jack:
    • Dual DACs allow for stereo audio output, and the SAMD51 is powerful enough to decode MP3 files on the fly (hello audiobooks)!
    • Raw input from a headset’s in-line mic button lets the book detect up to four inline buttons, depending on the design of the headset…
    • …and amplified mic input from the inline mic works with TensorFlow Lite to allow recognition of voice commands! Also, like, recording stuff. Rev 4 also adds the ability to shut down the mic, for power saving and privacy purposes.
  • A QSPI Flash chip and status Neopixel enable CircuitPython use cases.
  • STEMMA ports allow for the addition of I²C sensors and external analog or digital inputs. You can even run a Neopixel strip off of them, which makes for a decent reading light.
  • And of course it’s a Feather, which means it’s battery operated with built-in LiPo charging. It also has a full Feather header, which means you can add wings for everything from sensors to GPS to WiFi to LoRa.

This isn’t exactly for the faint of heart. Soldering surface mount parts takes practice. There’s a bunch of steps involved in loading the software to make it work. And on top of this, you’ll have to get an enclosure made up.

Costs are $15 for the PCB from Tindie, or you can download the gerber files and have your own made. That’s the point of this project: “The Open Book aims to be a simple device that anyone with a soldering iron can build for themselves.

The Open Book should be comprehensible: the reader should be able to look at it and understand, at least in broad strokes, how it works. It should be extensible, so that a reader with different needs can write code and add accessories that make the book work for them.

It should be global, supporting readers of books in all the languages of the world. Most of all, it should be open, so that anyone can take this design as a starting point and use it to build a better book.”

Leave a Reply

Your email address will not be published. Required fields are marked *