From 43a75ff6bff512a05b99b987395f81d603eb2964 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Thu, 11 Dec 2025 22:00:21 +0800 Subject: Fix unit gaps in e-reader. --- _projects/e-reader.md | 10 +++++----- _site/feed.xml | 2 +- _site/posts.xml | 2 +- _site/projects/e-reader/index.html | 10 +++++----- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/_projects/e-reader.md b/_projects/e-reader.md index dcafca0..3405cc8 100644 --- a/_projects/e-reader.md +++ b/_projects/e-reader.md @@ -29,13 +29,13 @@ minimize power consumption when not in use and records the reading progress in the chip's RTC memory. The most formidable challenge when trying to build an e-reader with an ESP32 -board is its limited memory and storage. My ESP-WROOM-32 board has 512 KB of -SRAM and 4 MB of flash memory, which the freeRTOS, ESP-IDF, and the e-reader +board is its limited memory and storage. My ESP-WROOM-32 board has 512KB of +SRAM and 4MB of flash memory, which the freeRTOS, ESP-IDF, and the e-reader application must share. To put things into perspective, a Kindle Paperwhite has -at least 256 MB of memory and 8 GB of storage. +at least 256MB of memory and 8GB of storage. Despite its size, as microcontrollers go, ESP32 is a powerful system-on-a-chip -with a 160 MHz dual-core processor and integrated WiFi. So, I thought it’d be +with a 160MHz dual-core processor and integrated WiFi. So, I thought it’d be amusing to embrace the constraints and build my e-reader using a $5 MCU and the power of C programming. @@ -48,7 +48,7 @@ monochrome image of a page (a .ebm file). The EBM file contains a series of bitmaps, one for each page of the book. The dimensions of each bitmap are equal to the size of the display. Each byte of the bitmap encodes information for rendering eight pixels. For my display, -which has a resolution of 480x800, the bitmaps are laid out along 48 KB +which has a resolution of 480x800, the bitmaps are laid out along 48KB boundaries. This simple file format lends well to HTTP streaming, which is its main advantage, as we will soon see. diff --git a/_site/feed.xml b/_site/feed.xml index 9010410..8a973b4 100644 --- a/_site/feed.xml +++ b/_site/feed.xml @@ -1 +1 @@ -Jekyll2025-12-11T21:18:26+08:00/feed.xmlASCIIMX | BlogW. D. Sadeep MadurangeHow I manage Suckless software installations2025-11-30T00:00:00+08:002025-11-30T00:00:00+08:00/blog/suckless-softwareW. D. Sadeep MadurangeNeo4J A* search2025-09-14T00:00:00+08:002025-09-14T00:00:00+08:00/blog/neo4j-a-star-searchW. D. Sadeep MadurangeMOSFETs as electronic switches2025-06-22T00:00:00+08:002025-06-22T00:00:00+08:00/blog/mosfet-switchesW. D. Sadeep MadurangeHow to configure ATmega328P microcontrollers to run at 3.3V and 5V2025-04-10T00:00:00+08:002025-04-10T00:00:00+08:00/blog/arduino-unoW. D. Sadeep MadurangeHow to set up ATSAM3X8E microcontrollers for bare-metal programming in C2024-10-05T00:00:00+08:002024-10-05T00:00:00+08:00/blog/arduino-dueW. D. Sadeep Madurange \ No newline at end of file +Jekyll2025-12-11T22:00:02+08:00/feed.xmlASCIIMX | BlogW. D. Sadeep MadurangeHow I manage Suckless software installations2025-11-30T00:00:00+08:002025-11-30T00:00:00+08:00/blog/suckless-softwareW. D. Sadeep MadurangeNeo4J A* search2025-09-14T00:00:00+08:002025-09-14T00:00:00+08:00/blog/neo4j-a-star-searchW. D. Sadeep MadurangeMOSFETs as electronic switches2025-06-22T00:00:00+08:002025-06-22T00:00:00+08:00/blog/mosfet-switchesW. D. Sadeep MadurangeHow to configure ATmega328P microcontrollers to run at 3.3V and 5V2025-04-10T00:00:00+08:002025-04-10T00:00:00+08:00/blog/arduino-unoW. D. Sadeep MadurangeHow to set up ATSAM3X8E microcontrollers for bare-metal programming in C2024-10-05T00:00:00+08:002024-10-05T00:00:00+08:00/blog/arduino-dueW. D. Sadeep Madurange \ No newline at end of file diff --git a/_site/posts.xml b/_site/posts.xml index 99ed7ae..e303b1c 100644 --- a/_site/posts.xml +++ b/_site/posts.xml @@ -1 +1 @@ -Jekyll2025-12-11T21:18:26+08:00/posts.xmlASCIIMXW. D. Sadeep Madurange \ No newline at end of file +Jekyll2025-12-11T22:00:02+08:00/posts.xmlASCIIMXW. D. Sadeep Madurange \ No newline at end of file diff --git a/_site/projects/e-reader/index.html b/_site/projects/e-reader/index.html index 9d26ee2..2e04274 100644 --- a/_site/projects/e-reader/index.html +++ b/_site/projects/e-reader/index.html @@ -67,13 +67,13 @@ minimize power consumption when not in use and records the reading progress in the chip’s RTC memory.

The most formidable challenge when trying to build an e-reader with an ESP32 -board is its limited memory and storage. My ESP-WROOM-32 board has 512 KB of -SRAM and 4 MB of flash memory, which the freeRTOS, ESP-IDF, and the e-reader +board is its limited memory and storage. My ESP-WROOM-32 board has 512KB of +SRAM and 4MB of flash memory, which the freeRTOS, ESP-IDF, and the e-reader application must share. To put things into perspective, a Kindle Paperwhite has -at least 256 MB of memory and 8 GB of storage.

+at least 256MB of memory and 8GB of storage.

Despite its size, as microcontrollers go, ESP32 is a powerful system-on-a-chip -with a 160 MHz dual-core processor and integrated WiFi. So, I thought it’d be +with a 160MHz dual-core processor and integrated WiFi. So, I thought it’d be amusing to embrace the constraints and build my e-reader using a $5 MCU and the power of C programming.

@@ -86,7 +86,7 @@ monochrome image of a page (a .ebm file).

The EBM file contains a series of bitmaps, one for each page of the book. The dimensions of each bitmap are equal to the size of the display. Each byte of the bitmap encodes information for rendering eight pixels. For my display, -which has a resolution of 480x800, the bitmaps are laid out along 48 KB +which has a resolution of 480x800, the bitmaps are laid out along 48KB boundaries. This simple file format lends well to HTTP streaming, which is its main advantage, as we will soon see.

-- cgit v1.2.3