DIY eBook Reader - Build your own Kindle using an ESP32

Ойын-сауық

I've been busy playing with another ESP32 based e-Paper display. Once again we're sponsored by PCBWay - www.PCBWay.com/?from=atomic
There are some interesting aspects to this project:
We're using deep sleep to save on battery - check out my recent video on this subject for a deep dive: • Mastering ESP32 Deep S...
We're also using an SD Card in SPI mode using a few of the spare GPIO pins on the board - we've covered this previously in this video: • Record & Playback Audi...
Parsing, layout out and rendering ePub files is pretty interesting. It's a good challenge to try and get this working nicely on embedded devices like the ESP32.
[0:00] Introduction/demo
[1:07] ePub format overview
[1:34] What's inside an ePub file?
[1:49] The content.opf file
[2:20] ePub components
[2:32] Challenges
[2:55] Getting ePub files onto the device
[3:08] Touch screen failure
[3:24] Listing files on an SD Card
[3:33] Enabling long files names in the ESP-IDF
[3:51] Reading ZIP archives on the ESP32
[4:15] Parsing the content.opf file to get the book structure
[4:56] Should we build a web browser?
[5:34] Parsing the XHTML content
[5:52] Laying out the content
[7:28] Deep sleep
[7:41] Show me the code!
Everything is on GitHub here: github.com/atomic14/diy-esp32...
If you've got an ESP32 based ePaper display then please give it a go!
You can get the LilyGO board I'm using from here: s.click.aliexpress.com/e/_9u8DGd (affiliate link)
----
Patreon: / atomic14
ko-fi: ko-fi.com/atomic14

Пікірлер: 60

  • @sandorkonya
    @sandorkonya2 жыл бұрын

    A very ingenious way of parsing the .epub file! Really liked this vid!

  • @dosgos
    @dosgos2 жыл бұрын

    Interesting project and exciting video. So much content in under 8 minutes.

  • @JonPYbanez
    @JonPYbanez2 жыл бұрын

    this is phenomenal. fantastic work.

  • @MinNyeAccount
    @MinNyeAccount2 жыл бұрын

    This is really a nice project, and much good infomation

  • @M5Stack
    @M5Stack2 жыл бұрын

    Good work! thank you for sharing this! we have shared this in our community👍

  • @marekzabielski1015
    @marekzabielski1015 Жыл бұрын

    Great project

  • @karmadhendup2572
    @karmadhendup25722 ай бұрын

    Really amazing. I will try to work in a similar way.👍

  • @anwaralisuthar1569
    @anwaralisuthar15693 ай бұрын

    Great work

  • @jacksteven4892
    @jacksteven48922 жыл бұрын

    Great project! Maybe if you could add support for ZIM files you could make an offline Wikipedia reader?

  • @peter.stimpel
    @peter.stimpel2 жыл бұрын

    quite an achievement, congrats!

  • @yurievi4
    @yurievi42 жыл бұрын

    awesome work mate!

  • @atomic14

    @atomic14

    2 жыл бұрын

    Thanks! I got to the 80% point where I thought if I didn't show people it would never be finished...

  • @md.abdulbaten3033

    @md.abdulbaten3033

    2 жыл бұрын

    @@atomic14 সও২যাক্ব্ব২স্ব্বস্ব২ওওওওওওওস্বস্বস্য্ব্বস২২ও২ওওয্ব্বয২ওওওও২ওয্ব্ব্ব%২য্ব্ব্বসস্বযসস্ব্বয২ওওওয্য্ব্ব্ব্ব্ব্বয২স্ব্ব্ব্বসা%ওও২ওও২ওয়াওস্ব্ব্বয্বস্বয্বসস্বয২ওওও২ওওও

  • @roguesecurity
    @roguesecurity2 жыл бұрын

    This is amazing!!!

  • @atomic14

    @atomic14

    2 жыл бұрын

    Thanks!

  • @hakimtsv8957
    @hakimtsv89572 жыл бұрын

    Keep it up i really like your projects

  • @atomic14

    @atomic14

    2 жыл бұрын

    Thank you!

  • @hakimtsv8957

    @hakimtsv8957

    2 жыл бұрын

    @@atomic14 thank you! You're the one inspiring us and giving us this content

  • @shrithanosmaharaj8679
    @shrithanosmaharaj86792 жыл бұрын

    came here from reddit, great work

  • @usefulrandom1855
    @usefulrandom185510 ай бұрын

    I got an Arduino the other day, done the first few basic tutorials but they are all a bit crap and give no more info on how to use/incorporate into other projects. I am defo going to build one of these and have joined your discord! I also saw your forecast/temp monitor one, I want one as well lol, I would add a couple of stock prices to the display I think that should not be too much trouble with a little research.

  • @MrNoipe
    @MrNoipe2 жыл бұрын

    Really impressive video, very well explained. Have you thought about improving the text display by using hinting/antialiasing?

  • @atomic14

    @atomic14

    2 жыл бұрын

    Can definitely make some improvements on the text side of things. The library I'm using for driving the ePaper display github.com/vroland/epdiy has some scripts for turning ttf fonts into bitmaps for rendering which does seem to have some antialiasing, but being able to draw ttf fonts directly would be brilliant.

  • @shahidcox9344

    @shahidcox9344

    2 жыл бұрын

    ঝ ওজ পজজজজবজজ,ঝঝন বনআজ জওজজ৷, ঝজও, বজজআজ জ জনওন

  • @shahidcox9344

    @shahidcox9344

    2 жыл бұрын

    জপজপজজওজবআ

  • @shahidcox9344

    @shahidcox9344

    2 жыл бұрын

    বআও জজ

  • @shahidcox9344

    @shahidcox9344

    2 жыл бұрын

    জজপব

  • @neurojitsu
    @neurojitsu2 жыл бұрын

    Glad to have discovered your channel, new sub! I've literally just become interested in the whole maker culture thing... after looking into how to motorise my camera slider, and it just kinda snowballed from there... very quickly! Now I'm looking to get a 3D printer... and fascinated by the M5Stack, ESP32... I have a quick question for you. How easy or difficult a learning path would it be to learn how to interface M5Stack- or Arduino-based electronics with say, an iPhone watch or iPad? I'm aware there are APIs and developer tools, what sort of programming knowledge or language do they require? I'm interested in potentially engaging a developer to help, but prefer to know something about the basics first so that I have the competence and knowledge to manage any relationship with a developer... thanks!

  • @atomic14

    @atomic14

    2 жыл бұрын

    For talking to an iPhone or iPad you are either looking at Bluetooth Low Energy (BTLE) or WiFi. If you're writing an app for the phone then bluetooth is a good option.

  • @dosgos

    @dosgos

    2 жыл бұрын

    You mean "maker culture" or "whole maker culture"? This ebook would fall under "whole maker culture"!

  • @neurojitsu

    @neurojitsu

    2 жыл бұрын

    @@dosgos ha ha, I'm so new to it that I've no idea what you mean!

  • @garagewizzard
    @garagewizzard2 жыл бұрын

    Neat :)

  • @electronash
    @electronash2 жыл бұрын

    Looks great. I might have to build one. I've never had an ePaper device. (quick heads-up on "reder" in the vid title.)

  • @electronash

    @electronash

    2 жыл бұрын

    To confirm the LilyGo EPD47 is the same module as the "LILYGO T5-4.7 Inch E-paper ESP32 V3 Version 16MB FLASH 8MB PSRAM" on their AliExp store, yep? They have a choice between 18650 battery clips, or JST PH, and two different USB serial chips.

  • @atomic14

    @atomic14

    2 жыл бұрын

    @@electronash That's the one - I got the JST one but depends what you have lying around battery wise. USB chips - I've had some issues on my mac with some of the new chips - but my machine is ancient... One thing to be aware of is that I struggled to find connectors for the 4 pin sockets to get the SD Card connected to the board. The official adapter is here - not sure what the pinouts are though! www.aliexpress.com/item/1005002317501092.html

  • @electronash

    @electronash

    2 жыл бұрын

    @@atomic14 Great, thanks. ;)

  • @tw_mortadragon265
    @tw_mortadragon2652 жыл бұрын

    how long does the battery work for fter a full charge?

  • @juliankager1657
    @juliankager16575 ай бұрын

    Hey very nice project, i am also trying to do a project with the liligo epd and I wantet to ask you if the files of the 3d printed case files are available, i did not find them on your git repository sadly. Kind regard.

  • @arseniyp4492
    @arseniyp4492 Жыл бұрын

    only for esp32 up to v3 version(lilygo esp32v3 wrover e)? or esp32s3 too?

  • @mridulagrawal2370
    @mridulagrawal2370 Жыл бұрын

    The Lilygo display you got comes with the ESP32 attached right? I cannot get that board and I want to use a 5.83 inch display from some other brand. Do you think this code would still work? The display is standalone and I will be using an esp8266. I am quite new to the world of microcontrollers.

  • @atomic14

    @atomic14

    Жыл бұрын

    The esp8266 probably won't be powerful enough for the ebook project. It requires quite a lot of memory so needs a chip that has PSRAM.

  • @drickph3066
    @drickph30662 жыл бұрын

    R pico pi or zero pi will work?

  • @phizaics
    @phizaics2 жыл бұрын

    what kind of battery backup do you get from this?

  • @atomic14

    @atomic14

    2 жыл бұрын

    No idea yet - the buttons on the board mean that you can't use EXT1 mode and have to use the ULP which does use more power. I need to try and measure the deep sleep current. My weather display gets a couple of months battery time and that wakes up every 30 minutes and connects to WiFi.

  • @ozey1587
    @ozey158722 күн бұрын

    Hi, very nice project! Any chance you would revisit this in the future to port it to the newer LillyGO T5 4.7 ESP32-S3 version (v2.3) i've tried myself but i'm struggeling with a bunch of errors i don't understand :(

  • @cochieguevarra5723
    @cochieguevarra5723 Жыл бұрын

    does this work on watchy?

  • @debayanbhowmik8085
    @debayanbhowmik808510 ай бұрын

    Is there any way to make the device compatible with .pdf files ?

  • @atomic14

    @atomic14

    10 ай бұрын

    PDFs are a nightmare to parse. The best way to do it would be to render the PDF pages to images on a PC and then just load those onto the device.

  • @t0biascze644
    @t0biascze6447 ай бұрын

    whats the battery life tho

  • @1992annamalinina
    @1992annamalinina2 жыл бұрын

    Price?

  • @zoomingh
    @zoomingh2 жыл бұрын

    Hi Plz, I need design like..... Mic- esp- speaker (1 esp) Voice streamer Can you help me? Ths

  • @phucnguyenthai5398
    @phucnguyenthai53982 жыл бұрын

    Impressive!!!! But the refresh rate seems to be a problem. Unsure if we can accelarate it up.

  • @navidmorovati1742
    @navidmorovati17422 жыл бұрын

    Hi

  • @HashirEasa
    @HashirEasa2 жыл бұрын

    haha 612 page pdf go brrrrrrrrrrrrrrrr

  • @tromzinck
    @tromzinck2 жыл бұрын

    slow down

  • @browaruspierogus2182
    @browaruspierogus21822 жыл бұрын

    ESP is not good for that

Келесі