THE PREMISE: As a society, we want an open supply gadget for studying. Books are among the many most necessary paperwork of our tradition, but the preferred and widespread gadgets we’ve for studying — the Kobo, the Nook, the Kindle and even the iPad — are closed gadgets, working as small transferring elements in a set of big closed platforms whose homeowners’ pursuits will not be all the time aligned with readers’.
The Open Guide goals to be a easy gadget that anybody with a soldering iron can construct for themselves. The Open Guide ought to be understandable: the reader ought to be capable of have a look at it and perceive, at the very least in broad strokes, the way it works. It ought to be extensible, so that a reader with completely different wants can write code and add equipment that make the e book work for them. It ought to be world, supporting readers of books in all of the languages of the world. Most of all, it ought to be open, in order that anybody can take this design as a place to begin and use it to construct a greater e book.
A Word to Guests
Crucial factor I can reiterate on this README is that This Is A Work In Progress! The eBook Wing is a primary crack on the , to validate issues just like the e-paper and audio driving circuitry, and to function a testbed for the software program that can ultimately drive the ultimate product. The Wing is simply an adjunct board, and it requires a Feather M4 Categorical to do the heavy lifting. Furthermore, the software program required to truly be an eBook is in its infancy; I can put a couple of Arduino sketches up right here, however the long-term objective entails constructing open supply eBook software program in CircuitPython, and that is nonetheless a methods out.
The objective is to take the teachings realized on the Wing, and apply them to the ultimate product, The Open Guide, which can include its personal microcontroller and energy circuitry, in order that it may be a standalone Feather that you should utilize as-is or lengthen with different wings. I am hoping to perform that by the top of the 12 months. If you wish to assist convey this concept into the world, be at liberty to fork this and open a pull request! My common street map seems to be one thing like this:
- Hardware: Construct Feather Wing to validate peripheral design
- Software program: Native GNU Unifont help in CircuitPython (help all characters of all languages + RTL textual content format, accents, diacritics)
- Software program: CircuitPython menu system for itemizing and deciding on books on SD card
- Software program: CircuitPython interface for studying a e book, storing person’s place on SD card
- Hardware: Open Guide Feather with SAMD51 processor, Flash reminiscence, shift register for buttons, indicator LED, and many others.
- Board help: UF2 Bootloader for Open Guide
- Board help: CircuitPython board definition for Open Guide
- Secondary objective: Arduino core for Open Guide
The E-Guide Feather Wing
The Feather ecosystem appeared like the perfect place to begin constructing this. An eBook reader is an inherently moveable gadget, and all Feather mainboards help LiPo battery operation and charging by way of USB. All Feather boards work with the Arduino IDE, which is tremendous accessible for anybody to hack on, and newer boards additionally help CircuitPython, which lowers the bar to entry even additional.
You may additionally have to order the board from OSH Park; it is $66.80 for 3.
Word that you could omit a few of these issues; the headphone jack won’t be obligatory to your use case, and I am unclear whether or not the SRAM chip goes to be 100% helpful; ultimately it is your e book, make it with no matter bits you need
Instant targets as of 9/2019: I am writing a local module for CircuitPython that reads the GNU Unifont from the Wing’s flash chip, and makes use of that knowledge for tremendous quick textual content rendering of pixels out to a bitmap. Plus different Unicode options like bidirectional textual content, RTL mirroring, accents and diacritics, and many others. When that is achieved, the e book ought to be capable of show textual content in all of the languages of the world, in CircuitPython.
After that, the objective will likely be to begin writing the person interface in Python, whereas concurrently making progress towards a closing PCB format for the Open Guide.