Description
The Open Book is an open-hardware device for reading books in all the languages of the world. It includes a large screen and buttons for navigation, as well as audio options for accessibility and ports to extend its functionality. Its detailed silkscreen, with the all the manic energy and quixotic ambition of a Dr. Bronner's bottle, aims to demystify the Open Book's own design, breaking down for the curious reader both how the book works, and how they can build one for themselves.
Details
Links: [GitHub] [Patreon] [Twitter]
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 400x300 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.
Revision 4 of the board is solid! It adds the aforementioned mic shutdown pin, as well as a green LED to indicate full charge, and a voltage monitor on VBUS to determine whether the device is plugged in. I have Arduino board support here, and I'm working on a couple of libraries that support the book: a library called Open Book for interfacing with the device's peripherals, and a a library called Babel that sits between the language chip and an Adafruit_GFX subclass for multilingual typesetting.
For (very infrequent) updates about the project, I've set up a mailing list here.
GitHub Repository
Files
Open Book A1 Rev 04.brd: EAGLE board for Open Book A1 Rev 04
Open Book A1 Rev 04.sch: EAGLE schematic for Open Book A1 Rev 04
Comments