BukuBuku is an Open Source eReader device inspired by The Open Book Project
Phase 0 is mainly PoC and early development of the e-paper display driver
- write driver for e-paper display
- learn how to write kernel driver
- create simple SPI driver ( for RTC chip or small e-paper display )
- create simple character device driver using SPI ( for RTC chip or small e-paper display )
- create simple character device driver using SPI for an e-paper display
- create simple framebuffer driver for an e-paper display
- create framebuffer driver for the an e-paper display
- test fbpdf on a framebuffer device
- test on TFT display
- test on e-paper display
- test Qt program on a framebuffer device
- test on TFT display
- test on e-paper display
- create initial Qt program for e-reader
Phase 1 focused code optimization and testing it on the final chip
Phase 2 focused on hardware. Schematic design, first iteration of the board, develop sleep-mode for the device, device's power management.
There are 2 way to display ebooks:
- Qt Application
- create Qt application that can render ebooks
- add file manager to move between books
- possibly uses Qt for Embedded
- Framebuffer Application
- used for initial PoC
- possibly uses aligrudi/fbpdf
- Framebuffer
- create framebuffer driver for the e-Paper display
- handles partial/full refresh
- any display optimization happens here
- handles SPI communication
- SPI Subsystem
- Internally will be called when the framebuffer uses SPI library
- Panel Driver
- the driver that translate SPI communication to the e-Paper signal
- in Phase 1 would be IT8951
- e-Paper Panel
- raw display panel without any driver chip
- in Phase 1 would be Waveshare 7.8 inch
- SRMX6SOW00D512E000V15C0 SolidRun LTD | Embedded Computers | DigiKey
- PICO-PI-IMX6UL Wandboard.Org | Embedded Computers | DigiKey
- SA69-0100-0100-C0 UDOO | Embedded Computers | DigiKey
- 102991306 Seeed Technology Co., Ltd | Embedded Computers | DigiKey
- NPi i.MX6ULL® Linux Dev Board - Seeed | DigiKey
- NPi i.MX6ULL Development Board - Seeed | DigiKey
- PICO-PI-IMX6UL Wandboard.Org | Embedded Computers | DigiKey
- 102991305 Seeed Technology Co., Ltd | Embedded Computers | DigiKey
- PICO-IMX6UL-KIT Wandboard.Org | Embedded Computers | DigiKey
- NEO power specs | UDOO Forum
- PICO-IMX6UL-KIT Wandboard.Org | Embedded Computers | DigiKey
- All-in-1 ARM Cortex Embedded Development Board | UDOO Neo
- ConnectCore® for NXP i.MX6 UltraLite - Linux SOM | Digi International
- BeagleEPD - eLinux.org
- Nguyen_Vu.pdf
- c - How to write a simple Linux device driver? - Stack Overflow
- Implementing I2C device drivers — The Linux Kernel documentation
- Writing a Linux Kernel Module — Part 1: Introduction | derekmolloy.ie
- Linux Device Drivers Training 06, Simple Character Driver - YouTube
- How to build a Linux loadable kernel module that Rickrolls people
- The Beginner’s Guide to Linux Kernel Module, Raspberry Pi and LED Matrix · Puddle Of Code
- GPIO Programming: Using the sysfs Interface | ICS
- RPi BCM2835 GPIOs - eLinux.org
- The Linux Kernel Module Programming Guide
- SPI Use — Firefly Wiki
- Linux Driver Tutorial: How to Write a Simple Linux Device Driver
- Introduction-to-Linux-Kernel-Driver-Programming-Michael-Opdenacker-Bootlin-.pdf
- Warning messages from dtc - Raspberry Pi Forums
- Device Trees, overlays, and parameters - Raspberry Pi Documentation
- Device Tree for Dummies
- rpi_elecfreaks_22_tft_dt_overlay/elecfreaks_22_tft.dts at master · philenotfound/rpi_elecfreaks_22_tft_dt_overlay
- linux/media-center-overlay.dts at rpi-4.9.y · raspberrypi/linux
- sainsmart32-dtoverlay/sainsmart32-overlay.dts at master · Flugtiger/sainsmart32-dtoverlay
- linux/adafruit13m-overlay.dts at 3d61a22b05cbf7ac2f6b620dcd45c2fb49fb9442 · kenrestivo/linux
- FBTFT RPI overlays · notro/fbtft Wiki
- epd/rpi-epd-overlay.dts at master · repk/epd
- How to add DT support for a driver - i.MXDev Blog
- dev_get_platdata understanding
- e-ink · GitHub Topics
- NiLuJe/FBInk: FrameBuffer eInker, a small tool & library to print text & images to an eInk Linux framebuffer
- repk/epd: Epaper Display Linux kernel driver for EM027AS012
- How can I add an additional framebuffer device in Linux? - Unix & Linux Stack Exchange
- GregDMeyer/IT8951: Driver for the IT8951 e-paper controller on Raspberry Pi
- Kernel space: E-paper support for Linux | Network World
- More Fun with Four-Wire SPI: Drawing to “E-Ink” Displays – Vivonomicon's Blog
- joukos/PaperTTY: PaperTTY - Python module to render a TTY or VNC on e-ink
- Driving E-ink display – Essential scrap
- Mine of Information - Linux Framebuffer Drivers
- Writing a Basic Framebuffer Driver
- c - How do I go about writing a Linux driver for an LCD screen? - Stack Overflow
- linux - How to use /dev/fb0 as a console from userspace, or output text to it - Unix & Linux Stack Exchange
- haphazard.io - Raspberry Pi framebuffer FBTFT ILI9341
- notro/fbtft: Linux Framebuffer drivers for small TFT LCD display modules
- juj/fbcp-ili9341: A blazing fast display driver for SPI-based LCD displays for Raspberry Pi A, B, 2, 3 and Zero
- Hackaday/fbcp-ili9341: A blazing fast display driver for SPI-based LCD displays for Raspberry Pi A, B, 2, 3 and Zero
- aligrudi/fbpdf: A small framebuffer pdf, djvu, epub, xps, and cbz viewer
- Using MCP3008 ADCs with Raspberry Pis
- linux/mcp320x.c at master · torvalds/linux
- Writing an RTC Driver Based on the SPI Bus
- DS1347T+T&R Maxim Integrated | Integrated Circuits (ICs) | DigiKey
- linux/rtc-ds1347.c at master · torvalds/linux
- https://www.sparkfun.com/products/10160
- DS3234 Datasheet
- https://github.com/spotify/linux/blob/master/drivers/rtc/rtc-ds3234.c