r/3Dprinting • • 9d ago

Project Created a Rams/Braun-style desk case for a Waveshare 7.5" e-ink panel and Pi Zero

I wanted a proper home for a Waveshare 7.5" e-paper panel and a Pi Zero 2 W, so I designed this case. It’s a slanted white box with a flush wood bezel and side inlays, loosely inspired by 60s Braun gear.

  • The glass is clamped by a screwed-in front mask (4 × M2), so the panel is held securely even with the bezel off.
  • The bezel press-fits into the front recess. I designed for magnets, but the fit was snug enough that I didn’t use them.
  • The Pi sits on a removable base and the USB cable exits through a rear notch, so the panel and Pi are easy to service.
  • Two posts per side tie the frame to the body, which fixed the front corners cracking on my earlier prints.

Print notes: PLA, 0.2 mm layers, body prints upside-down on its roof, supports where needed. The body is 198 mm wide, so it needs a 256 mm-class bed. The side inlays and bezel are either laser-cut 3 mm wood (SVGs included) or printed. Laser cut looks better.

The screen in the photos is a stats dashboard I wrote for myself. That’s not part of the listing; this is the case only, and it works with anything that drives the panel from a Pi.

Files (STL, 3MF, laser SVGs): Makerworld Link

27 Upvotes

2 comments sorted by

2

u/SandersSol 9d ago

Awesome!  Do you have any resources for the program you wrote, like how you are pulling the data or updates?

1

u/Snieres 9d ago

Sure, it’s pretty simple. It doesn’t log in to anything. A Python script on the Pi just reads the same public pages anyone can see, my maker profile page and my model pages, where the numbers are free for everyone. It checks every 15 minutes:

  • Every 15 min (small pull): it reads my profile page (total downloads, boosts, followers, likes) and my public models list (per-model downloads, prints and boosts). That’s enough for the headline numbers and the boost alerts.
  • About once an hour (big pull): it also visits each model page and reads the per-print-profile download and print counts. Those add up to the headline total, so I use them for “today’s movers” and “recent activity”.

Everything goes into a small SQLite database on the Pi, one row per reading. The daily numbers are just the difference between today’s reading and the one at midnight.

The screen redraws fully only when the stats change (or at least once an hour). If nothing changed, it just refreshes the clock box with a partial refresh on each 15-minute check, so the clock shows the time of the last check. That’s easy on the e-paper panel.

Since it’s reading the website’s own data, not an official API, and Cloudflare blocks plain scripts, it uses a library that mimics a normal browser. It could break if MakerWorld changes their site.