Real-Time BART Display

Goal
I was conversing with my brother on projects I could make over the summer and my brother suggested making a transit display. And as he lives in San Franscisco and often uses the BART service I found myself wanting to make a mini transit arrival display for his station.
Hardware
BART API
The Bay Area Rapid Transit [BART] has an amazing site online where all you need to do is apply for a key and you get public access for real-time changes for their public transportation. As long as this applies for any other city this project is readibly adjustable to other places of public transportation.
Firmware
The main I2C communication between OLED and MCU were provided by the suppliers on their [website] and all of the code and everything else is posted on my github [Here].
Prototype
Following the connection rules given by the OLED supplier and adjusting pins for a ESP8266 as the supplier assumes for ESP32.

This was the working prototype for the display.
Schematic
All of the PCB work was designed using KiCad. I referenced the NodeMCU [Repository] a lot for understanding the connections and the eventual layout of everything.
This is the USBC 5V input. It uses two pull down resistors and two decoupling capacitors with no data pins.

These are the female head pins connections connected through the NodeMCU.

Thess are the female header pins mirrored to the OLED display.

This converts the 3.3V ESP logic to the 5V OLED logic and vice-versa.
PCB Design
The basic design is two ground planes with everything routed in between as orderly and organized as I could.

My final design for the PCB.
Case Design

A modeled design made in Onshape [Here].
Demo
This is the final working design in action.
Overview
Overall this project was a great learning experience whether it was designing a PCB in KiCAD for the first time, improving my modeling skills in CAD, or understanding and encoding a MCU through a ESP to display something on and OLED.
Inspiration & Credit
- This reddit post by u/fil1983 turned out a surprising and helpful find. Their suggestion of display was spot on and it gave me a lot of inspiration to do this project.
- The BART GTFS Realtime publically gives out their transit data.
- NodeMCU website with a lot of helpful info.
- NodeMCU Github was amazing for making models in kicad and for general firmware.
- This tutorial was great for understanding the proper usage of decoupling capacitors and pulldown resistors for a USB-TypeC.
- The OLED Webpage contains datasheets, 3d models, an interfacing guide, and all the code needed to function on a ESP chip.
- My greatest source of motivation when making this project has to be my brother. He helped me in doing most of the 3d Modeling CAD work and I would have never started this project without his suggestion.