I am attending the Seattle GNU Linux Conference at the University of Washington this year and wanted to have a bit of fun with a name badge. For this project I am using a Lilygo T-Display with ESP32, a MakerFocus 3000mAh 3.7v battery, and a 3d Printed Case. For full functionality you will need a wifi hotspot or know the event wifi in advance. The device will scroll through several screens including posts for the event from Bluesky.

- Intro
- Name
- QR code
- Bluesky Post 1
- Bluesky Post 2
- Bluesky Post 3
- Call to engagement
The wifi is for the Bluesky posts, the device will display the three most recent posts with the hashtag #seagl2025 and updates every 3 minutes. It is a pretty straight forward project, but it did have a bit of a hiccup with the Bluesky API. While I could not narrow down exactly what their system was doing, it does seem like there is an issue when sorting by latest if there is a pinned post with the hashtag you are searching. After a couple evenings fiddling about (and sicking Claude-code on the issue) I could not figure out a work around that would allow me to bypass this issue, I could pull more posts and auto sort and choose which to display, but the memory limitations of the ESP32 didn’t allow enough posts to be pulled and hardware limitations were becoming a problem. Ultimately I had to exclude posts from @seagl.org since they had the pinned post. This is not ideal, but does still allow for the community posts for the event to be displayed even if theirs are not.
This could be easily adapted to other events and hashtags, and the intro, name, and QR code are all easily altered during setup. You can find the code and install instructions over on GitHub, and the print files over at Printables, give it a try.



