Desktop application for intelligent aquarium lighting control. Generates custom light profiles with smooth linear fades, PWM flicker protection, and astronomical calculations based on geographic position.
- 6 predefined light profiles optimized for specific purposes
- Linear fading between profiles with smooth transitions
- PWM protection against flicker in the 1-3% range
- Astronomical sunrise/sunset calculations based on latitude/longitude
- Intuitive interface with time-slot visualization and timeline graph
- QR code for quick hardware configuration
- Import/Export configurations via hexadecimal code
Purpose: Simulates the natural day-night cycle for home aquariums.
- Sunrise: Gradual from dark to full light (22-92% intensity)
- Day: Full light with balanced spectrum (W:92, R:48, G:20, B:62)
- Sunset: Gradual dimming toward twilight
- Night: Residual blue 04% for circadian rhythm
- Plants: Suitable for mixed green and red plants
- Time slots: 05:16 (sunrise) → 21:12 (sunset)
Purpose: Minimal blue night light, ideal to avoid disturbing fish and plants.
- Channel: Only Blue active in all time slots
- Intensity: Progressive 10% → 30% → 60% (max at night) → 40% → 20% → 5%
- Other channels: Red, Green, White always off
- Observation: Watch inhabitants at night without stressing them
- Time slots: Moon active all night long
Purpose: Maximum aquatic plant growth, intensive Red for photosynthesis.
- Red: High 30%→75% at noon (peak red chlorophyll)
- Green: Moderate 15%→35% (full spectrum without waste)
- Blue: Low 10%→25% (regulates circadian rhythm)
- White: 0%→80%→100% (supplementary light)
- Optimized: For intense red plants and rapid growth
- Time slots: 05:16 (sunrise) → 21:12 (sunset)
Purpose: Balanced day/night cycle for a general aquarium.
- Balanced: All channels (W/R/G/B) rise together
- Day: Full warm white light (W:100, R:55, G:52, B:52)
- Night: All channels off
- Best for: Community aquarium, basic fish+plants
- Time slots: 05:16 (sunrise) → 21:12 (sunset)
Purpose: Maximum light output for fast and demanding growth.
- Day: All channels at 100% (W:100, R:100, G:100, B:100)
- Morning ramp: Start at 70% and rise to 100% at sunrise
- Evening: Reduced to 60% before dropping to 0 at night
- Purpose: Demanding plants, corals, accelerated growth
- Time slots: 05:16 (sunrise) → 21:12 (sunset)
Purpose: Minimal night light, moon observation only.
- Single channel: Constant Blue 04% across all 6 time slots
- Other channels: White, Red, Green always off
- Night observation: Visibility without turning on the whole aquarium
- Time slots: Fixed blue all night (00:00 → 20:00 → 00:00)
- Run
FZONE Light Studio.exefrom thebin/folder - The app starts at
http://127.0.0.1:8701/ - No additional installations required
- Click the 📍 Location button (left side)
- Enable geolocation or enter manually:
- Latitude: e.g.
45.0(north-central Italy) - Longitude: e.g.
9.0(eastern Italy) - Date: Current date or a specific one
- Latitude: e.g.
- Click Apply sunrise/sunset to calculate the times
- Click one of the profile icons at the bottom:
Sun & Moon- Sun and MoonBlue Moon- Blue MoonPlant Growth- Plant GrowthDay/Night- Day/NightFull Light- Full LightMoon Only- Moon Only
- The W/R/G/B values load immediately into the tables
- A linear fade (20 seconds) starts toward the new values
- Modify the percentage values in the time-slot tables
- Use the
timeinputs to set exact hours/minutes - Click Generate (Gen) to re-encode the QR config
- Use Import to load previous configurations
- 20 seconds per profile change
- 35 seconds for natural sunrise/sunset transitions
- Automatic protection: PWM values 1-3% become 0 or 4%
- Visible in the timeline graph area
- Click Generate QR to create the hardware configuration code
- Click Copy Hex to copy the hexadecimal code
- Use Import Hex to load saved configurations
- The format starts with
smartaqua_britefollowed by 68 hexadecimal characters
- Uses lat/lon positions for accurate sunrise/sunset
- Latitude:
45.0≈ San Benedetto del Tronto (43°N) - Longitude:
9.0≈ central Italy - Light duration: ~15-16 hours (mid-August)
- Format:
smartaqua_brite+ CRC validation bytes - 6 time slots × (Hour, Minute, W, R, G, B)
- CRC check bytes for integrity validation
- Compatible with SmartAqua Brite drivers
- Values in the 1-3% range are corrected automatically
- 0% = off, 4%+ = safe minimum value
- Prevents visible flicker on LED drivers
- Timeline: Horizontal graph with W/R/G/B channels
- Time slots: 6-hour tables with editable values
- QR Code: Quick hardware configuration
- Log: Debugging and real-time events
The app is pre-configured for:
- Latitude: ~45.0 (corresponding to ~43°N SBT)
- Longitude: ~9.0 (eastern Italy)
- Sunrise time: Around 05:16 (mid-August)
- Sunset time: Around 21:12 (mid-August)
- Day length: ~15-16 hours
Adjust values based on your aquarium inhabitants:
- Red plants: Increase the Red channel in the
growth/sunMoonprofiles - Green plants: The Green channel complements them in the same profiles
- Fish only: Use
moonOnlyormoonBlueat night - General aquarium:
dayNightoffers optimal balance
assets/js/main.js- Core logic, fade, validationassets/js/presets.js- 6 optimized light profilesassets/js/i18n.js- 20-language supportassets/css/style.css- Styling and page zoombuild/build.bat- Windows EXE compilation
- Linear fade: Smooth transition between profiles (20s)
- PWM protection: Prevents flicker in the 1-3% range
- Optimized profiles: Values consistent with each profile's name
- Sunrise/sunset fade: 35 seconds for natural realism
- Localization: Sunrise/sunset times are based on the entered coordinates
- Fade: Transitions are visible but not disruptive
- PWM: The 1-3% protection is automatic and irreversible for stability
- Profiles: Each name matches its intent (moonBlue = blue, growth = red, etc.)
- Backup: Use Import/Export Hex code to save configurations
For issues or suggestions:
- Check the browser console (F12) for errors
- Geolocation requires browser permission
- PWM values 1-3% are automatically protected
FZONE Light Studio - Aquarium Lighting Control