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?
I’d say your biggest issue is likely to be power. The CM4 isn’t exactly a power hungry beast like a desktop mobo/cpu combo would be, but it’s also pretty far from the power sipping abilities of most MCUs like an Arduino or Pi Pico. Some very quick napkin math from its data sheet suggests it needs a minimum of a bit under 2W at idle, and under load can consume something in the ballpark of 7 or 8W and that’s using the datasheets own “typical” values, I’m sure there are situations that could very likely double those figures. While Linux can suspend and resume to drastically reduce power consumption when idle, that’s not exactly a speedy process, I’m not sure you’d E.G. want to do that in between page turns.
I thought about setting the CM4 to sleep when no input was done for ~10min and just hoped, that that would reduce the power consumption enough to last at least 1 week or up to 1 month when used for 1h a day. But it was just a thought. I have not settled to an approach yet.
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.