Releases: yamanote1138/z-duino
Releases · yamanote1138/z-duino
v2.2.0: Add Yamanote E235 train favicon
Full favicon set depicting the front of a Yamanote line E235 train.
What's new
- Hand-crafted SVG favicon — green train body, dark windshield, grey Z badge, headlights
- All standard favicon sizes: SVG, ICO (16+32), PNG (16/32/180/192/512)
- Apple touch icon for iOS home screen
- Web app manifest for Android/PWA with Yamanote green theme
- Total favicon set: ~36KB — well within LittleFS budget
v2.1.0: Party Mode
What's New
- Party Mode — New button in the footer that cycles the status LED through random colours at varying intervals, giving the appearance of bopping along to music. Because every model railway deserves a disco.
- Clicking Party Mode keeps the throttle visible (no view switch)
- Clicking again returns the LED to normal status display
v2.0.0 — Nuxt UI + TypeScript
What's New
Complete frontend rewrite — the webapp has been migrated from Bootstrap 5 / vanilla JS / Options API to a modern stack:
- Nuxt UI — component library built on Tailwind CSS v4
- TypeScript — throughout the entire frontend
- Vue 3 Composition API —
<script setup>single-file components - Proper Vite project structure — composables, components, type safety
Frontend Architecture
useTrainController.ts— singleton composable with all state, WebSocket logic, and ramping- 6 Vue SFCs:
SpeedController,LedTestPanel,DebugModal,DirectionInvert,TrainHeader,TrainFooter - Icons via
@iconify-json/mdi(replaces Font Awesome)
Documentation
- Updated all docs (README, CONTRIBUTING, CLAUDE.md) for the new architecture
- Added concrete macOS setup instructions with Homebrew,
arduino-cli, and expected install paths - Documented full WebSocket protocol including
invert,led, andled_autocommands - Added RGB status LED to hardware parts list and wiring section
No Firmware Changes
The ESP8266 firmware is functionally unchanged — this release is purely a frontend and documentation update. The WebSocket protocol is fully backward-compatible.
Full Changelog: v1.1.0...v2.0.0
v1.1.0 - Emergency Stop Visual Feedback
What's New
Emergency Stop Visual Feedback
- Status LED now blinks magenta 4 times when the emergency stop button is clicked
- Provides clear visual confirmation that the emergency stop has been triggered
- LED automatically returns to its previous state after the blink sequence completes
Technical Details
- Blink sequence: 150ms on, 150ms off, 4 repetitions (1.2s total)
- Magenta color: RGB(1000, 0, 1000)
- Non-blocking implementation in StatusLED update loop
v1.0.1
Documentation
- Add Fritzing wiring diagram image to README
- Update corrected Fritzing source file (.fzz)
v1.0.0 — First Working Release
The Nerdery Express is open for business.
What's New
- It works. Webapp served from the ESP8266, train controlled from any browser at
http://ztrain.local - LittleFS fix — corrected the mklittlefs image size (253 blocks × 8192 = 2,072,576 bytes). The previous value (252 blocks) caused a silent reformat on every boot, destroying all packed files. See
docs/LITTLEFS.mdfor the full story. - Configurable MAX_PWM — top speed is now tuneable via
arduino_secrets.h(default: 500 out of 1000, roughly half voltage to the track — plenty for Z-scale) - Railroad name — configurable display name shown in the throttle UI header and browser tab, sent via WebSocket status messages
- Build script improvements — dependency checks, correct LittleFS parameters, better error handling
Hardware
- Wemos D1 Mini (ESP8266)
- TB6612FNG H-bridge motor driver
- 12V DC power supply
- Z-scale track + locomotive
Quick Start
cp firmware/z-duino/arduino_secrets.h.example firmware/z-duino/arduino_secrets.h
# Edit with your WiFi credentials
cd frontend && npm install && cd ..
./build.sh # Select option 7Then open http://ztrain.local in any browser.