this post was submitted on 07 Feb 2024
-2 points (33.3% liked)

Embedded programming and micro controllers

295 readers
1 users here now

About embedded programming, micro controllers, ARM Cortex M, RISC-V, Arduino, Micro:Bit, etc.

founded 3 years ago
MODERATORS
 

cross-posted from: https://lemmy.world/post/11673921

I want to build my own portable E-Reader like a Tolino/Kindle in DIN-A5 format (I know there are similar projects, like the Open Book from joeycastillo, but I want to make my own just for fun). I'm considering using the Compute Module 4 from Raspberry Pi. That, at least according to my theories, would have the advantage of me not needing to create my own OS, and the availability of already existing EPUB/HTML (EPUB is essentially just HTML) & PDF parsers and UI libraries hopefully makes my life easier. I don't want to use a default Raspberry Pi, because I don't need all the ports and I want the size of the E-Reader to be not unnecessarily thick.

The modules I need/want:

  • Micro SD Card Reader for internal Storage (or just using eMMC Storage, have not settled yet on that topic)
  • SD Card Reader (large/normal sized SD Cards), with a snap-in/spring mechanism (like with Nintendo (3)DS cartridges)
  • E-Paper Display (e.g. a waveshare)
  • USB-C Port for charging the battery (and maybe, if possible also file transfer and if possible maybe also to connect to a docking station)
  • Battery

What is your experience with the Compute Module (4) and do you have good resources for creating my own PCB extension module for the Compute Module you would like to share? Do you have constructive critique for my project idea?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 6 months ago

As far as I know commercially available ereaders go to sleep in between page turns. After a pageturn my Kobo/Tolino stays awake for maybe a second to allow the user to rotate the device, after that it only responds to the page buttons or touch input.

Most ereaders are running on highly modified Android systems, because it is easy to write graphical applications for it and the underlying Linux kernel makes networking and the likes very easy I suppose.