Releases: JoeyGE0/Scooter-LED-Controller
v1.0 dev3
v1.0 Beta 3 Release Notes
Pre-release - Complete architectural overhaul with major performance and feature improvements
📋 Summary
Complete rewrite from Beta 2 with PlatformIO migration, performance optimizations, and new features. Major improvements in LED control, indicator system, and overall stability.
✅ What's New
Added
- PlatformIO Migration - Better development environment
- Color Transitions - Smooth color changes with configurable duration
- Enhanced Indicators - Immediate start detection, first flash duration, side reversal
- Status LED - Basic status monitoring with boot patterns and pulsing
- Frame-Rate Control - 120 FPS LED updates
- Background Loading - Fast boot with essential settings
- Performance Monitoring - Real-time performance logging
- Static File Serving - Proper caching and CORS support
- OTA Firmware Updates - Complete firmware upload system
- Factory Reset - Complete system reset functionality
- Runtime LED Configuration - Configurable LED count up to 300 LEDs
- Web App Manifest - Can be installed as web app (better than captive portal)
- FastLED Update - Updated from 3.6 to 3.10.1
Improved
- Architecture - Modular code structure with proper C++ organization (easier to maintain)
- Performance - Optimized frame-based loop, WiFi optimization (faster response)
- Settings Management - Modular settings parsing with validation (more reliable)
- Network - Optimized for iPhone connections (better compatibility)
- Error Handling - Comprehensive error checking (more stable)
Fixed
- Boot Speed - Fast boot with background initialization
- Memory Management - Increased LED array size, heap monitoring
- Indicator Timing - Immediate start detection, configurable flash durations
- Color Picker - Sends on finger release to prevent overload
🔧 Technical Changes
Development Environment
- Arduino IDE → PlatformIO
- Single .ino file → Modular .cpp + header files
Performance
- No FPS control → 120 FPS frame-rate control
- Basic loop → Optimized frame-based loop
- No performance monitoring → Real-time performance tracking
Features
- No color transitions → Smooth color transition system
- Basic indicators → Enhanced indicator system
- No status LED → Status LED system
- No OTA uploads → Firmware upload system
- No factory reset → Factory reset functionality
🐛 Known Issues
- OTA Upload UI - Still broken, use PlatformIO OTA for development
- Power Button - Not implemented
- Effect Speed Control - Not implemented
- Some settings - May not persist after power cycle
- still many more bugs!
🚀 Next Steps
High Priority
- Fix OTA Upload UI
- Add Power Button
- Add Effect Speed Control
- Improve Settings Persistence
Medium Priority
- Fix UI bugs
- Performance optimization
- Additional effects
📈 Progress vs Beta 2
- Architecture: 🟢 Major improvement
- Performance: 🟢 Major improvement
- Features: 🟢 Major improvement
- Stability: 🟢 Major improvement
- User Experience: 🟢 Major improvement
🎉 Bottom Line
Complete transformation from Beta 2 with better development tools, performance improvements, and new features. Provides solid foundation for future development.
📝 Hardware Requirements
- ESP32 development board (tested on ESP32-S3, compatible with other ESP32 chips)
- WS2815 LED strip (up to 300 LEDs)
- GPIO pins for brake, indicators, and light toggle (using opto)
v1.0 Beta 2
Pre-release - UI improvements with limited functional progress
📋 Summary
This release focuses on UI/UX improvements while most backend functionality remains incomplete. The settings page has been completely redesigned, but critical features like the power button and effect speed control are non-functional.
✅ What's Working
Core Features (Still Functional)
- Color Picker - LED color selection works
- Effect Selection - Basic effect switching works
- Settings Form - All settings inputs exist and validate
UI Improvements (New)
- Settings Page Redesign - Collapsible sections, organized layout
- Real-time Updates - Live value display for sliders and inputs
- Unsaved Changes Indicator - Visual feedback when settings modified
- Enhanced Error Messages - More detailed error reporting
- Modern Glassy Theme - Backdrop blur effects and improved styling
❌ What's Broken
Non-Functional Features
- Power Toggle Button - UI exists but no event listener (completely dead)
- Effect Speed Control - UI exists but ESP32 endpoint missing
- Firmware Upload - UI exists but ESP32 endpoint missing
Settings Issues
- Settings Persistence - Some settings don't save after power cycle
- Settings Loading - Some settings don't load properly
UI Bugs
- SSID Input - Keyboard won't close in captive browser (Safari works)
- "Back to Main" Button - Unreliable, requires multiple presses
- Boot Effect Toggle - Glitchy behavior
- Indicator Toggle - May not save to flash
- Color Transition Time - May not save to flash
🔧 Technical Details
Frontend Implementation Status
- ✅ Settings page structure and validation
- ✅ Real-time input updates
- ✅ Error handling and notifications
- ✅ Unsaved changes tracking
- ❌ Power button event listener
- ❌ Effect speed backend integration
- ❌ Firmware upload backend integration
Backend Endpoints Needed
/setEffectSpeed- For effect speed control/update- For firmware uploads- Improved
/setSettings- For reliable settings persistence - Improved
/getSettings- For reliable settings loading
🎯 Next Steps Priority
High Priority (Critical)
- Add power button functionality - Missing event listener
- Implement ESP32 endpoints -
/setEffectSpeedand/update - Fix settings persistence - Ensure all settings save to flash
Medium Priority (Important)
- Fix UI bugs - SSID input, back button reliability
- Improve error handling - Better feedback for missing endpoints
- Test all settings - Verify each setting saves/loads correctly
Low Priority (Nice to Have)
- Code cleanup - Remove duplicates, optimize performance
- Additional effects - More LED patterns and transitions
�� Progress vs Beta 1
- UI/UX: improvement (major redesign)
- Functionality: improvement (mostly cosmetic)
- Stability: improvement (better error handling)
- Backend: improvement (more stable)
Bottom Line: This is primarily a UI redesign with minimal functional improvements. The next version needs to focus on backend implementation and fixing the broken features.
v1.0 Beta 1
This is so early in DEV and is being created by me + ChatGPT. This equals a bad combo, which means it's going to be a bit unusual or not optimised.
This currently does function and can be used- with limited functions and effects:
✅ Change colours
✅ Change effects
✅ Pulls current settings from the server
✅ Opens settings page
🔧 A couple Feature Gaps to mention:
❌ No current effect transition logic (e.g. fade between colours or effects)
❌ No customisation In settings page or limited working features in UI
❌ No brightness master slider (Only changes colour code)
❌ No UI for saving preferences beyond /setColor and /setEffect URLs
❌ Boot effect doesn't fade into selected effect — abrupt switch
❌Settings like effect speed, trail mode toggle, etc., are hardcoded — no UI control
Code/Structure Issues
runEffect() and runUnderglow() are duplicated — only runEffect() is used
🎨 Saved colours may fail if hex string isn’t properly padded