ECE 26.1 Winter River


Seattle University - College of Science and Engineering sponsored by: Amazon Web Services (AWS)
Team: Leilani Gonzalez, Ton Dam Lam (Adam), William McDonald, Ezekiel A. Mitchell, Keshav Verma {lgonzalez1, tlam, wmcdonald, emitchell4, kverma1}@seattleu.edu
Overview
Winter River (ezekielamitchell.gitbook.io/ece-26.1-winter-river/) is a modular, tabletop-scale data center training simulator designed to bridge the critical skills gap in data center operations. Developed in partnership with Amazon Web Services (AWS), this educational platform provides hands-on experience with data center infrastructure systems without the cost, complexity, or risk associated with real facilities.
The project addresses a growing industry need: as of 2025, the U.S. operates over 5,400 active data centers with data center employment growing 60% from 2016 to 2023, yet qualified personnel continue to fall short of demand. More than half of U.S. data center operators report difficulty hiring qualified candidates, particularly for specialized skills in power distribution, thermal management, and infrastructure systems.
Winter River provides a physical, interactive learning environment where students, new engineers, and operations staff can experiment with data center configurations, observe system interdependencies, and practice emergency response scenarios in a safe, controlled setting. Each component module simulates real data center equipment, from utility power and generators to transformers, UPS units, PDUs, and server racks, creating an accurate representation of 2N redundancy power distribution architectures based on the Open Compute Project topology.
The system leverages embedded IoT architecture with ESP32 microcontrollers in each component, MQTT communication protocols, and a Raspberry Pi 5 central controller to enable real-time simulation of power flow, thermal conditions, and system failures. Visual feedback through OLED displays on each component and an optional dashboard interface provides immediate understanding of system states and cascading effects.
By combining physical modularity (plug-and-play components on a custom PCB baseplate), realistic simulation logic, and scenario-based training capabilities, Winter River transforms abstract data center concepts into tangible, memorable learning experiences that accelerate competency development and reduce operational risk.
Key Features
Modular Plug-and-Play Architecture: Custom PCB baseplate with USB-C connectors at each node location enables quick reconfiguration of data center topologies. Components attach and detach like breadboard circuits, supporting experimentation with different redundancy configurations and power paths.
ESP32-Based Smart Components: Each data center component (generators, transformers, UPS, PDUs, server racks) contains an ESP32-WROOM-32 microcontroller with an integrated OLED display showing real-time operational parameters (voltage, current, power consumption, temperature, fault status).
MQTT Publish-Subscribe Communication: Industry-standard MQTT protocol enables scalable, low-bandwidth communication between all components. ESP32 nodes publish sensor data and receive commands through a central Mosquitto broker, mirroring real industrial IoT architectures.
Raspberry Pi 5 Simulation Engine: Central controller calculates and broadcasts system-wide power flow, thermal conditions, and failure propagation in real-time. Implements 2N redundancy logic, cumulative rack loading calculations, and coordinated failure scenarios.
Open Compute Project Topology: Implements 2N redundancy power distribution architecture following OCP Open Rack V3 specifications. Dual power paths from utility/generator through transformers, switchgear, UPS units, and PDUs to server racks provide realistic redundancy training.
Scenario-Based Training: Automated failure scenarios including utility power loss with generator startup delays, UPS switchover events, cooling system failures with progressive thermal warnings, overload conditions leading to circuit breaker trips, and component removal/hot-swap detection.
Technical Specifications
Microcontroller
ESP-32 Development Board USB-C
Dual-core, WiFi/BLE, integrated OLED display interface
Central Controller
Raspberry Pi 5
Simulation engine, Mosquitto MQTT broker, system-wide calculations
Communication Protocol
MQTT Publish-Subscribe
Industry-standard, scalable, low-bandwidth IoT communication
Display
OLED per component
Real-time operational parameters (voltage, current, power, temperature, status)
PCB Architecture
Custom modular baseplate
USB-C connectors at each node, plug-and-play components
Power Topology
2N Redundancy
OCP Open Rack V3 specifications, dual power paths
Component Types
25 modules (12 Side A + 12 Side B + 1 shared)
Utility, MV switchgear, transformer, generator, ATS, LV dist, UPS, PDU, rectifier, cooling, lighting, monitoring, server rack
Simulation Features
Real-time system states
Power flow, thermal modeling, failure propagation, hot-swap detection
Development Platform
PlatformIO + Python
ESP32 firmware, Raspberry Pi controller scripts, GitHub CI/CD
Visualization
Grafana Dashboard
Real-time metrics, system topology view, historical data analysis
Performance Targets
Winter Quarter 2026
Proof-of-concept nodes operational
6–12 ESP32 nodes with MQTT
✅ Achieved
PCB design completed and ordered
Custom power distribution PCB
✅ Achieved
Firmware architecture established
Base ESP32 template for all primaries
✅ Achieved
Mosquitto MQTT broker running on Pi
port 1883, anonymous, persistence
✅ Achieved
24-node firmware written
All 25 envs in platformio.ini
✅ Achieved
Simulation engine (broker/main.py)
Topological sort + cascade logic
✅ Achieved
PostgreSQL schema (25 nodes)
secondary_parent_id, 2N support
✅ Achieved
Spring Quarter 2026
Full 2N redundancy hardware
25 physical ESP32 nodes on PCB baseplate
🔲 Planned
3+ automated failure scenarios
Utility loss, UPS switchover, cooling fault
🔲 Planned
Grafana dashboard deployed
Real-time visualization at :3000
🔲 Planned
InfluxDB / Telegraf integration
MQTT → InfluxDB live pipeline
🔲 Planned
Documentation complete
User + technical manuals
🔲 Planned
AWS delivery
Functional prototype delivered
🔲 Planned
Project Structure
Power Chain (Side A — 12 nodes)
①
utility_a
MV utility grid feed (chain root)
230 kV
②
mv_switchgear_a
Main disconnect & protection relay
34.5 kV
③
mv_lv_transformer_a
Step-down transformer 34.5 kV → 480 V
480 V out
④
generator_a
Backup diesel generator (ATS secondary input)
480 V
⑤
ats_a
Automatic transfer switch — utility or generator
480 V
⑥
lv_dist_a
LV distribution board — IT + mechanical loads
480 V, 384 kW
⑦
ups_a
Uninterruptible power supply (IT path)
480 V AC
⑧
pdu_a
Rack power distribution unit
480 V AC
⑨
rectifier_a
AC→DC rectifier (HVDC)
480 V AC → 48 V DC
⑩
cooling_a
CRAC/CRAH cooling unit
480 V AC
⑪
lighting_a
277 V lighting circuit
277 V AC
⑫
monitoring_a
DCIM / BMS monitoring systems
120 V AC
Side B mirrors Side A exactly with _b suffix on all node IDs.
Shared Node
server_rack
2N redundant server rack endpoint
rectifier_a (primary) + rectifier_b (secondary)
Key Configuration Files
esp32-nodes/platformio.ini
PlatformIO build environments (25 active envs)
broker/config.sample.toml
Template for runtime config — copy to config.toml
scripts/init_db.sql
PostgreSQL schema (25-node seed data, secondary_parent_id support)
deploy/mosquitto_setup.sh
Configures Mosquitto (TCP 1883, anonymous, persistence on)
deploy/winter-river-hotspot.service
Systemd unit for the Pi 2.4 GHz AP
scripts/setup_pi.sh
Run first — provisions the entire Pi stack end-to-end
scripts/status.sh
Checks all nodes + Pi services at a glance
grafana/telegraf.conf
Telegraf config — MQTT consumer → InfluxDB v2 bridge
grafana/.env.sample
Credential template; copy to grafana/.env before setup
Last updated