The OpenBook E-Reader is designed with a focus on simplicity, sustainability, and open-source flexibility. Below is a detailed breakdown of its hardware components, interfaces, communication specifications, processes, and power consumption considerations.
-
Microcontroller
-
Model: ESP32-C6-WROOM-1 (or equivalent) for its integrated Wi-Fi 6, BLE 5, and ample processing power.
-
Functionality: Manages display rendering, input handling, sensor data processing, and communication.
-
Interfaces: Communicates with peripherals via SPI, I²C, UART, and GPIO.
-
-
Display
-
Model: Waveshare WSH-13187 7.5inch e-Paper display.
-
Resolution: 800x480.
-
Interface: SPI (Serial Peripheral Interface).
-
Functionality:
-
Provides a paper-like reading experience.
-
Only consumes power when changing content.
-
-
-
Sensors (for environmental monitoring)
-
Interface: All sensors communicate via I²C bus (reduces pin usage).
-
Process: Sensor readings are periodically captured and displayed for user awareness.
Sensor Type Function Model Interface Power Consumption Temperature Measures ambient temperature Bosch BME688 I²C ~1.8mA @ 3.3V Humidity Measures relative humidity Bosch BME688 I²C ~1.8mA @ 3.3V Pressure Measures atmospheric pressure Bosch BMP288 I²C ~2.7mA @ 3.3V Air Quality Estimates VOC and pollution levels Bosch BME688 I²C ~12mA @ 3.3V -
-
Buttons & User Interface
-
Buttons: Three physical buttons for page navigation and menu control.
-
Interface: GPIO (General Purpose Input/Output).
-
Functionality:
-
Provides a tactile, distraction-free experience.
-
Reduces reliance on touchscreen power consumption.
-
-
-
Connectivity
-
Wi-Fi Module: Integrated in MCU.
-
Interface: SPI or UART.
-
Functionality: Enables e-book downloads, firmware updates, and online features.
-
-
USB-C Port:
-
Functions:
-
Charging (5V/1A).
-
Data transfer for sideloading books.
-
-
Interface: USB 2.0.
-
-
-
Storage
-
SD Memory Card Connector: Attend Tech 112A-TAAR-R03.
- Interface: SPI.
-
External Flash: MAX17048G.
- Interface: SPI.
-
Functionality: Stores books, firmware, and settings.
-
-
Power System
-
Battery: 2500mAh Lithium-Polymer battery.
-
Charging Interface: USB-C, 5V/1A.
-
Battery Management:
-
Uses MCP73831 Power Management IC.
-
Includes overcharge, over-discharge, and short-circuit protection.
-
-
Expected Battery Life: At least one week per charge.
-
| Component | Interface | Function |
|---|---|---|
| Microcontroller - Display | SPI | Transfers image data to the e-paper screen |
| Microcontroller - Sensors | I²C | Reads environmental sensor data |
| Microcontroller - Storage | SPI | Reads/writes e-books and firmware |
| Microcontroller - USB-C | USB 2.0 | Data transfer & charging |
| Component | Active Power (mW) | Sleep Power (mW) | Notes |
|---|---|---|---|
| Microcontroller | 50–150mW | 10mW | Depends on task |
| E-Paper Display | ~500mW (refresh) | ~0mW | Only consumes power during refresh |
| Wi-Fi Module | ~250mW | ~5mW | Wi-Fi off in sleep mode |
| Temperature Sensor | 1.8mW | 0.1mW | I²C bus shared |
| Humidity Sensor | 1.8mW | 0.1mW | I²C bus shared |
| Pressure Sensor | 2.7mW | 0.1mW | I²C bus shared |
| Air Quality Sensor | 12mW | 1mW | Runs periodic checks |
| Physical Buttons | 0mW | 0mW | Uses GPIO interrupts |
| USB-C Charging | ~5W | - | Only active when charging |
Average Power Consumption: ~200mW (normal reading mode).
Battery Capacity: ~2500mAh (~9.25Wh @ 3.7V).
Runtime Calculation:
- 9.25Wh0.2W≈46 hours of active reading
- 0.2W9.25Wh≈46 hours of active reading
This translates to 1–2 weeks per charge, assuming ~3–4 hours of daily reading.
-
Regulatory Compliance:
FCC (wireless compliance), CE (safety), RoHS (environmental standards).
-
Thermal Design:
Passive cooling (no fans required due to low power usage).
-
Firmware Update Process:
-
OTA (Over-the-Air) updates via Wi-Fi.
-
USB sideloading as a fallback.
-
-
Modular Expansion Possibilities:
-
Future support for Bluetooth (e.g., syncing annotations).
-
Open GPIO pins for DIY modifications.
-
SPI is used for fast data transmission between the MCU and E-paper display and Flash storage.
| Component | Signal Name | Pin Number | Description |
|---|---|---|---|
| E-Paper Display | MOSI | GPIO 7 | Master Out, transmits image data |
| MISO | GPIO 2 | Master In, not used (one-way communication) | |
| SCK | GPIO 6 | Clock signal for SPI | |
| EPD_CS | GPIO 10 | Chip Select for E-paper display | |
| EPD_BUSY | GPIO 3 | Display busy signal (high = busy) | |
| EPD_RST | GPIO 23 | Hardware reset for the display | |
| EDP_DC | GPIO 5 | Serial communication Data/Command input | |
| SD Card | MOSI | GPIO 7 | Shared MOSI pin |
| MISO | GPIO 2 | Shared MISO pin | |
| SCK | GPIO 6 | Shared Clock pin | |
| SS_SD | GPIO 16 | Chip Select for SD Card | |
| External Flash | MOSI | GPIO 7 | Shared MOSI pin |
| MISO | GPIO 2 | Shared MISO pin | |
| SCK | GPIO 6 | Shared Clock pin | |
| FLASH_CS | GPIO 11 | Chip Select for external flash |
Note: The same SPI bus is shared between the e-paper display and storage, but they have separate chip select (CS) lines.
I²C is used for low-power, two-wire communication with environmental sensors.
| Component | Signal Name | Pin Number | Description |
|---|---|---|---|
| Environmental Sensor | SDA | GPIO 21 | Data line |
| SCL | GPIO 22 | Clock line |
Note: All sensors share the same I²C bus (SDA & SCL), differentiated by unique I²C addresses.
UART is used for serial debugging.
| Signal Name | Pin Number | Description |
|---|---|---|
| TX | GPIO 16 | Debug TX output |
| RX | GPIO 17 | Debug RX input |
GPIO pins are used for physical buttons, status LEDs, and interrupts.
| Component | Signal Name | Pin Number | Description |
|---|---|---|---|
| I/O (Boot) Button | IO/BOOT | GPIO 9 | Button press input |
| Reset Button | RESET | EN | Button press input |
| I/O (Change) Button | IO/CHANGE | GPIO 15 | Button press input |
| Component | Signal Name | Pin Number | Description |
|---|---|---|---|
| Real Time Clock | INT_RTC | GPIO 0 | Interrupt line |
| RTC_RST | GPIO 18 | Clock reset line | |
| 32KHZ | GPIO 1 | Clock line |
| Component | Signal Name | Pin Number | Description |
|---|---|---|---|
| USB Connector | USB_D+ | GPIO 13 | Positive differential data line |
| USB Connector | USB_D- | GPIO 12 | Negative differential data line |
The OpenBook E-Reader is a well-optimized, low-power device that leverages an efficient microcontroller, e-paper display, and integrated environmental sensors. By utilizing SPI, I²C, and GPIO interfaces, it ensures a simple yet powerful design with extended battery life, modularity, and open-source flexibility. The estimated power consumption aligns well with the goal of at least one week of reading per charge, making it a compelling alternative to mainstream e-readers.
- Content of README.md adapted from generated response by ChatGPT
- Power consumption estimations and calculations generated by ChatGPT