Skip to content

Releases: JoeyGE0/Scooter-LED-Controller

v1.0 dev3

22 Aug 23:13
9d808fb

Choose a tag to compare

v1.0 dev3 Pre-release
Pre-release

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 IDEPlatformIO
  • Single .ino fileModular .cpp + header files

Performance

  • No FPS control120 FPS frame-rate control
  • Basic loopOptimized frame-based loop
  • No performance monitoringReal-time performance tracking

Features

  • No color transitionsSmooth color transition system
  • Basic indicatorsEnhanced indicator system
  • No status LEDStatus LED system
  • No OTA uploadsFirmware upload system
  • No factory resetFactory 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

  1. Fix OTA Upload UI
  2. Add Power Button
  3. Add Effect Speed Control
  4. Improve Settings Persistence

Medium Priority

  1. Fix UI bugs
  2. Performance optimization
  3. 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

03 Aug 03:11
de576d9

Choose a tag to compare

v1.0 Beta 2 Pre-release
Pre-release

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)

  1. Add power button functionality - Missing event listener
  2. Implement ESP32 endpoints - /setEffectSpeed and /update
  3. Fix settings persistence - Ensure all settings save to flash

Medium Priority (Important)

  1. Fix UI bugs - SSID input, back button reliability
  2. Improve error handling - Better feedback for missing endpoints
  3. Test all settings - Verify each setting saves/loads correctly

Low Priority (Nice to Have)

  1. Code cleanup - Remove duplicates, optimize performance
  2. 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

08 Jun 05:48
de576d9

Choose a tag to compare

v1.0 Beta 1 Pre-release
Pre-release

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