You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
Communication and Data Flow
Communication Interfaces
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
Power Consumption Estimation
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
Estimated Battery Life
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.
Additional Considerations
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.
Microcontroller Pin Assignments
SPI (Serial Peripheral Interface) – For Display and Storage
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 (Inter-Integrated Circuit) - For Sensors
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 (Universal Asynchronous Receiver-Transmitter) – For Communication Modules
UART is used for serial debugging.
Signal Name
Pin Number
Description
TX
GPIO 16
Debug TX output
RX
GPIO 17
Debug RX input
GPIO (General Purpose Input/Output) – For Buttons & LEDs
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
RTC pins
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
USB data pins
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
Conclusion
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.
Notes
Content of README.md adapted from generated response by ChatGPT
Power consumption estimations and calculations generated by ChatGPT