Building a GitHub Dashboard on ESP32 E-Paper

Search for a command to run...

No comments yet. Be the first to comment.
Building your own ESP32 tools and projects. Security labs, IoT automation, and maker experiments. Learn through creation, understand through building. If you can imagine it, you can make it.
If you've been following the hardware hacking scene, you've probably heard of Flipper Zero. It's the Swiss Army knife of hacking gadgets packing Sub-GHz RF, NFC, RFID, IR, GPIO, and BLE into one sleek, pocketable device. For good reason, it became th...
Your team has 14 versions of the same code review skill across 5 repos, with no way to sync them. when one improves, the others don't. drop a folder in .claude/skills/ and pray nothing drifts. source

AI agents are unreasonably good at writing SQL. They get specific error messages, fix their own mistakes in one retry, and can introspect query performance with EXPLAIN ANALYZE before you even ask. No

n8n has over 400 integrations. Zapier claims 7,000+. Every single one was hand-built, tested against a moving API, and will eventually break when that API ships a v2. The entire workflow automation in

Part of the "Your Next Startup" series, where I break down startup ideas I think are worth building. Auth0 sold for \(6.5B. Okta is worth \)15B+. CyberArk, Delinea, BeyondTrust, all printing money fro

For as long as software has existed, we've been building two doors into our systems. Door one: the UI, a carefully designed surface where humans point, click, and occasionally rage-quit. Door two: the

I built this mostly because playing with hardware is fun. There's something satisfying about making a physical thing that sits on your desk and actually does something. Plus, let's be honest - having a little e-paper display showing live GitHub stats makes your desk look way more interesting.
Does it solve a problem? Kind of. I can glance at my notifications and contribution stats without opening a browser. But that's the excuse I gave myself. The real reason was wanting to build something cool with an e-paper display and ESP32.
Press Button (GPIO 39) to cycle through:
Notifications - Reviews, mentions, assignments
Profile - Repos, stars, open PRs, followers
PR Overview - Open, Waiting to review, Ready to merge, Request changes
Each screen fetches fresh data when you switch to it.



LILYGO T5 V2.3.1 (~$15-20) - ESP32 with 2.13" e-paper and two built-in buttons:
GPIO 39: Cycle screens
GPIO 0: Force refresh
That's it. Flash and go.
Data fetching:
REST API for notifications
GraphQL for profile/activity (smaller payloads)
Only fetches active screen data
Only refreshes display when data changes
Power:
Deep sleep between updates (default 10 min)
Wakes on timer or button press
Web server runs 30 seconds after boot for config access
First boot creates AP: "NotificationHub" (password: configure)
Connect and go to 192.168.4.1

Four tabs:
Dashboard - Status, refresh button
WiFi - Network config, admin password
Providers - GitHub token and username
Settings - Update interval



Generate a Classic token with:
notifications
read:user
Add it in Providers tab.
Flash firmware
Connect to "NotificationHub" (password: configure)
Go to 192.168.4.1 (or whatever your network assigns)
Configure WiFi and admin password
Add GitHub token and username
Reboot
Updates every 10 minutes. Press buttons for manual control.
Used arduino-mcp - connects Claude/Cursor to Arduino CLI:
"Compile for ESP32"
"Upload to board"
"Convert this PNG to C array"
Way faster than copy-pasting commands.
Claude Desktop config:
{
"mcpServers": {
"arduino-uvx": {
"command": "uvx",
"args": ["arduino-mcp"],
"env": {}
}
}
}
GET /api/status # Current status
POST /api/refresh # Force refresh
POST /api/reset # Factory reset
ESP32 RAM is tight:
Paged API requests
Dynamic JSON buffers
Independent screen state
Display hibernation during sleep
Could add:
GitLab/Bitbucket support
Larger displays (4.2" or 7.5")
Historical graphs
Battery indicator
Webhooks for instant updates
3D printed case
Hardware: LILYGO T5 V2.3.1
Software: ESP32 Arduino, GxEPD2, ArduinoJson
APIs: GitHub REST + GraphQL, NTP
Code: github.com/niradler/github-dashboard-esp32-epaper
Arduino MCP: github.com/niradler/arduino-mcp
License: MIT | Cost: ~$15-20 | Time: 1-2 hours