This commit is contained in:
2026-02-20 16:14:45 +00:00
parent 1e741e6be7
commit bda25c8713
2 changed files with 6 additions and 1 deletions
+5
View File
@@ -25,6 +25,7 @@ tags: ["ESP32", "Self-Hosting"]
For christmas my wife got me a virtual running challenge. I have to run 80km with a smart watch and at the end I get a nice Scooby-Doo medal. The issue is, now that everything requires its own app I forget to open it. My Garmin watch tracks all my running and syncs it to the running app but I wanted a way see my progress, clearly on my desk in the hope it will motivate me to get out and run more. For christmas my wife got me a virtual running challenge. I have to run 80km with a smart watch and at the end I get a nice Scooby-Doo medal. The issue is, now that everything requires its own app I forget to open it. My Garmin watch tracks all my running and syncs it to the running app but I wanted a way see my progress, clearly on my desk in the hope it will motivate me to get out and run more.
I had a waveshare 4.2" eink display in my drawer that ive been looking to find a good use for. A quick search only and I found a python wrapper that can pull data from Garmin connect and suddenly I had all the pieces to put this project together. I had a waveshare 4.2" eink display in my drawer that ive been looking to find a good use for. A quick search only and I found a python wrapper that can pull data from Garmin connect and suddenly I had all the pieces to put this project together.
--- ---
### Step 1 - Getting the Garmin Data ### Step 1 - Getting the Garmin Data
@@ -41,7 +42,11 @@ I later decided it made more sense to show todays date at the botton my the page
One of the greatest challenges was my desicion to include an image. An easier option would have been to buy an ESP32 with a micro SD card slot to give me an easier way of storing the image. Wanted to make this work without buying anything new I decided to stream the image from my Caddy server directly ro the display. With some AI magic I had a bash script that would convert any image I gave it to a resized monochrome bitmap suitable for the basic eink display. The great thing about using this approach is it makes changing the image for a different future challenge much easier. One of the greatest challenges was my desicion to include an image. An easier option would have been to buy an ESP32 with a micro SD card slot to give me an easier way of storing the image. Wanted to make this work without buying anything new I decided to stream the image from my Caddy server directly ro the display. With some AI magic I had a bash script that would convert any image I gave it to a resized monochrome bitmap suitable for the basic eink display. The great thing about using this approach is it makes changing the image for a different future challenge much easier.
### Step 3 - The case
The case comes from [printables](https://www.printables.com/model/495094-waveshare-42-e-paper-stand/comments) and felt like the cleanest option. The case comes from [printables](https://www.printables.com/model/495094-waveshare-42-e-paper-stand/comments) and felt like the cleanest option.
### 🏁 Summary & Lessons Learned ### 🏁 Summary & Lessons Learned
Wrap up your project here. What would you do differently next time? This provides that "closing" feel for a future employer. Wrap up your project here. What would you do differently next time? This provides that "closing" feel for a future employer.
![Early basic setup](./medal.webp)

Before

Width:  |  Height:  |  Size: 544 KiB

After

Width:  |  Height:  |  Size: 544 KiB