summaryrefslogtreecommitdiffstats
path: root/_projects
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2025-10-25 15:29:33 +0800
committerSadeep Madurange <sadeep@asciimx.com>2025-10-25 15:29:33 +0800
commit5066fbedd5b92797ceca9f6841785ee03b362a57 (patch)
tree62476f0ea942c370c764c6180c7c31c97f049322 /_projects
parent6d80c9b4be3cc4ace918f0546e1238a680116042 (diff)
downloadwww-5066fbedd5b92797ceca9f6841785ee03b362a57.tar.gz
Add post layout.
Diffstat (limited to '_projects')
-rw-r--r--_projects/e-reader.md (renamed from _projects/e-reader/index.md)17
1 files changed, 7 insertions, 10 deletions
diff --git a/_projects/e-reader/index.md b/_projects/e-reader.md
index 2b907bb..be34473 100644
--- a/_projects/e-reader/index.md
+++ b/_projects/e-reader.md
@@ -1,8 +1,9 @@
---
title: Prototype e-reader
-date: 2023-10-24T00:00:00+08:00
+date: 2023-10-24
author: W. D. Sadeep Madurange
thumbnail: thumb.png
+layout: post
---
This project features a prototype e-reader powered by a 7.5-inch {{< link
@@ -10,13 +11,9 @@ src="https://www.waveshare.com/" class="external" target="_blank"
rel="noopener noreferrer">}}Waveshare{{< /link >}} e-paper display and an
ESP-WROOM-32 development board.
-<video style="max-width:100%" controls="" poster=thumb.png>
- <source src="ereader.mp4" type="video/mp4">
-</video>
+{% include video.html src="ereader.mp4" %}
-{{< toc >}}
-
-## Overview
+#### Overview
In 2017, during a short stint as a project manager, I was tasked with
installing some e-paper displays in a car park. Not knowing how they worked, I
@@ -45,7 +42,7 @@ system-on-a-chip with a 160 MHz dual-core processor and integrated WiFi. So, I
thought it’d be amusing to embrace the constraints and build my e-reader using
just a $5 MCU and the power of C programming.
-## The file format
+#### The file format
The file format dictates the complexity of the embedded software. So, I’ll
begin there. The e-reader works by downloading and rendering a rasterized
@@ -61,7 +58,7 @@ The enclosed pdftoebm.py script in the tarball at the end of the page converts
PDF documents to an EBM file. I use it to make EBM files before uploading them
to a web server.
-## How does it work?
+#### How does it work?
As the e-reader has no storage, it can't store books locally. Instead, I first
have to upload the EBM file I want to read to a web server. The location of the
@@ -81,7 +78,7 @@ I designed the EBM format with HTTP streaming in mind. To download a page based
on the current reading progress, the e-reader specifies the page offset and the
chunk size using the HTTP Range header.
-## Afterword
+#### Afterword
It's been six years since the car park and the displays. At the time, I knew
nothing about embedded systems or display drivers. It took a long time to