ESP32-powered e-paper display showing real-time public transport departures and weather information
- π Real-time departures from German public transport (RMV API)
- π€οΈ Weather information from German Weather Service (DWD)
- π± Mobile-friendly web configuration - no app installation needed
- π Ultra-low power with deep sleep (months of battery life)
- π‘ WiFi connectivity with automatic location detection
- π Privacy-focused - all processing happens locally on device
- π¨ E-paper display - outdoor-readable, low power consumption
- π Physical buttons - quickly switch display modes
- π OTA updates - update firmware over WiFi
- ESP32-C3 Super Mini - Compact, cost-effective
- ESP32-S3 - Enhanced performance, battery monitoring
- 7.5" E-Paper Display (800x480) - GDEY075T7 or compatible
Wire your ESP32 to the e-paper display. See detailed pin connections:
- Hardware Assembly Guide - Wiring diagrams for ESP32-C3 and ESP32-S3
# Clone repository
git clone https://github.com/yourusername/mystation.git
cd mystation
# Build and upload with PlatformIO
pio run --target upload
pio run --target uploadfs- Power on your device
- Connect to
MyStation-XXXXXXXXWiFi network - Open browser and configure:
- Your home WiFi network (2.4 GHz only)
- Preferred transport station
- Display preferences
π Complete Quick Start Guide
- π User Guide - Setup, usage, and troubleshooting
- π Quick Start - Get running in 15 minutes
- π Button Controls - Using physical buttons
- π± Understanding Display - Display modes explained
- π§ Troubleshooting - Common issues and solutions
- π» Developer Guide - Architecture and development
- π§ Hardware Assembly - Pin connections and wiring
- βοΈ Development Setup - Build environment
- π§ͺ Testing - Testing procedures
- π Run Book - Operational procedures
- π API Integration - Setting up API keys
- π¨ Display System - Display architecture
- π Boot Process - Device boot flow
- π Configuration Keys - All configuration options
MyStation is designed for simplicity and efficiency:
- ESP32 Controller - Manages WiFi, deep sleep, and data fetching
- E-Paper Display - Low-power outdoor-readable screen
- Web Interface - Easy configuration via WiFi
- APIs - Google Geolocation, RMV Transport, DWD Weather
- Deep Sleep - Battery-optimized operation
flowchart LR
ESP32[ESP32 Device] -->|Location| Google[Google API]
ESP32 -->|Departures| RMV[RMV API]
ESP32 -->|Weather| DWD[DWD API]
ESP32 -->|Display| EPD[E-Paper]
User((User)) -->|WiFi Config| ESP32
MyStation supports three display modes:
- Half & Half - Weather + Departures side-by-side (landscape)
- Weather Only - Full screen weather information
- Departures Only - Full screen departure board
Switch modes using physical buttons or web interface.
π Display System Documentation
- Deep Sleep: <50ΞΌA between updates
- Active Mode: ~100mA during data fetch
- Battery Life: 2-4 months with 2500mAh battery (5-minute updates)
- Smart Scheduling: Reduced updates during night hours
π Boot Process & Power Management
- Transport: Hesse, Germany (RMV network)
- Frankfurt, Wiesbaden, Kassel, Darmstadt, etc.
- Trains, buses, trams, S-Bahn
- Weather: Germany and surrounding areas (DWD)
- Extensible: Adapt for other regions/APIs
- PlatformIO IDE (VS Code recommended)
- ESP32-C3 or ESP32-S3 development board
- API keys (Google, RMV)
βββ docs/ # Documentation
βββ include/ # Header files
β βββ api/ # API interfaces
β βββ config/ # Configuration
β βββ util/ # Utilities
βββ src/ # Source code
β βββ api/ # API implementations
β βββ config/ # Configuration management
β βββ display/ # Display rendering
β βββ main.cpp # Main application
βββ test/ # Unit tests
βββ platformio.ini # Build configuration
- Fork the repository
- Create feature branch
- Test thoroughly
- Submit pull request
π Development Guide
This project is licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0).
- β You can use this software for personal or commercial purposes
- β You can modify the code to fit your needs
- β You can distribute the software and modifications
β οΈ If you modify this code, you must release your modifications under LGPL-3.0β οΈ If you distribute, you must include the source code or provide access to it- β You can link this library with proprietary software without making your entire application LGPL
- Modifications to this code must remain open source (LGPL-3.0)
- Applications using this library can remain proprietary
- Commercial use is permitted
- Patent grant and protection included
See LICENSE for the full license text.
This project uses the following open-source libraries:
- GxEPD2 - GPL-3.0 (E-paper display driver)
- ArduinoJson - MIT
- WiFiManager - MIT
- ESPAsyncWebServer - LGPL-3.0
- U8g2 - BSD
π Ready to build your own departure board? Start with the Quick Start Guide β