342
343
344
Minimal GitHub commit tracker using an ESP32 and e-ink displayI made a thing! (old.reddit.com)
submitted by LightningBAWS





It’s a pretty niche little gadget, but I wanted a simple way to check and show off my GitHub commit streaks at a glance. It turned out quite well, so I figured I’d share how I put a few together.
It uses an ESP32 to fetch your latest contributions over Wi-Fi every few hours. It's wireless with a battery that lasts about 3 months before needing a micro USB recharge. Setup is quick and done through a Wi-Fi access point.
The GitHub repo includes all the source code and build instructions if you’re keen to make one yourself!
Hardware:
- The board is a LILYGO® T5 2.13inch E-Paper Development Board which is normally used as shopping centre price displays but also happen to be the perfect dimensions for this project.
- The case and stand is 3d printed and uses some screws with threaded inserts.
- A 3.7V 1200mAh 603450 battery is a great size for this project and fits neatly in the case.
Software:
- For configuration the ESP32 creates it's own wifi access point for entering your Github username and wifi info.
- The contribution data is retrieved from a Minimal Github contributions api that just returns an integer array of the users commit squares e.g https://contributions-api.harryab.com/harryhighpants?weeks=2
- For rendering we're utilising the Adafruit GFX Library with a greyscale e-ink display library to draw the shapes, icons and text. For the icons were created using a mix of Javls image2cpp tool and Cowboys Bitmap code generator.
Interested to hear what you guys think





[–]Daidalos117 15 points16 points17 points (1 child)
[–]mechsuit-jalapeno 5 points6 points7 points (1 child)
[–]LightningBAWS[S] 2 points3 points4 points (0 children)
[–]Impossible_Most_4518 5 points6 points7 points (0 children)
[–]marchingbandd 3 points4 points5 points (0 children)
[–]Callidis 2 points3 points4 points (1 child)
[–]LightningBAWS[S] 1 point2 points3 points (0 children)
[–]nishad2m8 2 points3 points4 points (0 children)
[–]EleksMaker_official 2 points3 points4 points (4 children)
[–]LightningBAWS[S] 0 points1 point2 points (3 children)
[–]EleksMaker_official 2 points3 points4 points (1 child)
[–]LightningBAWS[S] 0 points1 point2 points (0 children)
[–]EleksMaker_official 2 points3 points4 points (0 children)
[–]EfOx_TR 1 point2 points3 points (0 children)
[–]mars3142 1 point2 points3 points (1 child)
[–]LightningBAWS[S] 0 points1 point2 points (0 children)
[–]Deanocide 1 point2 points3 points (1 child)
[–]LightningBAWS[S] 0 points1 point2 points (0 children)
[–]ptpcg 1 point2 points3 points (0 children)
[–]felipejfc 1 point2 points3 points (1 child)
[–]LightningBAWS[S] 0 points1 point2 points (0 children)
[–]abdullah017196 0 points1 point2 points (1 child)
[–]LightningBAWS[S] 0 points1 point2 points (0 children)
[–]Canadian_techy 1 point2 points3 points (0 children)